So you want to learn how to program? Let's be honest. When you’re an adult, you are not really interested in programming for the sake of it. Usually it’s a professional interest that drives you. Either for the job you currently hold or for a new one.
You might have already had a first career in another profession. Otherwise, you’d rather learn programming from scratch as an apprentice or pursue a university degree in computer science. This does not however mean that transfering to programming from another career is completely off the table. On the contrary, combining your previous experience you can become a particularly effective developer. You have gained a perspective which emphasizes on application and its usability. A view some programmers miss entirely or partially otherwise.
Besides a general curiosity, it is usually the desire for a change which moves us to learn new skills. That change can be a different employer, different working hours, a different location or even breaking with the classic concept of employment itself. The developer’s profession offers a whole range of possible constellations that many other professions do not offer yet. Read on which these may be.
Developer in classical permanent employment
The first to name is the classical permanent employment. You have seen the buzzwords everywhere: digitization, industry 4.0, I4. There is a real hype about future-oriented production. Of course, this postulates that there are enough professionals who can implement this digitization. As a software developer, today you are more in demand than ever before.
The market’s demand for software developers at the moment is enormous and is not nearly met by the number of available experts. Besides making for attractive employers, this also has a positive effect on salaries. Your starting salary can quickly exceed the 40k mark. For senior developers with several years of professional experience and responsibility over fellow staff, larger companies are willing to easily pay double.
A software developer as the name suggests develops software. In permanent employment this is mostly the case in specialized software agencies developing applications for customers, or in companies with proprietary software products, the Googles and Facebooks of the world. German companies include Xing or Moovel. Relevant German software agencies if you have not heard of them are SinnerSchrader, Ubilabs, or Superreal. Nowadays, companies rarely develop their software in-house anymore.
Whether applications are developed for customers or for in-house use, close coordination with other people during the development process is essential. On one hand those are of course the teammates, the other developers. In most cases, these people also include designers, project managers, and usually also someone who represents the end customer. As software developer, you are faced with the task of understanding all wishes of the various people involved. Oftentimes, the customer for example has just a rough idea of what he wants. Empathy, intuition and a sense for usability are of great value. Anyone with previous work experience and not only the classic way of thinking of a software developer can have a substantial advantage here.
Once the software is up and running, the software developer has to make sure that it continues to run smoothly in the future as well. Thus, the work is never fully done. Maintenance, updates and new features to implement will regularly demand attention. There will always be something to do.
The advantage of a permanent position is clearly the predictability and in the context of for example German work contracts the security of the employment status. The office environment is also more than attractive. Software companies know developers are hard to come by, so they try to get employees on board with amenities that go far beyond other companies’ standards. Free filter coffee is nothing to write home about for a developer.
Google has raised the bar here with its cafeterias and fitness offers. Almost all others follow the lead as well as they can within their means. Be it free snacks, exciting team events, and lounges that truly deserve this name with kicker tables and other games. As a rule of thumb: the smaller and younger the company, the hipper.
However, the developer is also assigned to one and the same project for a very long time. Not particularly rich in variety. Thus, as an employee, most details are determined by others, not yourself, especially compared to the subsequently presented configuration. The arrangement of work schedules and overtime setoffs are usually quite generous and flexible, though. Everything can be talked about if you bring in sought-after skills. Whether there is great potential for professional advancement depends on the size of the company.
Things look a bit different for a freelance developer. There you have the real lone wolves who land contracts from referrals by their personal network or from combing through project portals. Without enough initiative, however, the order pipeline may dry out at times. Help comes in the form of agencies which take care of orders and allocating developers in return for a percentage of the hourly rate the developer would otherwise receive from the client.
In both cases, engagements are usually time-bound, quite the difference from the permanent position. After completing a project, you may be consulted again, but initially the project is over. It’s time to land your next project. This can be liberating and diverse for some, and frightening for others. Some developers wouldn’t want it any other way. How else can you take a few weeks or months off and devote yourself to the realization of your personal dream?
The hourly rates for freelance developers are usually well above those of permanent employees. 70 - 100 € per hour can generally be assumed. But the freelance developer has to hedge for the future. As mentioned, there are also phases without projects - intentionally or unintentionally.
Remote equals location independence
In our point of view, the outstandingly positive of the profession of developer is its location independence. Once the key data of a project has been identified, a large part of the development can be executed without the need to remain at the company location. For tools only the laptop is needed. Good internet connection is available almost everywhere these days. Occasional coordination can be accomplished via email or video chat the likes of Skype, Facetime, Hangout, Zoom, the list goes on and on.
This flexibility applies to the permanent employee and the freelancer alike. If the client has no reasonable objections, the developer can easily work from his home office, coworking space, or hostel or holiday apartment in a distant country. For the client, a financial incentive for this arrangement can be the savings from providing a work station. It should be noted however that employers of permanent developers place great emphasis on teamwork, meaning the freelancer is clearly in the lead here, if a change of scenery is of essence to you.
Entirely new lifestyle options open up for the developer. More and more developers are living the dream of seeing the world while working. First they may spend two months under the Spanish sun, then perhaps a few weeks in Thailand. There is so much to discover and friendships with likeminded people are made quickly.
If you do not want to trade the familiar environment for constant adventure, you have the option to set up shop at home. Regardless of in the city, where perhaps the client is located, or in the countryside, the home office is where you choose it to be. Software developers are more independent from a single place of work than other professionals, but also from a specific working time. It is easy to see that working parents appreciate this.
For many, the free choice of place and time is the decisive edge for the choice of career as software developer.
National vs. international
One word about distant countries. The great thing about programming is that it’s so universal. Similar to sciences or mathematics, nomenclature and methods are the same everywhere. Everyone will understand you and you can be deployed practically anywhere in the world.
Therefore, if you move to another country for a longer period of time, either of your own making or because your family or partner is somewhere else, you will have good prospects of gainful employment.
Within Europe, you can freely choose your location. Destinations beyond Europe’s borders have their own rules on residence and work permits. Which are to be followed. Whether you get a work permit with little work experience depends on the country of destination. If necessary, you have to work in your home country for a short time, but generally as software developer you are considered a full-fledged specialist.
Develop it yourself
Back to job opportunities as developer. Last but not least, it is open to any developer to develop his own product and launch it on the market. What is more satisfying than bringing your own blood sweat and tears project to life? The virtues of the long-term thinking of permanent employment are combined with the independence of the freelancer.
If successful, you will have done everything right and reap the fruits of your work. You just have to be prepared for the not infrequent worst case. But then you can still look for a new job.
The romanticism of the indie developer, however, must be taken down a peg or two. It is no longer easy to stand out from the crowds of free apps or computer games and earn money with it. A niche which still works well are tools for software developers themselves, such as scripts for automation, error detection, or plugins for the programming environment. But money is rarely earned here either. Most tools are offered for free as open source because there is no better reference for the next job than having developed a popular tool for other developers.
The path from the initial shower though to a finished and marketable product can be long and tenacious. I hope you brought enough capital on the road with you. Without the right people it will rarely work because nobody can do it all on his own and at once. Besides developing a flawless product, a good sales strategy is another key to success. This may require quite different skills than what you bring with you. After all, it applies to work and play alike: the more the merrier.
Software development is to a large extent teamwork anyway. Whether as a permanent employee, as a freelancer or in your own company. As a transferee with previous work experience you bring just some of the necessary soft skills with you like teamwork and looking beyond your own nose. Your intention to switch careers to software developer is not an outlier at all. The key is to bring the right mentality and technical know-how. With those we gladly help you at Hamburg Coding School.