I worked for some small and some very large web agencies, a design agency, a data analysis agency, a well known european seller for band merchandise, a startup which tries a similar service like Lyft or Uber, a startup which has a hardware/software server solution and a gaming company.
In these companies I had a range of 5 to 750+ co-workers. I know, it's not the size of companies like Google or many other big players, but if, for example, a web agency has 200+ co-workers, I would consider them as "big". I met veeeeery much people in the last five years, and unfortunately I didn't had the time to met most of them again since then. I couldn't even memorize some of their names. Sometimes I forget the name right after it was said (I'm really sorry!).
I met a lot of really cool, funny and smart people. We shared knowledge, we drunk, we worked together, we were angry, we were laughing very often, we had good times and bad times. That was one of the best parts in changing the company so often!
Relating to infrastructure there were also not that many differences. Every second company I worked for had problems with their Internet infrastructure.
I know it's always a question of costs. And good Internet infrastructure may costs a bit more than a standard home access. But it's really simple to calculate what it costs if 10+ employees can't work for 10 to 30 minutes a day because of unforeseeable connection problems. Especially if your business or product is bound to >>the Internet<<.
Also every second company I worked for had no option for home-office. Some bosses thought that face-time is more controllable. "As long as I can see the employee, there will be some work done". My personal opinion is, if you hire people to work in your company, you should trust them that they do their job. For developers it's really easy to see if they did their job or not. So give them an option to do home-office sometimes. Changing the desk or location will also boost your creativity. That's a good thing for new ideas and motivation.
Holiday management were the same in every company. I never had problems getting my days off. Neither in a startup nor in a big agency.
I also had luck with lunch break times. I never had something like set hours. Whenever I wanted to make a break, I was free to do so. (That's strange and feels like wonderland if you come directly from "the real world").
Working times were also more or less the same. Eight hours plus the break times you took. Of course if there was a project with time hassle, then I had to work a bit longer, but that wasn't that often. In some companies I was free to come whenever I wanted. Sometimes I went to office on 2 pm. The bad part was then to work until 11 pm. But hey, it was quiet! To be honest, I find it really hard to begin to work before 9 am. My high times are around 1 pm and 5 pm. Sometime I avoid lunch break because I don't want to break my workflow. You know, when you're in the "tunnel" you won't get out.
Then there was the topic of project management. Oh boy, I guess I had everything possible. I had to do all by my own. I had agile processes, Kanban, Scrum, dozens of team chat and organization or task tools. In some companies I had to talk with customers and figure out what they want and did all the management plus development and design. In some other companies I only did front-end development and for every other task there was a specialist.
In a startup you have to work more than just your specialty. The more you know, the better. That's awesome because you can learn a very bright field of things if you want. And you can do more than just your job (which I consider as good experiences). You share knowledge not only with your developer colleagues, but with everything else. So you maybe gain skills in hiring people, or in organizing events, or how to design stuff. And, if someone fails, you'll learn how to not do things, which is also very important to know.
In a bigger company you can specialize your career. Bigger companies also have titles. So you can grow and climb the title ladder. Junior, regular, senior, lead, head of.
If you're a development beginner, you should consider working in an agency or a startup. You're not getting much money, but you will get many experiences in a short amount of time. These companies will mostly hire you when you're still studying. Why? Because you are not a specialist and you know nearly nothing, but you can learn very quick! And most important, you are damn cheap. But that's not an evil trick! It's a fair deal. They will fill you with your first practical experiences. And if you haven't noticed yet, you are worthless without practical experiences. "Master degree in computer science? Nice! Can you show us some work you did? You developed the website of your cousin? Oh, well, we have an intern position and we'll pay you five nickel a month".
In Tech- and Internet companies, you will get a job and good money if you're good at what you do. No one will give you money for a good school degree.
Ah! And there is a special little thing which you mostly will find in a startup.
I figured out a stage which I call "the lemonade period". This is the timeframe short after a startup got money from investors. Business Angels, Venture Capital, Crowdfunding, whatever. I saw this not only in those startups I worked for, but in many others too. They spend a bunch of money for cool employee events, office gadgets and many many many other really unimportant things just to have that "startup feeling". And, which happens every time, they spend their money on dozens of lemonades and energy drinks for their employees (and I don't mean these free specials you get as a company from Red Bull). I had days I drunk four, five, six energy drinks a day! So in this period you can be sure, the sun will shine, even if it's raining outside. It's a time when everything seems to be possible. "We change the world" seems like a real thing. Until reality hits the bank account.
Don't get me wrong. Of course it's super awesome to be an employee at this stage of a startup, but I also see this from a managers view, and that's just not making any sense to me. You can keep your employees happy without fill them with unhealthy sugar water, while spending your money wisely. And on top of this, it's pretty frustrating if you enjoy having those benefits for some weeks or months, but then you have to pay for it again, because the company, then, has to save money.
So if you're working in a startup and suddenly the only liquid you get for free is water instead of energy drinks and sorts of lemonade, there's something not working as expected ;)
Next post: Chapter 4: Good Or Bad Company