2020: A New Beginning?

A lot of people keep asking me why I am switching from management back to software engineering. After all, management as a profession was quite successful the last 15 years for me, wasn’t it?

In fact, yes, it was very successful but it also came at a cost.

1 – People

When I got sick in October 2019 and had to take some time off until end of December 2019, I had some time to think about what to do next. It was, after all, the first time in my life that I was so sick that I had to spend three weeks in a hospital.

Up until the end of my stint at Nokia, it was quite fun to work as a manager. I worked mostly in companies where the upper-management and most of the people really wanted to get things done.

This had changed at Nokia… yes, most people wanted to achieve something but “getting things done” was not that much important anymore. Well, we know how it ended.

Coming back to Germany, I really wanted to continue working as a manager. But it involved really too much politics. Even when the other people I worked with (peers or my managers) knew what we had to do and knew that I was doing the right things – if it didn’t fit their own, personal agenda, it wasn’t meant to be done.

I learned that the hard way in the last company I worked for.

There I worked with people so insecure that some (at least one of them) didn’t even trust their own image in the mirror.

It is actually quite strange to experience this kind of behavior. There is no way that you can get things done in such an environment – you don’t need to try to do the “logical things” – they don’t work.

I’m just sick of fighting anymore – I don’t want to fight with peers, my managers or managers in other areas who are just not interested in getting things done but rather interested in covering their asses or such.

2 – Processes (Ways of Working)

It has become a kind of fashion to adapt to the way-of-working that is en-vogue (“style of the day”). Even if that doesn’t make sense (or rather: especially when it doesn’t make sense).

Let’s talk about “Agile”: you know the Way-of-working where a lot of adult people stand around every day in the morning doing some mystic ritual called “stand-up” and telling each other what they had for dinner last evening and what they are going to have for lunch today.

For heaven’s sake: this “stand-ups” we did in the software industry when teams were small (3 people, 5 at most) and we didn’t have working revision control systems. We asked the other colleague in the morning on which area they will be working today so that we didn’t touch that area because we didn’t have really good merge-tools.

There is also this thing called Sprint Review: again, for heaven’s sake we showed off when we implemented something really cool but we didn’t do it on a bi-weekly, standardized basis. We did it when we actually did something really, really cool and wanted to show-off to our colleagues.

These stupid, brain-damaged processes have now their own life – i.e., they are implemented and done for the sake of doing them and not for the sake of getting things done.

I hear “our management has to be agile“, “we are introducing agile management“, “this project is done in agile way“.

For me, this sounds very much like my definition of Jazz:

Jazz is: there are three or more people with instruments on the stage and each of them plays something for themselves.

If the people on-stage are really masters of their craft, this can be a fantastic experience for everybody involved, otherwise it will sound something like a a mix of every style of music ever invented and people will run away (or just ignore the people on-stage).

But what does it require to be a master of a craft? 10,000 hours of training makes you a master of anything.

So, if you implement a project “in an agile way” that means: no project manager, no project plan, no milestones, just do something – and everybody does something and … in the end, the desired output will appear magically out of thin air?

I’m fed up with that. In software engineering the “Agile Software Engineering” is actually what we used to call just “Software Engineering” before someone put a label on it. It is ok, I actually think it can make sense to put a label on a best-practice that has proven itself time and again.

The problem arises only when people switch off their brains and follow any such best-practice by the letter.

And that’s really what I’m fed up with: people switching off their brains and doing something because someone else (probably someone way brighter than themselves) wrote a great paper about it. You know, that someone wrote a paper because they thought long about it.

The main problem is that in most organizations, if you say something like “Agile is not right for us” you are a heretic because everybody else is doing agile and we need to do it as well.

No, you don’t have to! Please start using your brain (the best machine ever invented by the Universe) and invent the best possible way-of-working for your organization, your team, use it and adapt it to the changing times and circumstances.

Basically, what I am saying here is:

For heaven’s sake, start thinking! Use your brain! It is not that difficult!

3 – I give up

So, that’s why I give up management and go back to being a Software Engineer – Freelance only.

I don’t want to fight with other managers anymore. I don’t want to discuss whether doing the right thing and getting things done is “right or not”. I just want to do the right things and get things done.

Second, I don’t want to discuss with the people what the right way-of-working is anymore. If you want to be agile, go ahead, be my guest. But leave me alone.

If you want to be waterfall or “water-agile”, again, be my guest – but don’t bother me with all the bullshit-bingo. Been there, done that, f*** it!

I’m a great software engineer, I know that. I have over 35 years of experience in developing software, from embedded systems to huge back-end infrastructures with gigantic tape libraries, hundreds of servers, building multiple, mirrored data centers, and more.

I have developed software using MOS 6502 assembler as well as with JavaScript (and currently learning WebAssembly).

I have worked on Commodore 64, Atari ST, MacOS 6.x – macOS >10.x, Linux, Windows, iOS, Android, Solaris, IRIX, BSD/I, FreeBSD, PDP11, and many, many more systems.

I know Sybase, Oracle, MS-SQL, MySQL, PostgreSQL.

I have experience with numerous NoSQL-DBs (too numerous to list).

I developed and still develop software in C, C++, Objective-C, Pascal, JavaScript, Python, Perl, Dart, GoLang, Swift, Lua, Java, Cobol, PHP – and what-not (including many variants of Assembler such as MOS, Motorola 680×0, MIPS, Intel).

So, back to the roots – back to software engineering – my first real professional love.

But I’m only available as a freelance software engineer. Contact me, my rates are quite reasonable compared to my experience – because I want to do what I love – not what makes the most money for me.

If I like your project and think that I can contribute significantly to your project, I will do it. (Nearly) no amount of money will convince me otherwise (well, If you offer >100kEUR / day, I may reconsider this principle…)

Please contact me using email, it is not that difficult: my email address is my firstname @ my last name dot-de