My journey as a programmer
What early exposure to Cobol can do to you.
Originally published at https://medium.com/@codeflows/my-journey-as-a-programmer-65b707b04690, updated for 2024!
1980s — Drawing on the flip side of Cobol listings my dad printed out at work. Sadly did not learn the language.
1990s — A friend wrote a game in Pascal (I think). I opened the compiled binary in DOS and wondered how anyone could understand it.
1996 — First used Netscape. Started learning HTML.
1997 — Wrote an intranet system for our high school with ASP, learned how to store data in Access, bought my first Java book.
1998 — First summer job. Modified regexp-heavy Perl scripts without understanding them. Wrote a Java applet that did all the drawing in a busy loop on the UI thread. Started getting into Dynamic HTML — document.layers
anyone?
1999 — Built a website for a bank. Minimum browser requirement was IE3.
2000 — Learned (too much) XML and XSLT. Implemented an intranet for a computer gathering using EJBs because why make things simple.
2003 — Wrote a school assignment in O’Caml because it got me extra points. Fell in love with pattern matching and functional programming.
2004 — Probably quite a lot of Spring Framework and Hibernate. Dark times.
2005 — Got seriously into TDD. Like way way seriously. Left a job because I wasn’t allowed to write tests. Discovered Ruby on Rails in the 0.1 era but apparently placed my bets in other technologies. Probably not the best move in hindsight.
2006 — Started working at Reaktor. Was allowed to write tests.
2007 — Read Domain-Driven Design, Refactoring and other classics. Heavily under the influence to this day.
2008 — Probably started to realise mocks and unit tests aren’t always the right answer. Started learning Wicket and Ajax.
2009 — Learned some Scala but it never really stuck with me.
2010 — Haskell. Oh my.
2011 — First wrote node.js. Still doing most of my work in it. Started a 2-year project writing a modern (at the time) SPA with Backbone.js and jQuery in the frontend.
2014 — Deployed my first app in AWS. Learned Bacon.js and FRP.
2015 — Started developing on iOS. Started with Swift, had the questionable pleasure of maintaining some Objective-C as well.
2016 — Wrote working Python, Go, Erlang and Rust code for the first time. Also wrote a metal album and became a dad. Still not sure how I did it.
2017 — react-native iOS/Android app, devops with Ansible.
2018 — Joined a startup. Built an awesome and much-loved service for doctors. Used Kafka and later questioned my choices.
2021 — Started another company. Shipped software in a highly regulated environment.
2023 — New product startup. At this point, I can’t think of a better day-to-day language than TypeScript.