Software Developer Career Tips: Extracurricular Programming.

Date: 2019-10-27

Time to Read: 3 Minutes

Tags:

Comments

Photo By: Chris Ried

Now Going Forward After Graduation

Even if you’re happily employed, there is value in understanding your own market value and attractiveness to potential employers even if you’re not completely interested in leaving your current post. Additionally, there is also value in raising this market value in the future scenario that you do more actively pursue a change in employment. It’s easy for a fully-employed person (especially one with a small family) to find themselves lagging behind their competition in the untimely scenario of losing their job; especially if their current job doesn’t present an opportunity to grow their skill set in a manner that is more applicable to the demands of the broader market.

Continuous education is a requirement of most knowledge worker occupations; but sometimes it feels like software development turns this up to 11. It oftentimes feels like employers expect that in addition to programming at work, you should program at home on your own personal projects or contribute in some manner to the open-source community. The stories of software developers dosing on amphetamines to stave off fatigue as they attempt to churn out code for both their employer and their own personal portfolio isn’t unusual. And don’t forget speaking engagements and research papers. I’m kidding. Kinda.

My recommendation when it comes to extra-curricular programming?

When I undertake the possibility of programming a side-project, I try to take into consideration the following:

Can I use it as an opportunity to learn and gain experience in a new technology that I haven’t learned? Can it be monetized to provide a passive stream of income or can it eventually be turned into a business? Am I doing it on behalf of a client (e.g., freelance work) and thus receiving compensation in that form?

I try to look for some sort of value in the work that I am doing that extends beyond simply programming for programming’s sake. This is even more important in the situation that you have a small family that also makes demands on your available time. This added value also provides an additional element of interest to the interviewer when you’re talking about your personal projects (if prompted of course). 

Which brings me to my next point, before the non-technical portion of any specific interview: refresh your knowledge on any past project of relevance and prepare essentially an elevator pitch describing the project and your development of it. A short description, any obstacles or features of interest during development, and your approach or solution(s). This short structured approach is handy and something that I wished I had followed during a phone interview where the interviewer asked about a work project and I proceeded to spend a unnecessary amount of time trying to recall too much detail in an un-directed and almost rambling-like manner. So this is applicable to work projects in your prior experience as well.

What about Open Source project contributions?

I can’t speak very much on contributing to the open source community since my only attempt up-to this point has been resolving a minor node package feature issue that I discovered in the development of my personal website. However, despite my inexperience, I can recognize the benefits of the quasi-volunteer work of open source contributions. Namely, unlike working as a cowboy coder on your own personal projects with very little accountability to anyone else in a technical role; there is a certain satisfaction in having your programming efforts and code quality validated by your pull request having been accepted. Additionally, you learn how to collaborate in a remote fashion to a software development project; adapting to their existing naming conventions, idioms and guidelines, and you also gain a multitude of experience in setting up the development environments for each project that you undertake. And lastly, but also critically important, you learn how to read and navigate the code of people other than yourself which you can later use the same techniques that you learned from said code in your own future projects.

Though it may not be of much value to the hiring manager or recruiter of a prospective employer (unless they obsess over seeing a ton of green boxes on your GitHub contributions timeline); the value that it adds to your own ability as a software developer and computer scientist is great. The whole previous paragraph, honestly, has somewhat inspired me to address my own inexperience in this area.

So where to begin? Well, you could start with any open source tools that you currently use or have intimate knowledge of as a user, though you may find some open source projects are more welcoming of novice contributors than others. However, I will point you toward what I believe to be an ideal starting point.

First Timers Only

Software Developer Career Tips

12 February, 2020
A collection of posts detailing much of the information that I've learned in recent years when considering a significant career move.
View All 15 Posts
Like what you read? Don't? Discuss it.

About

Blake Adams is a writer, software developer, technical consultant, and financial independence enthusiast living in Oxford, MS.

Latest Posts

Software Developer Career Tips: Closing Thoughts

12 February, 2020

Read More...

Fitness Series: Illnesses and Injuries, Make a Contingency Plan

03 February, 2020

Read More...

Software Developer Career Tips: The System Design Phase

27 January, 2020

Read More...

Software Developer Career Tips: The Technical Phase

21 January, 2020

Read More...

Software Developer Career Tips: Do Your Preliminary Research

13 January, 2020

Read More...

Latest Booknotes

The Power of Habit

19 December, 2019

Read My Highlights in 9 Minutes

Rich Dad Poor Dad

14 October, 2019

Read My Highlights in 10 Minutes

Atomic Habits

19 August, 2019

Read My Highlights in 16 Minutes