11 February 2019

#005 - Open Source Contributions and Repos vs Commercial Experience

I am keen to learn whether recruitment managers and agencies are only interested in GitHub contributions and repos or closed-source commercial projects.

I suspect recruitment managers will have a better understanding of the business needs, as they will have direct communication with the team leader / department manager. Therefore, they will possess a technical framework, which may feature a list of technical merit and desirable qualifications. Whereas, recruitment agencies will typically headhunt talent with a strict technical skillset to secure their generous commission rates.

Both parties will have similar agendas, yet both will likely pursue the exact type of skilling of a famed candidate. However, I am not convinced recruitment agencies will care about the character of the candidate, because business is business.

I am generalising the above from what I have read and experienced across organisations from different sectors. All my past and present jobs have been direct with the divisional manager of the advertised role. But since I will be elevating my playing field later this year, I may need to consider playing a curveball.

However, it is comforting to learn that with software development roles with major tech companies, it looks like one can avoid the recruitment agencies and apply direct to the company themselves, much like what I have been doing for much of my career. In that case, I suspect the receiving end will be either a recruitment manager, or it will be an HR assistant (or an HR hiring manager) who will sift through applications before it reaches the team leader / department manager direct.

My only concern with regards to major tech companies is that they are non-existent to where I live. So if I fancy a software development role in the local city, I will need to resort to recruitment agencies. However, I am never convinced that a recruitment agency has the technical knowledge, other than a firm understanding of the trending jargons and lingo like 'cybersecurity', 'cloud technologies', 'Office 365', etc.

This can be cumbersome for the job seeker, who is more than passionate to talk about their work and past projects, but the technical language may pass over the heads of a recruitment agent. I have once heard of a recruitment agent on the 'Code Newbie' podcast (S04E04) who is also a bonified software developer, so it's interesting to learn that there are recruitment reps who understand the technical side of software development.

So why the versus battle? No biggie, as I am busy learning good programming principles using different mediums and resources. In addition, I am taking the time to craft a unique portfolio that will showcase commercial works using new technologies, with some open source contribution on the side.

Meanwhile, it is encouraged to contribute to open source projects which I think is advisable and commendable. However, my initial contribution would likely target documentation, since it is often the most neglected.

And yet it's strange to think that some of the trending 'developers' on YouTube who are pulling around +50K views in video content are examples of folk who DON'T contribute to open source projects. And for the record, I am NOT jealous or angry. I am merely perplexed on the surface, but subtly encouraged within.

One bloke has focused exclusively on commercial projects and has worked for Google and is now working for Facebook. You sense he knows his stuff and he does share insightful tips from the corporate industry of Silicon Valley. He is your traditional computer science graduate, so you can understand his technical endeavours and academic journey.

Meanwhile, there is a photogenic lassie who secured a software developer gig through an internship. She doesn't have a computer science degree and she is mostly self-taught, which I recognise is a growing trend among graduates and targeted demographics who want a change in life. Despite transitioning from internship to a fully-fledged software engineer at a major company, she has diddly-squat contributions on GitHub, but several skeleton Repos that have no activity, never mind any stars.

My overall point is... what is considered more important when securing a software development job, open source contribution or commercial experience?

My gut tells me the latter is worth the gold in today's currency of survival, because wannabe software developers need to be proficient in OOP (object-orientated programming) and have working knowledge of several programming languages - one of which being OOP.

It is also expected to communicate your understanding of algorithms and data structures, whilst exercising your analytical thinking to unravel real-world problems into manageable bite-size chunks - in the form of functional programming.

I have also read that soft-skills are equally important, so a personable character who can listen, share, learn from others, and communicate well with colleagues and management.