Where is your beginner’s code? You know, the code you wrote when you were first learning how to program.
If you started your developer journey after the advent of social coding sites like GitHub, chances are probably good that you learned to
push early and often to your public repositories (that I would wager you use as part of your programming portfolio), and so you likely have a complete history of all the coding you have ever attempted.
But what about if you are a bit older, and you either taught yourself, or learned software engineering at one of those highfalutin tertiary education facilities like a university (think coding bootcamp but it takes years to graduate)? Is your beginner’s code resting in stasis on some hard drive in your junk drawer? Or, maybe just lost to the sands of time…?
If you do not know, go look for it. If you find it, see if it still runs. If it works, make it public.
You Will Be A Jedi. I Promise.
Looking through your beginner’s code may make current-you cringe, but much like the old photo albums containing pictures of you with that goofy smile and crazy hairstyle that will surely never come back into fashion again, that code is a part of the story that made you the developer you are today. Be proud of it!
Releasing it publicly can contribute to our shared history of how coding was taught and learned: what languages were in vogue for teaching programming, and what kinds of exercises were used to help students grasp programming concepts.
Furthermore, junior developers who are just starting out on their journey, doing it tough, and probably battling impostor syndrome, can look at your tire fires and feel a bit better by being shown they should not expect to write great code immediately.
There’s Always A Bigger Fish
In a previous post, Oi! Kochi: Japanese Feature Phone-driven Development, I made my first web site, what I would call my pre-beginner’s code, public. So, to complement that, here is my beginner’s code from when I was studying at the University of South Australia:
- LMIF (LMIF was the course program code)
Now, This Is Podracing!
I enjoyed doing the minor repairs and documentation required to get this codebase in a releasable state.
Re-visiting the assignments brought back fond memories I have from my time doing this course: I had excellent professors and lecturers, some interesting assignments, and great classmate team members on my group assignments, some of whom are still friends to this day.
Stepping back and re-looking at it again without the nostalgic elements, though, there are a couple of observations I can make about the course and myself:
- The course went all-in on Java (J2SE 1.4). Nearly all programming done for any subject that required it was in Java. The single non-Java programming course I had was named “C++ for Java Developers”, in case it needed to be made any clearer where the course’s priorities were. In hindsight, it would have been nice to have been exposed to a dynamic language like Ruby or Python as well, but I understand why they just decided to focus on one primary language, that at the time look poised to take over the world (and it kind of did, at least for enterprise software, but when was the last time you used a Java applet on the web?).
- It is clear to me that even by the end of the course, I had still not really gained an intuitive grasp of Object-orientated programming, functions, or code reuse (1000 line functions in a single class with lots of repetitive code is not something I would do or encourage today). But, hey, I passed the subjects, so…
Are You An Angel?
If you have been diligently documenting your developer story as you have been creating code, you definitely have more foresight than I did. But, for those like me who were missing chapters from their story, it is never too late to retrieve those pages!
Breath some life into your old code and get it out into the world!