Wednesday 23 December 2015

The Software Industry: Unlocking the Door to Enter

How newly trained professionals sink or swim into the software industry
Less than 6 months after I completed my first set of software qualifications and certificates, I can say that the more I learn, the less I know! This realisation has led me to use every opportunity I can get to learn about software and understand what makes software tick.
In my continuing networking journey, I have had numerous conversations with senior and/or experienced software professionals who have on balance been very helpful and generous with their time along with their knowledge. However, there are some times when I left a conversation more confused than I should be given I don’t have a learning difficulty and my inquisitive questions were clear enough. An example: I was at a networking event just under a year ago as a student and asked an experienced guy who was talking about Lambda functions to explain how they worked. The answer was along the lines of ‘Well…… you get an Array or a List and you blah blah blah with taadaaa and then if your magic wand is working, you get hocus pocus and TAADAA… you have LAMBDA…’.. so needless to say, I smiled, said nothing walking away with the impression either he was an idiot or I was! Since then, I covered lambda in architecture and got to know in high level terms about it and the anonymous function it provides with the ability to process data on a once off basis if required. I just coded Lambda on the Code Academy course on Python, which brought me back to its usefulness and pondered how new entrants to software truly sink or swim to a place of traction for their skills, where they become recognised and employable software professionals.
So, I submit that new entrants need to prove themselves in their ability to code professionally by:
  1. Learning how to code well in at least 3 (2 OOP/ 1 Functional) languages along with SQL and understand Database Administration (aka DBA)
  2. Learning the principles of Project Management, Software Development and Web Development
  3. Becoming skilled at coding scripts
  4. Becoming skilled in Object Oriented Design (OOP)
  5. Becoming skilled in Functional Programming

So why do some software professionals apparently think its ok to confuse the new guy instead of clearly helping them or just saying “sorry bro, I don’t know, but it’s worth finding out?” I guess human nature is partly to blame along with the bewildering amount of content a software professional needs to know.
As the new guy to the industry, I think this to be a widespread human phenomenon after my prior career in management, where dealing with numerous issues arising from ‘people politics’ was a common task. Focusing for a moment on the wider business world, what I observed was the inability to admit confidently one does not know everything and seek help can often contribute to the reasons why companies suffer strategic setbacks, which of course is resolved in different ways. Point is… if we all use what we know as a “true north” pointer to what we need to know, then this issue would not be so common in today’s world. Sizing ego to knowledge and skill set is a hard mastered skill but when mastered, it produces a penetrating clarity that serves the individual well over time.
So, on the flip side of good practice, bad advice is much more damaging than no advice, which is why I think we as software professionals (training and qualified) should follow a standard that effectively bans hot fudged and confusing answers by doing the following:
  • Communication: Understanding the question, if not ask for clarification
  • Honesty: If we don’t understand it, we confidentially admit it as an act of virtue, not an act of vice
  • Continuous learner: We collaborate to help others and ourselves in the uncovering of the solution, for to help our fellow programmer is to help ourselves
  • Community: We contribute and help out where we can with open source communities believing we are stronger together by bettering the quality of our understanding through sharing our insights
  • Policing: We challenge the hot air merchants who pass as programmers but think its better if the new guy doesn’t get too good at his job in case they may look bad. Fact is that stone walling the new guy IS BAD!
  • Fellowship: We share our passion, our belief in the pursuit of excellence, our ethical values, our skills and our time freely in the knowledge that others freely do so with us!
  • Title: We become our own community under one moniker, being that of programmers!




If we believe in a future underwritten by software, then it makes sense that we stock, not block the rise of new software professionals through community, company mentorship and just being helpful in a clear manner. If we bring the right attitude with us every day, we develop the right culture which will pass onto the new incumbents as part of their cultural identity as programmers. It’s never too early to start building, so as software builders, today’s labour building clarity and community will become tomorrow’s cornerstones for something great! V2.0 awaits! On that positive note, happy Christmas everybody, see you in the new year with my first 2016 post on my personal site (blog) and on LinkedIn!


Sources/Credits
Pics;
Credits;
DBS for pic (& educating me in software)

No comments:

Post a Comment