data engineering
Contact

My long and winding road to becoming a data engineer

Jan 14, 2026

This has been my learning lifecycle when it comes to programming languages:

  1. Start learning language.
  2. Learn the very bare minimum to viably produce a project idea that comes to mind.
  3. Start voraciously working on that one project, during which I continue learning, but in a very unstructured manner.
  4. Mostly finish project.
  5. Focus on the project more than the language I was trying to learn.

Is it all bad? No, I've built a bunch of things that people actually use. For example, I recently relaunched nycsoccer.com, which is the second biggest organized soccer league in NYC. I got to learn how to use queues and caching of API results from our league management software.

I've probably done this 5 or 6 times. Some examples include:

  • In 2006, a friend of mine was reading "PHP and MySQL for Dummies." I borrowed it. Yes, this is how most learning happened, even in 2006. As soon as I learned how to get URL parameters and connect to MySQL, I jumped directly into making my first content management system. And somehow, through hours of toil and frustration, I did it: I created a website to stream videos created by my video production student organization. It was pretty cool for the time and had actual, repeat visitors. Did I take the time to learn how to structure a web project or even how to safely store database credentials? Nope, I just learned the bare minimum to make something. I didn't even know about version control.
---
Last update: Mar 11, 2024
Privacy