Important things to know as a software developer starting out
Chamunorwa Russell Mazonde
Senior Software Engineer @ Valence | Graduate Diploma, SaaS
There are different ways to starting your career, some start soon after a degree and some start while they are still in their childhood bedroom. Each path with its merits and hurdles emphasizes that as people we are different. Technology being as far reaching and accessible as it is now, starting as a software developer is not as difficult as it used to be for the pioneers of the field.
Having started computer programming in my bedroom at the age of 17 one of the most important lessons I learnt is that no textbook will ever give you all the template knowledge, syntax to solve world problems. If at all the tools used in learning go as far as just opening a door. That's a lesson a lot of people miss, especially in my home country of Zimbabwe where expectation is that after a course or college degree (as good to have one is), they have crammed and memorized all they need to be able to yank it out of a textbook and plug it into a real world problem and it will work. A pivotal person in my professional career once told me that 60% of what you learn in college you will never apply in your professional career, the 40% left you have to panel beat. Metrics and percentages can be argued but i do feel there is an underline point which is true no matter how you look at it. Whats needed most to succeed as a software developer is not an ability to memorize and retain chunks of code (but knowing syntax helps), it is more a natural ability to solve problems and figure stuff out.
Speaking from experience, what has allowed me to go further in my career is my ability to learn fast, solve problems and think outside the box. Software development is a challenging field, which can induce high levels of sleeplessness and pressure. I do believe that any can code, software development is not a totally closed off field, Google, stackoverflow and other code resources and forums allow a programmer to get started and get help when problems are encountered. But like other things in life, passion is what differentiates programmers who develop for fun and those who do it as a career. A lot of people drop out of programming and development classes because the passions is simply not there. For those who manage to stick it out without passion, will find that as a career software development is a lot of demanding and intensive and they might just jump boat and go to marketing or something.
My advice to every college student who has come to consult me on software development/engineering as a career was that if computers, technology and code don't have a passion bell inside you, you probably should steer clear professionally. Students from the University of Zimbabwe, Harare Polytechnic, Midlands State University and Africa University have asked me this question and my response has allowed them to evaluate their position and reconsider if need be. This is not a career you are forced into by mom and dad, you really have to think about it because you will not go far if you do not have a passion for it. You can only be taught and memorize so much!
I am 4 years into a career where i work with 3rd party software integration and prototyping, being a technical lead in dealing with software that has not been used by the company before and finding ways of making it plug in with the rest of the information system. I code for at least 3 hours each day, sometimes having to learn languages i don't know to get the job done (fun stuff) and also work with systems developed by other developers and are often ill documented. Its fun, sometimes crazy hard, but its fulfilling. You have got to have a passion otherwise you will hate it and everyone out there has a passion for something.