What it takes to be a Software Developer
In this post I want to talk about what it takes to become a successful software developer.
With apps being popular and more people exposed to different platforms with a wealth of applications than ever before, interest has also increased in how to make software. However, software development requires much more than great ideas. Spending some time with Apple or Microsoft software development platforms (which are free) often shatters most folks illusions after realising the complexity involved, with only an elite of die-hards remaining.
To be a software developer, you need to:
- Have a keen interest. Software development is not something you can casually fall into and pick up. You need to have a keen and genuine interest in the subject, having had some exposure to understand what it entails. Usually this starts from a fascination about how a computer program might work and the desire to try writing similar or better yourself, not getting put off by initial investigation.
- Have tried it. That initial interest needs to blossom into spending time learning to code, trying things out, reading lots about it, and making some progress to establish whether it is something you wish to pursue or not. Like any profession, it's unrealistic to expect training to get you there from nowhere without initial or ongoing effort. The best way to learn is self-learning with some nurturing, but you need to fully understand what it entails first. It's like wanting to be a chef without ever having made a meal and instead being driven by the end results or customer reactions, but then discovering you either don't like the process or are unable to pick it up.
- Be realistic. It's a long way from using an application to developing one, in the same way that driving a car is very different from building one. Be prepared for a steep learning curve and lots of critical thinking. Also be aware that programming is little about visual design, with most time spent writing lines of code and logic. Although programming has become more easily accessible in recent times in some ways, it has become more complex in others, and it's still not easy to grasp.
- Eat, breath and live programming. Programming is probably a lifestyle rather than a profession. Because programming requires a lot of learning and practice, you'll rarely see a part-time enthusiast become competent. Like most skilled professions, the more you do it, the better you get. But take time off it and those skills are quickly forgotten. The best programmers are passionate about it and do it in their spare time, constantly learning and trying things out. I'm not saying you need to be a nerd with no social life, but it helps!
- Have the will to succeed. Staying power and dedication are essential. Much of programming is about frequently solving problems day in and day out. You need to have the patience and will-power to see challenges through and not give up at the first hurdle. You'll fail many times before you succeed, but failure is usually an important part of any process.
- Education. Good maths, analytical and logical thinking skills. A computing degree (with programming exposure), but preferably computer science, is almost essential unless there is another proven track record (i.e. you've developed something notable in your spare time). Your ability to learn, understand and visualise needs to be excellent, since this doesn't stop.
Computer Repair / IT support isn't programming
There can be a misconception that if someone is good at fixing or troubleshooting computer problems, or is generally good at using computers, they can be programmer. The two are very different disciplines, with IT support having very little in common with programming.
Programming is complex, so even if someone is very familiar with computers, there's no guarantee they'll be able to grasp it. It requires a different mindset, working at a much lower level and long term dedication.
The Good
If you think you have what it takes and could cut the mustard, programming/software development can be tremendously rewarding. From solving a complex problem to seeing your production being used, appreciated, and making a difference in a real word environment, can be a great feeling.
We receive frequent complements from customers and have a good return rate because they really value the systems we produce. We're also fortunate to work on some exciting and high-profile applications throughout the UK and abroad. What other profession lets your work be so positively received and far reaching?