Three sides of coin
In previous post I wrote about process of making software in a company. This time I have a look at different types of companies. I worked in all of them, they have a different approach of making software and distinct approach to people.
Startup
When I was young and stupid I was working in startup – it was my first job (BTW. now I’m only stupid). As you might expect, there were 3 persons:
- Owner – which had money and idea,
- first employee – fellow student – he suggested that he can make it – I have absolutely no idea how he convinced Owner to start The Project. Long story short, after few weeks he realized that he need help, because both of them are better it managing people than making things – and I suppose that you know what happened
- worker – I joined the team.
The best part of startup is that you decide what to use, how to use, which technology etc. Because in most cases you are first and last person in The Company which can make any reasonable assumptions in this field. Of course it has advantages and disadvantages like everything:
- blank piece of paper – you make everything from the beginning, no backward compatibility, no other problems related to previous product - I wrote about it in previous post,
- nothing block you to make things – it works in both sides – you can make everything – even worst – you have to make everything, things which you didn’t expect to do. In most cases you are: developer, receptionist, manager, architect, administrator and more,
- you know each aspect of a company – some people feel good with it, they wish to know everything but for other it might be annoying – you come here to make programs, not to manage a company,
- don’t expect extra salary and benefits, a company is small and it doesn’t make big money yet,
- nobody bother you – only what you need is empty room, computer and plenty of free time.
Medium size company
It’s a little tricky to find difference between a medium company and corporation. Even a little firm mights have management similar to corporation. OK, let’s focus of advantages and disadvantages:
- a company has at least few customers, one big product or some smalls – it makes a difference between a startup. More workers means that a company made some success on the market,
- appears specialization – you don’t have to do everything like in startup. You need focus only on yours part of job – to be honest, it’s not true and never be – but you have much more less things for you to worry about,
- source code is better, many changes were made to satisfy customers, appeared developers which know what to do, in most cases there are teams responsible for piece of product,
- you still know each person from a company, you know what she/he is doing.
Corporation
Not each medium size company grows to corporation. From owners perspective it’s a big step forward – you become a part of global economy. A company makes deals with many customers from different part of the world. The time has come for advantages and disadvantages:
- main difference between corporation and previous described kind of companies is your role – in startup even in medium size company you make made decisions which impact on a company but in corporation you can’t. There is many levels which decide for you, also are present strict processes which describe what and how something have to be done,
- salary is great and in most cases you can count on benefits,
- diffused responsibility – because is many levels which decide, many developers, many teams which work on a one product is hard to say who is guilty when things go wrong,
- there are millions of lines of code, hundreds of developers modify them each day. You may learn much from good developers and you might swear about code from poor developers,
- a company makes trainings in each category – How to make good codereview? How to use git?, etc. You can sign up for all of them and nobody cares about that,
- in your team or in your department you might work at one product for few months. After release, it might occur that company decide cancel product and your work go in the trash.
How you can see there is a choise. Right now I decided to stay in the middle of that sick IT world.