Jason Voorhees
๐ธ๐๐๐๐๐๐๐๐ ๐ฎ๐๐๐ โข ๐๐๐๐๐ฅ
- Joined
- May 15, 2020
- Posts
- 96,746
- Reputation
- 293,972
If you have the fortune or the misfortune of becoming an employee at a big tech company. This is how it is going to look like. The old school way of software development was the waterfall model. Theyโd spend a year writing a massive plan, a year building it, and then release it only to realize the users hated it
So the modern software development what they do is agile model.
At the start of the 2 weeks the team sits down and picks a few things to implement (features or bug fixes) from the massive master list (the Backlog).
For the next 14 days, the devs put their heads down and build only those selected features. And everyday there's a 15 minutes stand-up to ensure things stay in sync and the managers are updated about the progress. There's different variants of this like scrum models and some teams in big tech like Google/Netflix have their own versions which I won't get into but this is the basic framework
At the end of the 2 weeks. The team shows off what they built to the bosses or stakeholders. Get a performance review and feedback and they restart the cycle. And it continues.
It might seem like Devs code the entire day but it's really not. Coding is maybe like 10% of what a software developer actually does. It's the easy part even AI can do it infact AI already does most of this part at most companies these days. The problem isn't how to write it is what to write. The hard part of coordination, reading docs, following compliance and taking decisions. You only spend like 2-3 hours max writing code the rest of the time is spent planning, arguing in meetings and to be quite honest just passing time on slack or discord. Bad code can be fixed in an hour but bad decisions takes weeks.
Most software companies these days. Only talking about product companies work in a hybrid mode or already fully remote. Basically 2 days come to office and 3 days stay at home and work. And sometimes when the sprint ends early you often get something called downtime meaning no work just wait for someone to assign you work.
Most MNCs these days also have GCCs. Global capability centers. Almost all big companies these days have this. Walmart, Target, Microsoft, Google, Goldman Sachs, Nvidia etc etc. Major global giants no longer just outsource cheap labor. That is dead, now they build massive, sophisticated tech hubs globally that function as the core engines of the company.
These GCCs have their own core infrastructure, platform engineering
cloud operations, distributed systems, AI/ML systems and security. Some GCCs are effectively peer engineering orgs to US headquarters these days.
These are seperate from the ones serving that market for example the Google GCC in Poland serves the global market which has different goals, infrastructure and teams from Google Poland that serves the local market. GCCs like these exist in Poland, Brazil, India, Mexico etc
en.wikipedia.org
They also take advantage of time zone differences to essentially have a functional teams 24/7. It's called the follow the sun model so late night on call rotation and firefighting at 3 am is not a thing though you can still volunteer for it. I used to do it to impress my boss and for extra pay but it's not a requirement
en.wikipedia.org
And on a quarterly basis. Executives and Employees travel to these GCCs. Teams meets once a quarter to map out the next 3 months of deliverables and for team bonding and presentations for 3-5 few days and then go their ways.
I could go into more details on how these GCCs, Tech companies function in the larger framework and how they coordinate with each other but tbh it's quite complex. There's a lot of hierarchies and structures in place because coordination is extremely important in Tech. These tech companies essentially function like mini countries and also have the money of one and are constantly moving human, intellectual, and financial capital across borders to keep the machine running 24/7. You'll be well paid, get a ton of benefits but there's often a sense of cog in the machine kind of feelings that will always exist because the work you do won't always be visible but it's still fulfilling work.
So the modern software development what they do is agile model.
At the start of the 2 weeks the team sits down and picks a few things to implement (features or bug fixes) from the massive master list (the Backlog).
For the next 14 days, the devs put their heads down and build only those selected features. And everyday there's a 15 minutes stand-up to ensure things stay in sync and the managers are updated about the progress. There's different variants of this like scrum models and some teams in big tech like Google/Netflix have their own versions which I won't get into but this is the basic framework
At the end of the 2 weeks. The team shows off what they built to the bosses or stakeholders. Get a performance review and feedback and they restart the cycle. And it continues.
It might seem like Devs code the entire day but it's really not. Coding is maybe like 10% of what a software developer actually does. It's the easy part even AI can do it infact AI already does most of this part at most companies these days. The problem isn't how to write it is what to write. The hard part of coordination, reading docs, following compliance and taking decisions. You only spend like 2-3 hours max writing code the rest of the time is spent planning, arguing in meetings and to be quite honest just passing time on slack or discord. Bad code can be fixed in an hour but bad decisions takes weeks.
Most software companies these days. Only talking about product companies work in a hybrid mode or already fully remote. Basically 2 days come to office and 3 days stay at home and work. And sometimes when the sprint ends early you often get something called downtime meaning no work just wait for someone to assign you work.
Most MNCs these days also have GCCs. Global capability centers. Almost all big companies these days have this. Walmart, Target, Microsoft, Google, Goldman Sachs, Nvidia etc etc. Major global giants no longer just outsource cheap labor. That is dead, now they build massive, sophisticated tech hubs globally that function as the core engines of the company.
These GCCs have their own core infrastructure, platform engineering
cloud operations, distributed systems, AI/ML systems and security. Some GCCs are effectively peer engineering orgs to US headquarters these days.
These are seperate from the ones serving that market for example the Google GCC in Poland serves the global market which has different goals, infrastructure and teams from Google Poland that serves the local market. GCCs like these exist in Poland, Brazil, India, Mexico etc
Global capability center - Wikipedia
They also take advantage of time zone differences to essentially have a functional teams 24/7. It's called the follow the sun model so late night on call rotation and firefighting at 3 am is not a thing though you can still volunteer for it. I used to do it to impress my boss and for extra pay but it's not a requirement
Follow-the-sun - Wikipedia
And on a quarterly basis. Executives and Employees travel to these GCCs. Teams meets once a quarter to map out the next 3 months of deliverables and for team bonding and presentations for 3-5 few days and then go their ways.
I could go into more details on how these GCCs, Tech companies function in the larger framework and how they coordinate with each other but tbh it's quite complex. There's a lot of hierarchies and structures in place because coordination is extremely important in Tech. These tech companies essentially function like mini countries and also have the money of one and are constantly moving human, intellectual, and financial capital across borders to keep the machine running 24/7. You'll be well paid, get a ton of benefits but there's often a sense of cog in the machine kind of feelings that will always exist because the work you do won't always be visible but it's still fulfilling work.
Last edited:
.webp)