Should new programmers go to a conference

Breakpoint Wilson: Stop coding ?!

When people developing software became scarce in recent years, it seemed almost everywhere to be about finding new talent. At first, companies only placed ads. This in turn led relatively quickly to recruitment companies, so-called headhunters, becoming aware of good business opportunities. So they jumped on the bandwagon of permanent or temporary recruitment.

Other people started software-driven companies and became relatively wealthy and influential relatively quickly. At some point the rest of the world will notice that too, and suddenly programming was no longer considered an uncool nerd thing, but even as incredibly cool and hip. As a result, other companies and non-profit initiatives emerged around this trend with the aim of teaching other people how to program. Big business!

Programming: the new foreign language ?!

Most recently, in spring 2017, the Ministry of Education finally demanded: Programming must definitely be included in the curriculum, everyone must learn to program, programming is the new foreign language! In the meantime, there is even a university in Berlin where the focus of the curriculum is no longer computer science, but in particular the craft of software development.

It seems to me that this is some kind of mass hysteria. As in a never-ending mate frenzy, everyone goes around the clock on anything that has anything to do with software development, absolutely steep. Why actually? That was not the case many years ago either. Is it really just because software and digitization are the future? Because of the good money that is promised? Because of the elitist aura in which one can wrap oneself in order to develop one's own social status?

Be that as it may, please let me play spoilsport today for once. Because while everyone is talking about everyone should start programming, lately I've been worrying about what it's like when someone stops programming.

You can't get away from programming

Professional software development is actually like smoking: Most of the time you start secretly and secludedly by writing a little "Hello World" here and there - because it's cool. All the cool other kids do it too, after all. Then at some point you will become dependent on it. You secretly program on your parents' computer until you hear their key jingling in the hallway. You get up again at night when everyone is asleep to load a few libraries on the Internet with the modem. This programming is worth the risk of getting caught over and over again. You use every free minute until it has become such an important part of your life that you even cancel your friends so that you can program in peace at home.

Quite a few people have ruined the actual enjoyment and fun of coding.

If you're reading this column, the chances are that programming has actually become your main occupation. Later, after ten to 15 years of professional chain programming, many people have ruined the actual enjoyment and fun of coding. Then at some point you stand in front of student interns with dark circles and bad skin, drinking coffee, and advise them: “You better not start with it, it's addicting and it's also unhealthy. You won't be able to get away again. " You don't like it anymore, but you do it because it's the only thing you've ever done so far. You're just a code monkey.

I'll be 34 this year and have been programming for almost 20 years. That's more than half of my life so far! Of these, I spent 17 years mainly in the industry. What is definitely different for me today than in the past is that I meet fewer and fewer people who have been in this field for a similar length of time.

Conversely, however, there are significantly more people who openly talk to me about their personal "software woes". For various reasons, they seem no longer happy with their career decision. Want to reorient yourself professionally. The teaching career is now no longer worthwhile, because you are now too old to be a civil servant for life. Prefer to work in the bakery, landscaping or even in the garbage collection. Just to do something that would make a really visible contribution. Don't just build the best checkbox for all 45 mobile devices and 55 viewports: “After 1.5 years at the latest, nobody will ask any more questions anyway. Do I put all my heart and soul into it every time? What is the point of that? "

You can't get out of professional software development that quickly.

But they all seem to share a similar challenge: They won't get out of professional software development that quickly. Financially because of home and family, or just because most of us haven't learned or done much in our lives other than programming. For so long that they can't imagine anything else.

Take the lead

Robert “Uncle Bob” Martin, who is hopefully well known to all of us, recently held an extremely exciting talk about the current and future development of the software industry:

In it, he openly asks the question of when and who the first programmer was in order to then estimate the presumable growth rate at which our industry is growing through new, inexperienced people developing software. He comes to the conclusion that the number of programmers worldwide doubles approximately every five years.

Conversely, that would mean that we would definitely have to increase our management positions and “meta problem solvers” such as Scrum moderators. In other words, it could be exciting that nerds like you and me will train us in the coming period, especially in areas in which we are usually said to have strong weaknesses. This includes dealing with other people, in communication and in economic activity.

The number of programmers worldwide doubles roughly every five years.

So if you are considering the path to leadership, I don't think you need to worry too much. For one, we are part of the coding horde and understand their motivations, desires and needs much better than people who have never programmed could ever do.

On the other hand, we have already learned one of the trades that are considered to be difficult - and in some cases even studied science based! What you may not have known up to now is that, especially in the tech start-up area, it is said that it is easier to teach a nerd business than a business graduate about nerd things. In any case, no one will be able to take away the years of experience on the code front from you overnight.

And while I'm with the massive growth of new developers: somebody has to make sure that they are all really well trained, right? So what about the fact that you set yourself up in your company as a trainer for internal further training and in-house training? If you don't have a problem with traveling and speaking in front of other people, a career change in coaching could also prove to be exciting.

You are not your job

Fun fact: In one of my last job interviews before I started my own business with an IT service provider of a large corporation, a language philosopher and a construction architect were responsible for software development. Since then, at the latest, I have been reminding myself regularly that you don't necessarily have to be limited to your actual training. In this respect, the economy is relatively grateful: If you can do something, you can do it - sales, marketing, design, cooking, carpentry, whatever. Professions with sensible entry hurdles such as children's heart surgeon or lawyer are of course excluded.

In general, especially for jobs in corporations, when you have completed a degree, you are already in a certain, comfortable situation per se. Some companies prefer to assign the less professional / technical roles to people with a degree of any kind. As can be seen in the previous example, the actual subject area seems to be less important.

So why not turn something else out of your palette into hard cash?

What I mean by that is: Just because you've been developing software for maybe ten or 20 years doesn't mean that you have to stay in this role for another ten to 20 years. You are human first and foremost, and people can do different things. With some of them you can even earn your own living. So why not turn something else out of your palette into hard cash? Something that you haven't been able to use yet?

Usually in places like this you read something like, "Follow your passion, because you are good at things that you enjoy." That is certainly a belief. As long as you can earn enough for your personal need, that sounds fine. Otherwise there is the other faction that says: “Follow the things that you are good at. Because what you can do well leads to you doing it well. " Logically, what you do well will be rewarded by third parties with positive feedback and often also with money, which in turn can start your personal cycle of success from the beginning.

Think about later now

A programming language is considered mature as soon as you can write a compiler for that language in the language itself. In my opinion, it could now only be a matter of time before we apply the same yardstick to programs themselves. That is, we create programs that will create further programs on their own. How do I get that? For one thing, Google did exactly that on a very small scale this year.

On the other hand, as an outside observer, I am amused to watch as my colleagues from the field of deep learning synthesize a wide variety of, but completely new media from existing data - for example, to render completely new, previously unseen cat pictures from a huge cat picture database. Admittedly, the whole thing doesn't really work 100% convincingly, but the tendency can be seen. Time and steady progress have to take care of the rest.

Now please let yourself get involved in the following, currently completely unrealistic future scenario. Just imagine, someone manages to categorize almost all code repositories in the world according to problem classes and to synthesize new, never-before-seen program code from them. What do you think, how will it be for both of our jobs then?

When exactly this will be and whether it will still affect my and your generation is, to be honest, an open question for the time being. I still think it's a good opportunity to think about your future career. One of the following things will happen with a certain probability sooner or later in your career: Younger people will depend on you for technology, other people or computers will program more cheaply or at some point you will be tired of the driving demands of the technological industry.

If you and I might think of an alternative strategy today, it would be a good idea. So: further training? Rising up? Take completely different paths? I am curious how you decide and whether we will still read from each other in ten years!