This week, I published Matt Biilmann's #DevJourney story on my eponym Podcast: Software developer's Journey. Among many other things, here are my main personal takeaways:
- Matt's story with computers started with a handwriting problem. A teacher advised his parents to buy a C64 "to see if that may help him write stuff." Matt not only learned to type but also to program. Fast forward a few years, he found himself a very busy hobby-programmer, building CMSs and tools for communities, while studying musicology. Even then, he was convinced that "out there, the real programmers were building stuff, but he was just messing around." It took meeting more professional programmers and CS-graduates to realize that "no-one knew what they were doing in reality."
- Following his heart, Matt moved to Madrid. Out of necessity, mostly because there wasn't a lot of need for Danish musicology specialists there, he started building a portfolio and got a "pro bono" job working with Roby on Rails with a Denver-based startup. But he found his first "real job" after attending a Rails conference in Madrid. He met other attendees during the after-conference-party and ended up joining their company a few weeks later. Again another proof that conferences are for networking, not for the talks!
- "To be a really good developer, you have to have a very high tolerance for frustration". With more parallelism, we are going to need even better tooling and architectures. This is one of the reasons why Matt believes so much in the JAMStack. The idea of the JAMStack is to decouple the presentation and backend layers and then bring the UI as close to the user as possible and bring data in as needed. A bit like the mobile apps paradigm.
- The idea gelled when Matt observed the sites he was building and the emergence of Angular and Amber. He thus realized that "there wasn't any good reason why you couldn't take all the HTML, precompile it and bring it from the caching layer instead of the webserver". While those ideas were "easy", Matt realized that the tooling was missing. Doing so, one would need a CI/CD pipeline, object storage, caching-layers, atomic-deploys, staging-environments, synchronizing-data sources around the world during build time, etc. and this is not something a team could spin up in a few weeks, let alone do for a client. This JAMStack architecture wasn't viable without this. So this is what Netlify was born to solve.
- Matt soon faced the question of what to build first. He searched for a piece that would bring value in itself and validate or invalidate the whole idea. It was named bitballoon, which became "Netlify Drop", and was a simple service on which you could drag a drop the output folder of your website and get back an URL where the site would then be deployed. Netlify then grew from there, one step at a time, serving customers already from day-1.
- "When learning something, don't remain theoretical, start building and bringing it in front of people... and make sure you have a high tolerance for frustration... and celebrate every little victory you get"
- "Be open-minded to change and opportunities"
- "To be a really good developer, you have to have a very high tolerance for frustration"
- "To be effective as a programmer, you have to narrow the scope of what you need to understand"
Thanks, Matt for sharing your story with us!
You can find the full episode and the show notes on devjourney.info.
Did you listen to his story?
- What did you learn?
- What are your personal takeaways?
- What did you find particularly interesting?