RSS

Why work for a software company?

29 Sep

Episode 37

When I was looking for a new job recently, I had a strong resolution, that I’m going to work for a company that is doing software. Not telecommunication equipment that requires software. Not financial products that require software. Not trucks that require software. I wanted a company, that does the damn software for a living. And I will tell you why.

Case one: Technology Corporation

800px-base_transceiver_stationIt’s not bad, could be worse. Companies that focus on technology usually have some kind of understanding for engineers. Usually. There is the corporate aspect though with all the bureaucratic nonsense. The bigger the company is the more problematic the aspect of scale becomes. Some people are allergic to presence of nonsense, and probability dictates, that with scale, at some point you will encounter the nonsense and might get frustrated.

The urban legend says, there is a quarter million Euro device rusting on the shelf in a lab. It’s needed, but no one knows how to turn it on. The one competent guy who knew left the company because he was unable to get a hundred Euro rise. We can’t rehire him for a year because of policy. Meanwhile new people straight from university are paid more than that  competent guy who left, because we need more people and there is no people, so we have to attract people somehow.

Case two: Single Product

ultimate-guide-to-your-product-launchA small company with single software product seems to be good place to be in. It’s likely that you can avoid a lot of problems connected with working with random people from random countries you will never see in person. You can storm into CTO office and ask for few hundred bucks for an innovative idea you want to introduce, and there is a good chance that you will get it without bullshit paperwork. You happened to drink beer with most people in the company and that’s always helpful.

The problem might be the product itself though. If the product is old enough to get its own driver license or buy alcohol, and it hasn’t been taken care of really carefully, it might be difficult to work with and the development can slow down to a crawl. And if you are defeated by the difficulties at some point, there is nowhere to run. It’s the single product company.

Case three: Investment Bank

Perkins.pngOh boy. I’m not a good person to be objective about banks. They pay a lot I can’t deny. But aside from that it was difficult for me. First of all, I’m not the dress code guy. I prefer to wear geeky t-shirts, shorts and sandals to work, period. Second: freedom and autonomy. You can’t do anything in there. Your computer is a virtual machine somewhere far away, you can’t install stuff you need, you can’t access stuff you need. I remember wasting half a day to get FireBug plugin for my browser. It was not in official repository, I couldn’t get them do place it there, I couldn’t send it via email, download site was blocked. Finally, I found out they didn’t block site with older version, like a week or so.

The biggest problem is that people who understand you can’t do anything and people who are able to do something will likely not understand you. I had a lengthy email conversation with a guy in a suit, who apparently understood only Excel, somewhere three levels of hierarchy above me. I was trying to convince him that serious developers need second display otherwise they are unproductive and basically unhappy. It was explained to me, that we work in “smart” office which meant everyone has thin client with single display and virtual machine no matter if you are developer or secretary. Single display. Everyone. Nothing can be done. Equality.

Case four: Trucks Factory

afghanistan-in-the-1950s-and-60s-15Truck factory has an IT department and software development because it has to. Everyone does at some point. They might be building marvelous trucks, but software is not their focus and it will kick you in the ass at some point if you are software developer. People with real power and vision were thinking about trucks, not software, so they didn’t care about software very much.

Of course, it depends on the setting, but in my case I was literally the part of a factory. There was a huge complex where they build trucks, buses, excavators. And software. When I asked why there is no damn tea in the kitchen, I was told that labor union from the factory said that either there is tea in the factory too or no one gets to have tea. Guess what happened. Also, I had to routinely show inside of my backpack when I was leaving premises. Because I could have been walking with some expensive part of a truck, apparently a common practice among factory workers. Life is difficult outside of IT.

Case five: Software House

4662386Finally, the company that does software as its main business. People with real power and vision think about software. And there is a good chance that they were software developers at some point, so they will understand your problems.

Ideally, software house has a lot of projects for different clients. They get in, do the software and get out. And learn along the way. Of course you may still end up in some shitty legacy system, but at least there is a chance to escape to another project. And there is a common understanding on how things should be done in software development, so if you want to make the situation better at your client office, you will likely get support from your software house.

What now?

That’s my story. These cases are generalizations to some extent of course. You might end up in non-corporate corporation. Or single product company with a great product to work with. Or unusually opened and relaxed bank. Or factory that doesn’t treat software developers as factory workers. Or a crappy software house.  But be where you are consciously. I often see people who work in their first job for ten years and just assume that’s how things should be done. I’m not saying you can’t be happy like that. But maybe, out there, outside of your comfort zone you cling to so much, there is a better, fascinating place waiting to be found. Don’t be afraid. The world belongs to the brave.

Besides, what can happen? The tiger suddenly jumps from behind the bush and eats you?

p.s. If you like violin and electricity, I have two nice music videos featuring breaking out of comfort zone and taking the leap, enjoy!

work-for-software-company

 
6 Comments

Posted by on September 29, 2016 in Misc, Recruitment

 

Tags: ,

6 responses to “Why work for a software company?

  1. Andrzej Kaszkowiak (@venedie)

    September 29, 2016 at 7:03 pm

    I don’t even have words to describe how good I know the first case here…

    Like

     
  2. Mateusz Kaczmarek

    September 30, 2016 at 8:36 pm

    My comment to Trucks Factory case: if taxi company is using software they are software company. If music company is using software they are software company. If company is selling books and using software they are software company. If TV company is using software they are software company.
    If “100 years of traditions” companies won’t change their approach they will share the fate of Nokia and will be eaten by competitors who already include software development into core of they business as Uber, Spotify, Amazon, Netflix have done.

    Like

     
  3. cyberbobmk

    September 30, 2016 at 8:38 pm

    My comment to Trucks Factory case: if taxi company is using software they are software company. If music company is using software they are software company. If company is selling books and using software they are software company. If TV company is using software they are software company.
    If “100 years of traditions” companies won’t change their approach they will share the fate of Nokia and will be eaten by competitors who already include software development into core of they business as Uber, Spotify, Amazon, Netflix have done.

    Like

     
  4. 0xmarcin

    October 2, 2016 at 6:03 pm

    Nice article. I know by heard how difficult it may be to get second screen in big corpo ;) – and yes you are right: f**** equality. From my own experience I must say that working in software house forces you to learn new languages/libraries/design patterns/etc., you may spend year in big corpo and learn nothing new about programming. Another pros of working in soft house is that you may actually talk with really good developers that already created plenty of applications and are aware of modern app architecture issues, often there are some knowledge sharing presentations and you may find some software magazines laying in the kitchen :) Right now I am working in company that has not one but four products, code is clean but some parts are “old” – still I’m happy ’cause I’m able to work with intelligent people that know their craft – after all the most important thing is with whom you work – with good devs even working on legacy c**p is not bad :P

    Like

     

Leave a reply to 0xmarcin Cancel reply