Sometimes the success of your education and career will be measured by the company you work for. This is why working at a big tech company is the ambition of many software engineers. However, working at a big tech company has its own set of challenges as well as benefits. Sometimes it can be rewarding, and sometimes, it can be stressful.
There are a lot of big tech companies that work in so many different ways. The pros and cons of each company can be different from one another. Yet, we can still find some common characteristics among big tech giants. As someone who worked at a bit tech company, let me share my experience with you.
At a big company, you can get a steady footing and high job security in the long run compared to small and medium-sized companies. Furthermore, a big company is unlikely to face sudden financial issues and can effectively deal with evolving market conditions. The most important benefit you can gain through this stability is the peace of mind to plan your future and the ability to stay with that company until you retire.
The best thing about working for a big tech company is the high remuneration package it offers. For example, my salary is twice as much as another developer with the same level of experience working at a medium-sized company. Apart from that, I receive attractive benefits such as insurance, bonuses, allowances, better trips, and parties. My company also provides free food for all three meals, free transport, a free gym, and baby care rooms. Another most exciting benefit you gain from working for a big tech company is owning a certain number of company stocks.
You will be exposed to a wide variety of technologies with large scale and different kinds of projects. For instance, one day, I will be troubleshooting a Python script in AWS Code pipelines, whereas the next day, I will be assisting in building a conversational AI Bot in Azure. This exposure can be both exciting as well as frustrating since you will have to learn new things quickly. For me, learning new stuff and challenging myself is much better than working on the same mundane tasks.
Big companies, by their nature, tackle big projects. Thus projects are sometimes managed by larger teams with hundreds of team members. When a bug causes a production issue, the whole team will be responsible for the issue. For example, your code will be reviewed by your peers, and you will review the codes of your peers. Thus, one person won’t be singled out for a given error. Moreover, there are senior developers and leads higher up the chain who are more responsible for the product. This leads to higher job security compared to when you work for a small company.
The ability to grow goes hand in hand with steady employment. At a big company, you will get the opportunity to grow both within and outside the company. Moreover, you will gain recognition by simply saying you work at that company. It will open doors to more opportunities like visiting lecturer positions, attending or presenting technical conferences, and even attractive offers from rival companies.
However, you may find it hard to climb the ladder in a big company, as there are many potential candidates for the promotion. In a small company, the competition is low, so if you are looking to grow inside the company. You may consider joining a small company. If you are considering the growth of your overall career, by increasing opportunities and recognition, a big tech company can help you by increasing opportunities and recognition.
If you ever thought that you are going to make the next big thing or make a splash in a big company, sorry to burst your bubble, but it may just be a dream. You have to remember that you are just a cog in a larger system with little to no effect. If you leave the company, many new applicants are there in the queue, ready to take your job at a moment's notice.
Teamwork is usually highlighted in these companies rather than individual effort. If you want to share the responsibility for your mistakes, be prepared to share the glory too, as it's a two-way street. There won’t be many celebrations about personal achievements but celebrations about the success of the entire team or even department. Often, your personal success can be hidden behind the scenes.
Therefore, most people are satisfied with performing their job in their circles. However, think twice before joining a big tech company if you want to take risks and not be bound by corporate norms.
As developers, most of us are introverts who excel at technical work. Yet, it might be a disadvantage when it comes to soft skills. For example, when you work at a big company, you will definitely have to conduct KT sessions, webinars, or production presentations in a big tech company. Such situations can be challenging, and the judgemental gazes are never a good feeling. The worst part is this lack of soft skills can make you completely unrecognized or unappreciated. Instead, more talkative people may give the impression that they contribute more, even when they are not. This will, in turn, negatively impact your future promotions, bonuses, etc. and quickly become less than ideal when coupled with office politics.
Once you are assigned a task, you will have to stick to the same schedule until you finish that task. With tight deadlines and a larger scope of work, you are bound to this schedule to finish the work promptly. However, this schedule will quickly get boring if it is a mundane, repetitive task like manually running the same test case, looking through the same event logs, or updating the daily work tracker. Thus, you will always be looking forward to the day you can complete the assigned task and take a break from repetitive work.
One of the biggest concerns I always have is that I have to participate in many team meetings, activities, responsibilities, etc. Sometimes I have to be in 3 and 4 teams in a day. This is one of the common things in many big tech companies. You may like this or not depending on your nature. But I think most developers are not very happy with a lot of talking and presentations. Also, there is a lot of documentation work with each work which takes considerable time to be done but you can’t really tell these small things in daily sync-up meetings.
Within a big tech company, you will have to work with multiple leads regularly. This leads to getting different work assigned to you by different people. Due to that, your focus will constantly be shifting, and it can quickly become a huge burden if not managed properly. Besides, you can be shifted to a different team altogether at a moment's notice upending your whole workflow.
However, it will take some time for you to get to know each other and be comfortable in the new environment with a new team. Further, if you are specialized in a specific subject (Ex: IaC), there is a high chance that you may get constantly shifted between different product teams to aid them in the development process. This can create a feeling of estrangement between yourself and the other team members.
As with any decision you make in life, the decision to join a big tech company must also be carefully considered by weighing both the pros and cons offered by a big company. It’s also important to remember that not all big tech companies work in the same way. So the points I made here may not be applicable to all companies. The best thing you should do is talk to an employee of that particular company you are interested in joining. However, I believe this article would give you a rough idea about the life of a software engineer who works at a big tech company.
Shanika Wickramasinghe is a software engineer by profession and a graduate in Information Technology. Her specialties are Web and Mobile Development. She has more than 6 years of experience in software development.
Shanika considers writing the best medium to learn and share her knowledge. She is passionate about everything she does, loves to travel, and enjoys nature whenever she takes a break from her busy work schedule.