I want to work in a company which (or “Yet another random business rant”)

This is going to be a random rant on a random companys’ policies and employees – there is no direct connection to me whatsoever, of course.

I want to work in a company that doesn’t abuse its SCM as a file server.

If you can’t do full backups anymore, because your file system can’t handle the big dump file, you’re seriously doing something wrong! Well, maybe you are Google and have a quadzillion LOC – or you’re just committing all your crappy binaries together with those nice MS Office files. If you don’t know how your SCM works or even what it was made for, then RTFM!

I want to work in a company in which employees don’t mistake different tool sets for one another.

GForge, Trac, EGroupware, Hudson, OTRS – they are not the same! And c’mon, you can differentiate between all those lame Office products, so I know you can do it! Ah, but I forgot – those strange OSS products, they are not business proof and will not withstand time. So be it, then. Use Outlook and Excel for your project management, but don’t come asking the programmers why they can’t do five projects at a time.

I want to work in a company in which I can call fellow programmers just that: programmers

There astonishingly many paid software engineers out there who don’t even know how to use a single text editor (“No, Notepad is _not_ a text editor, it’s a disgrace!”) or how to do a simple RegExp. Or worse – some don’t just lack the knowledge on how to do a RegExp, they despise them (“Those things are only needed by scientists, I’m just a programmer.”).

Honestly, how can you spend your whole day manipulating text without basic knowledge of any helpful tool? Nobody would call someone building a sky scraper a master craftsman if he only used a hammer, because that’s the only tool he knows. He would be nothing but a cheap menial worker.

I want to work in a company where I can tell fellow programmers jokes about funny (i.e. particularly bad) code.

If I show somebody a for loop which counts up files and makes that counting “persistent” by reading and then saving every step in a ini file – I don’t want their answer to be: “Well, [language] code can sometimes look like this.” No it doesn’t, you numbnuts! If you don’t know the difference between count++ and one A4 page of shithole code, then don’t call yourself programmer, buddy! No language in the world encourages such crazy thinking (not even Brainfuck does). This problem is called missing brain matter.

I want to work in a company in which fellow programmers know the difference between programming languages and are able and willing to choose the right one for the task at hand.

If something like MS VC++ is enforced on every project – even those tedious clean-up jobs that could be simple Bash scripts (if only you had a Unix environment), then all you will get is dirty spaghetti code and unmaintainable hacks. And all that for the benefit of the doubt that this code will probably crawl your file system faster than if you had used a scripting language (which have originally been created for.. well.. scripting tasks).

Anyway, good for you that you paid your developer 20 times the money you would have needed. Well, if you let him chose a more suitable tool. At least you have your possible speed gain of a couple of seconds at runtime (because that’s where the costs are hidden today, baby!).

I want to work in a company which doesn’t establish coding and style guidelines across different languages.

There are people out there, even programmers, who tend to believe that choice of a language is either pure chance or the cause of some kind of trend. They also believe it is good reasoning to enforce a style guideline across languages to make the developers transition between languages easier.

Well.. I don’t even know what to say to that one. If people really believe that dynamic code should look the same like static code – and that what is considered to be good style in Java is therefore also good style in Python, then I can only say: May your gods be gentle to you, my friend. I can’t help you anymore.

I want to work in a company that doesn’t establish project management with a team of people using “code freeses” to make “relaises”.

If your testing, support and project teams don’t know shit about any software development paradigms, then don’t bother letting them stay in the way of your developers. It will only cause bloat and longer release cycles coupled with decreased quality. Ah, and you will piss off your developers.

I want to work in a company whose “business best practices” are at least updated once a decade while always being open to debate in case of doubt.

If you stick to the same patterns over and over again, because they have worked for you in the past – without adapting to the new world outside, you will be obsolete. Besides, that attitude gets you WinXP.

I want to work in a company which doesn’t enforce WinXP for development _and_ production servers.

That one should be obvious. But anyway, WinXP being as obsolete old as it is, it should not only be not enforced, but proactively outcast!

I want to work in a company in which people do not think that software can only be robust, secure and scaling when it needs all the resources it can harvest.

I’m looking at you Microsoft random.choice(product_names)!

It doesn’t always have to be a J2EE or SOAP XML/RPC solution for web apps. You won’t need MS SQL Server for any smallish application.There is no need to walz with hardware requirements that would have meant buying a cluster a few years ago for. Not only will the hardware cost you, but those 20 year old programming paradigms will bring you down – sooner or later. There’s a lot of (free) software around that will probably let you do your job faster (less code), cheaper (less time spent programming), more scalable (OSS tends to embrace open standards), it will probably even be fun to use!

I want to work in a company which company doesn’t just want to be ISO certified, but has a pragmatic approach to a common rule set of style, collaboration and quality.

What good is it really to do the minimum necessary to achieve ISO greatness? All it gets you is more incompetent paper pushers slowing you down and costing you good money. If your company is big enough for ISO, then it’s also big enough to establish pragmatic guidelines on programming, testing and support for your product. Better take that chance as long as you still can!

Last, but certainly not least, I want to work in a company where fellow programmers don’t tell me  phrases similar to

“Every company has these problems.” and
“Don’t argue with yourself, it’s only a job – it and earns you the rent.”

In the last statement I see the source of the “problems” – indifference to the company and to computer science will teach you only one thing: Incompetence. And from incompetence concludes everything that goes bad in everyones’ job.

When I come home from work, I don’t stop being an engineer, because it’s after hours. When I come home from work, I switch on my computer, I visit Hacker News, I try to learn a new language, I read a book on computer science, I surrender myself to a nifty project. I don’t work as a coder for the money, I do it because I love computer science as I always have. I live and breathe geeky stuff – that’s the way I am and I want my fellow programmers to be.

Probably the only thing I can think of that I proactively hate is incompetence. So don’t bother me with your hobgoblin reasoning, I really had enough of it. If you “just want to earn your rent”, then so be it. But don’t try to assume that everyone should be a menial worker just like you are. My time is precious, too, my friend. It’s not always the middle managements’ fault if we, the programmers, don’t know any better. Then how should the guy leading your project? You should be the one to inform him on current “best practices”. He’s probably just a business guy – he will do as you say if he trusts you. And if he doesn’t, then either you’re incompetent yourself or your job position sucks – then get the hell out of there!

Ah, by the way: I do have a life besides computers, I have a gorgeous girlfriend (hey Katrin^_^), I care for my family, I study to get my degree and sometimes, just sometimes I even go out. But as I said in the beginning: this is just a random rant on a random companys’ policies and employees which is in no way related to myself.

Tags: , , ,

8 Comments 1 Other Comment

9 Responses to “I want to work in a company which (or “Yet another random business rant”)”

  1. NewbieProgrammerMan Says:

    Dude needs to start his own company. If he’s really so angry about stuff like that, he needs to go create a situation in which he can call the shots and create the environment he thinks will be optimal for software developers.

    This comment was originally posted on Reddit

  2. superluigigalaxy Says:

    > When I come home from work, I don’t stop being an engineer, because it’s after hours. When I come home from work, I switch on my computer, I visit Hacker News, I try to learn a new language, I read a book on computer science, I surrender myself to a nifty project. Hell no. I’m sick of all this. When I go home I don’t have anything to do with programming any more. Two years ago, yes, I would. Now I’m just filled with dread by the thought of more code.

    This comment was originally posted on Reddit

  3. preek Says:

    What do you think I’m doing in my spare time?(;

    This comment was originally posted on Reddit

  4. bautin Says:

    Posting on reddit. ;)

    This comment was originally posted on Reddit

  5. preek Says:

    Of course I did that in my "spare time"! *cough*

    This comment was originally posted on Reddit

  6. recursive Says:

    Mirror?

    This comment was originally posted on Reddit

  7. preek Says:

    Sorry for the downtime, my VPS obviously couldn’t take the initial load. It’s now up and running again. But actually there is a mirror: http://posterous.dispatched.ch/i-want-to-work-in-a-company-which-or-yet-anot

    This comment was originally posted on Reddit

  8. SunnyWthAChnceOTroll Says:

    Dude, you are punishing my eyes with the small italicised text.

    This comment was originally posted on Reddit

  9. jeffrey gauthier Says:

    In times like that where you have to make the decision of hightailing it out, or hoping for change. In rare instances there tends to be the chance for change. However in my experience you are best to run when you can.

    This comment was originally posted on dispatched’s posterous

Leave a Reply