swatinem.dedie Welt ist nicht gerecht– The deranged thoughts of a tech junkie

15.12.2013 Tax Evasion

So apparently in capitalism, the richer you are, the less taxes you have to pay. Just look at all the big companies that pay less than 1% taxes for their revenue, even though the corporate tax is usually much higher. They use clever tricks with different subsidiaries and shell corporations in some foreign countries that have loopholes or simply no corporate tax at all.

This is absurd in itself, and as a mere mortal who pays a lot of taxes, I feel cheated.

I was thinking: Why is it only the rich that can benefit from such – apparently legal, but certainly amoral – wizardry? How about there were some tax advisor (more like tax evasion advisor), who would take care of all this for you, like creating bogous shell corporations in foreign countries and can make guarantees that everything is still legal. Someone who just said “I can guarantee you that you pay no more than 2% tax and that you can not be touched by your countries income revenue service (Finanzamt)” For that service, he can charge you 1% of all your income and make tons of money himself (for which of course he himself does not have to pay taxes, haha).

How about someone just starts up such a system as a service (SaaS) for every single mid to small size company, freelancer or simple employee? So that every single one could benefit from the same cheats that the super rich are using to rip us off. And if everyone starts doing it, maybe the countries leaders suddenly realize that the system is broken as fuck and start fixing it for good.

So why doesn’t anyone do something like this? And if something like this already exists, point me to it.

17.06.2013 Something Awesome

Actually my first entry written in english, yay.

So I decided to quit my job. I just can’t take it any more. The problem came down to the fact that I couldn’t work efficiently, I was bored all the time and I did not enjoy working any more.

Naturally I asked myself the question what I want to do. What do I want to achieve in life? Simple answer: I want to create something awesome. I love software engineering and I want to have fun doing it. There are a lot of articles out there saying that getting a job itself is wrong, or selling ones time to a company is wrong. Well kind of. A lot of my friends are in the same situation as I am. They are motivated, they want to do something awesome. But the circumstances are not letting them do that.

Creating something awesome is of course awesome. But one has to make a living. And for that to happen, someone else needs to want to pay for the awesome thing you create. And that is a really really hard thing to get. Working in a company might give you the assurance that someone down the road pays for the awesome things you, or the company does.

But creating something that someone else wants, and creating something awesome are not one and the same. You have to make it awesome. You have to make it something great that you are proud of. And thats where most of the companies fall short. They are not focussed on doing something awesome. It is not their goal to make it fun and enjoyable. But that is one of the greatest mistakes I can imagine.

I consider myself a problem solver. I solve problems, by creating solutions in software. Thats what I do. Where I go a lot further than other people is that I want to solve the core problem, not the one at hand. Lets make it clearer with an example.

Say, the problem at hand is “deploy package X on the server”. One solution is to ssh onto the server, create a backup, overwrite the files with the new copy and depending on the software used, restart it.

I don’t know about you, but I just know that this is not a really elegant way to go. It involves a lot of manual labour which is not fun, which is not awesome. It is essentially the wrong solution for the wrong problem.

And that in itself is the problem: Deployment is boring, non fun work. So now that we know the core problem, lets phrase our goal more precisely: “Make deployment an elegant, fun and straight forward process”. Now thats a problem worth solving… by using automation! As it turns out, there is a really good way of automating this. Using git-based deployments, and post-receive hooks a developer can just push to the server and it just works. Now that is a real solution!

But yes. What if things break? Problem: “Intervene when things break”. Or… wait a second; lets go one step further: “Make it impossible to break things”. Thats an interesting, challanging problem worth solving. One way of making things impossible, or well lets say a lot less likely to break, is to test the software.

But testing is a tedious and hard task. “Make testing software fun!” By now you should kind of get the point. And with the right tools, testing is fun; and leads to results. Most of the packages I have published have a good test coverage, most of them up to 100%.

I had a discussion lately where another developer called this lazyness driven development, LDD. I would rather call it awesomeness, or fun driven development. A few weeks ago, a different developer told me “you make it look so easy”, to which I replied “If its not easy, I’m doing it wrong”.

So coming back to the problem I have, for which there is no obvious solution unfortunately. I want another job. And I want something awesome :-) I want to work together with people who share my enthusiasm, who are motivated, who love software engineering, and love to solve the problems at their core. I want to have the freedom to actually do that. By which I mean I don’t want to the problem to become a political one. I don’t want corporate policy to stand in the way of solutions. I want to work efficiently!

I kind of want to change away from the front end development to tooling. Just because there is more problems to solve there. And it makes everyone more productive. Better than creating something awesome oneself is to create something awesome that helps others create even more awesome :-)

Older stuff in the archive.