Code Generation

Using software that makes software is like having super powers

These videos are intended for software developers, engineers, analysts, shell-scripters, and data engineers to gain an understanding of code generation and it's impact across the software space, and presents high-level ideas on places it can be used today.

We'll use the NeuronSphere Mickey code generating tool to demonstrate many of these concepts in a future video series.

1.0 - Overview and Brief History

  • Code Generation is everywhere in software
  • There is broad variety of code generators
  • Learning this will make you a better developer
HubSpot Video


1.1 - General Code Gen Structure

We'll introduce the example Person and Bike using "simple config" and talk through the logical flow and major elements in a code generating pipeline

HubSpot Video

1.2 Looking at a few high-level challenges

Switching to using structured text as an input, we develop more detailed examples of outputs.  Type systems and common challenges are introduced.

HubSpot Video

1.3 Reuse and Extensibility Considerations

Reuse and extensibility take on a few forms when considering the primary code generation use cases, which we explore here.

HubSpot Video

1.4 Reuse and Extensibility concerns

Is your code generator a specific saw or a swiss-army knife?  Can you add a new attachment later?

HubSpot Video

1.5 - GUIs, Visual modeling, and metadata extraction

They're so pretty, and easy to get started with.  Let's dig into considerations for visual modeling.  Closely related, we'll also cover 'metadata extractors'

HubSpot Video

1.6 SDLC, CI/(CDD), and Integration/Usage

How does code generation fit into the SDLC?  What if we're doing CI, or CD?

How many ways can you interface with or extend a code generator?

HubSpot Video

1.7 - SQL Models and SQL Generators

Relational structure generation is a complete subclass of tools.  Finally we'll talk about dbt, a little bit.

HubSpot Video