The one thing I'm noticing is that it's miserable to work here because EVERYTHING has friction and takes days to get done and has to go through numerous teams and approvals just for the simplest stuff like a new VM or an SSL cert from their own in house CA.
I get great satisfaction at work out of accomplishing things and this is just rediculous to the point of making me dislike working.
To get anything done is emotionally exhausting.
Anyone else dealt with this?
Anyone have any type of jobs where friction is minimal?
One answer is to accept the way things are at BigCo and to just coast along in your role, which is not necessarily a bad thing.
Another answer is to work at an early-stage startup or a small non-tech company where you can move fast. The tradeoff there is lack of job security and lesser pay.
Don't ever expect to move fast at BigCo. It's a BigCo for a reason. By moving fast, you could upset the cash cow, hence the friction placed in front of you. But this can work in your favor. Excellence will not be expected of you at BigCo, and if anyone complains about why nothing is getting done, you just repeat exactly why. As long as the company is making money and you haven't made any enemies, the chances of you getting fired are slim to none.
IMO, you have to look at the big picture. If you ignore the friction factor, is life at BigCo so bad? Are your hours reasonable? Do you like your coworkers? Good pay? Learning to let go your frustration with how you think the company should be run may be the most favorable choice. Remember, all jobs suck, more or less. A year after you change companies, you will find things to hate about that one as well.
It's normal that a single developer is maybe 20% as efficient at a big company compared to at a small company. What you used to accomplish in one day will now take you a week (after team processes, code reviews, deployment requests, etc, etc).
But the trade-off is the big companies have figured out how to keep thousands of people productive. They might individually be less productive, but as a whole they accomplish more than a small company can accomplish. Some do it better than others, but no big company works like a small company.
That's just how it is. It's easier to solve problems with small groups of people than large groups of people. If the problem takes a large group of people, it will be a lot less efficient.
I would even say that working at a big company as essentially a different skillset than working at a start-up or small company. In a big company, your main job is to get other people to do things and you are successful based on how well you can do that. In a small company, your job is to do things yourself.
If you really hate the big company world, you should consider moving back to a small company. It's never going to not be like that.
1) Cultivate an attitude of optimism and gratitude despite the challenges, perhaps through a study of Stoicism and a cultivation of patience via a study of Buddhism. Gain more pain tolerance. Learn to not care so much about the outcomes, and care more about your own presence and the excellence of your contribution. Learn to care more about other people, rather than just getting the job done. Learn to have more fun, while also "digging the digital ditch". Being calm and steady despite feeling uncomfortable is an invaluable life skill essential to growth and doing big things.
2) Learn to politic. Recommended reading (and there is a lot) would be How to Win Friends and Influence People, as well as Robert Greene's The 48 Laws of Power. Navigating people and political systems is also an invaluable life skill and essential to growth and going big things.
3) Develop your life outside of work more fully. Consider getting more involved in helping your family, your friends, and your community. Volunteer opportunities abound. Perhaps they need a speedy hacker like you to help them with some part of their tech?
4) Study the challenges of BigCo for startup opportunities. Lots of startups are created by people who ran into a big challenge at a big co, then broke out on their own to solve the problem, then were able to grow by selling back to their previous employers to solve the problems with tech.
At one such company, no names, they had a rather large consumer facing website. I was told it had no analytics other than a homegrown solution (which was terrible). Then it turned out that had Google Analytics (Enterprise) but everyone had forgotten about it. They denied it at first, but I showed them screenshots of the Network tab in Chrome where it was pretty obvious. Suddenly I had access. So far this is 3 weeks or emails.
With access I realized the implementation was botched. All view states were being handled by a hash in the URL so all Page Views in GA were reported in one URL.
I requested a minor code tweak to account for this. I was told by the dev team it would take 6-8 weeks to implement such a change. I was assured this was rather complex and they'd need to free up people too to work on it so that could take longer.
I told them the code change was already written and I'd included it in the initial request. I referenced the template file within their system where they change would live and included tests. They still dragged their feet. It got completed in my last week. Copy/pasted exactly as I'd written it.
It was utter madness.
There will be people who insist that you should “focus on the most important thing” but if it’s blocked what’s the point?
The other thing to do is make a lot of friends in related departments. It’s amazing how much faster things will go when someone does you a favour. Expect to be doing favours in return.
For what it is worth, I am at a BigCo and while yes it is true you cannot just hammer out 4000 lines of unreviewed code and push to production without someone else being involved, you also benefit because people aren't just changing stuff willy-nilly. E.g. your project you've been working on wont suddenly stop working in production out of the blue because Clive decided to totally change the database table schemas at 4am on Wednesday morning and nobody told you about it etc etc
At a fruit-themed Bay Area company I can register a domain name behind a load balancer, issue a new cert, kickoff a VM to host it internally all in the same day without any approvals... so long as it is below a certain scale suitable for testing, skunkworks projects, etc. Approvals and meetings only become necessary if I want to deploy a production service, a large-scale service, or both.
Requests for a new repo or Confluence space are fulfilled same day and give me complete admin control over it. I can kickoff custom OS builds and generation of installation images via a self-service portal. I can create new email-enabled LDAP groups via self-service. I decide if the group itself is self-add or not, etc. Anyone else in the company can do the same. Many other things are as simple as direct manager approval.
You don't have to put up with bureaucratic nonsense, it just happens to be common in corporate America where management doesn't trust the peons to make decisions. Or perhaps where everything is driven by division P&L so no one wants to be responsible for spending money outside their fiefdom?
I prefer an environment where individuals have responsibility and yet where we accept mistakes will be made. As long as you learn from a mistake and don't continuously repeat it there is no need for a new process in response to it.
I am not happy to bring bad tidings.
Edit: no business gets “Big” without a good paper trail and this implies that no action is performed unless some previous paper work has been carried out.
Software engineering interviews do not value authenticity, typically. They want you to say what they want to hear. I purposely go in the opposite direction. I am always myself, say how I feel, and challenge the interviewer.
My girlfriend ( soon to be wife ) has no issues getting any job she wants in software engineering. She will recite exactly the words they want to hear, and they love her. I will say exactly what I want to say in an interview and they will love or hate me. I have no intention of changing.
My best advice? Leave for a smaller company that lets you do whatever you want to do and perform at an exceptional level. You get the same satisfaction, same pay, and you may only be 1 step down from VP. You can grab VP's, C's for a comment, you can do whatever you want ( as long as you perform ).
That's the way. For me at least.
The other side of the coin is that all these processes exist for a reason. If an outage costs you a billion dollars, it's financially great if you're filling out paperwork and having meetings instead of checking in features that break production.
The key is to be adaptable. Observe what is a necessary waste of time, and get it done and out of the way. Observe what is an unnecessary use of time, and work around it. And, accept that you can't always win. Sometimes it's socially imperative to do something that's objectively a waste of time (status meetings), so you have to do it.
(Why do they make it so hard to get work done at big companies? No idea. I could never go back. Not being productive at work isn't worth the extra money they pay you. Kind of sad when you think about it.)
[I also ended up at a BigCo along with others from a small startup that pivoted multiple times after making v1 products that could have been successful.]
What I learned is to reframe expectations. At the startup, I could develop software and features rapidly with no impediments than my own lack of knowledge in an area. At the BigCo, the product is large, changes are slow, and processes are safe. The payoff though is that when you do ship that feature, it's being used by thousands-to-millions more users than it would have been at the startup.
At the same time, all the one-off things I used to do at the startup should have been streamlined at the BigCo so that I can think primarily about the problem I'm trying to solve and not the peripheral routine elements of every service that gets shipped. If this is not the case, perhaps the BigCo's processes are not very well streamlined.
I've found some ways to adapt, but some things still take much longer than they should, like PR reviews (but I'm also guilty of being a slow reviewer).
> emotionally exhausting
This is because you have an expectation that a certain thing should only take a certain amount of time and effort.
The best general advice is to work on multiple things concurrently, so that when one thing has delays you can switch to another one that's ready for work.
You have to decide whether you want to actively improve these inefficient processes, accept them, adapt, or move on. Anything else will be suffering. If you move to another BigCo the annoyances will be different more to your liking, or not.
One thing you are mentioning is the friction around the dev experience however and there is perhaps an action you can take, if you're willing this early in your tenure there, to put your neck out on the line.
My very firm belief is that a bad dev experience results in a high cost of experimentation which means people don't try new things out and innovation stops. The only way things get done is through massively coordinated efforts. If you can associate a cost of the gate keeping with productivity and then directly back to the money it costs the company, or money that could be saved, or feature velocity to be gained, you can make a case for improving the experience. Making the case and seeing this all through will take you 6-9 months.
Minimal friction is the opposite scenario - be a contractor, take whole jobs, do it all yourself. I prefer it, but there's no coasting.
All Over the world, workers yearn for breathing time - A few minutes away from the the production line. They wish their tool breaks and the management takes a long while to provide a replacement.
What’s your issue, op? You seem very excited to generate shareholder profit.
That being said, to each their own and I know a lot of my coworkers were really happy there.
The risk to a small company is that the product will not make money, impressions don't convert, and the runway runs out.
The risk to established companies is every other risk - software license risk, security risks, etc, etc, etc.
Big Co also runs some or all IT as a cost center - people don't get to make the product better, it's difficult to staff appropriately for the work load.
Big Co also treats people as cogs to churn out some "work" - management at the top cannot understand or help with every project, so they have tools to understand what hours are spent on which project. Then they expect those tools to tell them something useful, so they hound the middle managers based on the work recorded in the tools. "You manage what you measure"
Friction is minimal when your job is very repeatable, or when you don't actually try to do anything.
The trick to escaping bureaucracy is the same for both. Making friends with people, and talking to them directly when you need to massage the processes. It's just that it is much easier to be friends with 50 people than 5000. Working from home can be an issue, make sure to video chat when you can and goto as many official and unofficial events as you can.
If you have a good manager, and your manager has a good manager, they should have contacts around the company that can help with the red tape. Never abuse it, and when you're in a situation where your urge is to be a roadblock to another team, go out of your way to help them instead. It always comes back in a good way.
Office politics sucks, but it's the only way to stay sane in these environments.
Sometimes you have to remember that the friction is because they just don't know any better, or because they do no better, but they're too busy or too tired to create a better system. They are all dealing with the same nonsense, and it is soul crushing.
In my current job, I had managed to skirt a lot of the corporate nonsense for a long time, but we merged with a company that had a very by-the-book culture, and my manager had to resign for health reasons. Things have been downhill for the past few years, and if I could get a job making the same at a company that didn't do all that, I would probably take it.
..but that brings me to another point, I loved that small company, like family. Then One day a bunch of my friends were fired for personal/political reasons. I left a year or so later, and a year after that they sold the company, and a year after that the new company closed the office and just kept the data center. The point is that bigger companies are more stable, if you have a mortgage or kids it's really no choice.
Yes - there's lots of friction. Bureaucracy is inevitable, given the cost of turning the ship/the risk level if something bad sneaks through.
That said, there is a ton of potential leverage at BigCo - the scale is extraordinary.
It is a trade - you get a far bigger lever, but it takes way longer to pull.
In contrast, few people notice if SmallCo's website is down for a while or a bill isn't paid.
Having worked at both Big and SmallCo, the stress/salary rate is usually much lower in BigCo thanks to that process, so, assuming you want to carry on working there, embrace the process and understand that (most of) it is your friend.
I work at a small agency and often do work for non-technical clients, or get hired to work on a completely unmaintained legacy system. I end up owning nearly everything myself, and it's a massive pain in the ass.
You might be frustrated with the process of getting a new VM, but you also don't have to own and maintain all the VMs by yourself. I bet you won't have to personally manage the billing of this VM directly, or monitor for any changes in usage or pricing, etc, but somebody in your organization will.
I often have to own and manage the SSL certs on dozens of unrelated properties... and own and address all the front end issues in every framework... and all the ci/cd issues for every legacy codebase... and anything else I want I gotta do. I also have to properly research all providers and price tiers and budget it all for my clients and then sell them on any service I consider worth it.
Tactically:
Get better at navigating it. Is there a person hitting a button somewhere? Get to know that team well. Make it easy for them to approve your requests by being exemplary. Automate the process on your end. I've written scripts to fill out forms and open sourced them internally at large companies.
Strategically:
Understand why it's so filled with friction at a systemic level. Legacy organizational structure? Lack of engineering resources on the platform teams? Try to suggest sensible, iterative fixes. This only works at some companies, others are so tribal that another team approaching them with a low effort / high return suggestion is seen as aggression.
It's much more rewarding to attempt to solve these problems and be an owner than to go into ugh whatever mode and passively take it. It's also better for your career in the long term.
You are used to things having few dependencies so you can focus on one task and take it to completion. Now there are many dependencies and so you have lots of downtime. You can use this downtime to set other things in to motion.
In a large organization, NO SINGLE PERSON makes a decision. It's THE PROCESS that makes the decision. And THE PROCESS takes time. One of the greatest skills you can learn at a large organization is identifying, bypassing and avoiding THE PROCESS. It can be done, you just need to figure out how.
BigCos are playing defense - they want to maintain the status quo and not kill the golden goose. They've built a castle to protect it. It's only natural that they will add friction everywhere for the fear of killing the damn bird.
Relax and coast for a bit, and jump to a small company. But like others have said, you will work more hours, and they can be insanely high cognitive load for other reasons.
I imagine that the majority of white collar workers are employed by large corporations, and so the majority have to deal with this.
Given the number of startup layoffs happening, I imagine a lot of people will be having their first experience with large corporate bureaucracy.
> To get anything done is emotionally exhausting.
Onboarding as a new hire is usually the most frustrating period, because you need to request a lot of things and can't get any work done in the meantime. Eventually you have enough access that you can at least do work while waiting on other requests.
One thing that helps is knowing how to use the corporate tracking system to know which individual specifically the request is stuck on, and then relentlessly following up with that individual via email until they approve your request.
You should also track your tasks and identify the ones that are stalled because you're waiting on a request, and then regularly show the list to your manager (along with your follow up efforts). That way you have a solid reason for not getting those tasks completed.
My Big Company experience was they broke us up into smallish teams (6-20 people), which made us work more like a small company in many respects. There was a lot of process, but it was actually a good discipline to have. (Its always startling when I started in academia the "code repo" was CVS and not hardly used..)
My big company code was more thoroughly reviewed and frankly better.. I learned a lot from those reviews and being given the time to design before coding. Having to do it all at a small company you learn a lot too. Big companies actually measured productivity, and had a processes.. Much less input into what we were going to do.
Though it wasn't all great: I was put on the "Morale Committee" because morale was low. This didn't help my Morale, but we did get the company to do some ice-cream socials.
rantish story
I work at a BIG Co (think 700k+ global employees) and we work for other Big(ish) Co as more or less data & code wrangling consultants.
How did I end here? I worked for a small(ish) agency with around 500 people. We moved fast, we build cool stuff, we already to worked for the Big Companies and Banks in our market (Germany). We were at a point were quite a few more formal processes would have been necessary to put into place to fulfill compliance regulations of different markets (think banking or automotive - these require a lot of stuff in terms of compliance from their vendors).
But we got lucky (?) and bought because BIG Co was not able to build their own agency - so they bought a lot of agencies to build a new one.
In the "good ol' days" I knew whom to ask to get anything done. There was an official process and the ones in the know knew how to navigate the short cut. Ask the right person, receive special treatment and be on your way flying fast.
OK - it made the process longer for the lowlies who didn't know the right people. And that is exactly the problem. There already was a two class society of workers. Because we already were too big for "no process" and too small for BIG Co process (and that drags us down nowadays). But the people following the process unbeknown to them got blocked by us knowing the shortcut.
So yeah - it feels shitty and slow and probably as if someone wants to gauge ones eyeballs out with a hot branding iron.
maybe helpful POV
But think of it like this:
Try to transport a 20 foot container on a high power speed boat. The speed boat will be way faster, more agile, more flexible. But if a somewhat bigger wave appears it will crash. And it will also not be able to deliver that much impact (containers) as the big ship once it arrives in the harbor.
IMO, it depends on the friction. If this is just your own expectations not being met... you can adjust those.
If, however, you have other people on your team or people you answer to expecting things to be faster, but other parts of the system are working against you... that seems to be a recipe for constant pain/friction, unless/until others leave/change (which you generally have no control over).
Things that should take 2 hrs taking 2 weeks are annoying/frustrating on their own. If you have other people setting deadlines for you which don't align with the processes you're tied to - that's a whole other level of pain, and it might be worth trying to find someplace a bit less internally conflicted.
If you don’t have alternative things to do while things block, you might see about getting other things to do. Or, adapt your work style to minimize the number of times you run into these obstacles. The people I see get most frustrated are those that don’t adapt to the system and get frustrated when it doesn’t work the way they want it to. Adapting may be annoying and may break some comfortable habits, but in the long run I find it to be the route of least angst.
I left defense and I'm now in a BigCo. and loving life because things only take days at most. Appreciate what you have?
Once you realize its all about work tracking, basically, it becomes either more of a hurdle or easier to understand and manage, but thats basically what you're up against here.
Pick your battles. Not only is it exhausting to make everything a fight, but people will appreciate it more, and be on your side more, if you pick only the important things to stand your ground on.
Make friends. There will be people who feel the same way, finding them is usually good to get things done quickly. It can be important also to break down the team barriers. Requiring a different team to accomplish something is a big part of friction, and knowing individuals in those teams that get stuff done can help. The way to get them on side is to make their jobs easier, and again picking your battles and compromising are good ways to do this.
Get buy in on big changes. So this is different from making friends. You need to develop people that agree that a change needs to happen, and on a way of making that change. I'd start small, with convincing Individual Contributors first, particularly if there are very well respected ones. Then seeking out management and building the case that the changes will improve their situation. This can be a slow process. Managers will appreciate it if it can seem like their project, and once it does, you'll have their backing because they don't want it to fail.
All that said, there are certainly places where this sort of friction is minimal, usually remote devops driven start-ups or consultancies.
I'd use buzz words also, to help make your case. The whole DevOps shift comes with some principles that you can wield to make the case that infra changes should belong in the team, and CI/CD and similar require that VMs (well, pods really) be spun up easily, and from an API.
Welcome to BigCo. That's all there is.
The starting date is fast approaching, but offer is contingent on the background check which hasn't come in. The third party company hired, generated their background report over two weeks ago, but the hiring company hasn't communicated their approval. The check had some warnings, because I worked for small companies that have been resold since, and nobody answered them when they called.
The recruiter who works directly for the company has said they will get back to me soon, but nothing happened yet. As we got into closer than two week from the scheduled start date, I asked to push the hiring date.
However do I just keep pushing the date until background is done?
I can't see myself quitting current job until the background is signed off. Or should I?
Should I just like somehow do two jobs (I don't think I mentally can)? Until the background is done?
I've been at my current company for several years, and I can't risk having no job (quit, then new job finds something they don't like), so what do I do?
I'm fine waiting for months and pushing the date, but will they still want me?
If you have great ability, do t squander it. Get another job where you can be more effective. Find your passion and your fortune will likely follow.
I eschewed advice like the others give, and I didn’t have to work after 35. Yes I got lucky but I also worked hard and failed and got back up and found a place to succeed.
Big companies are mostly for drones.
I think large companies with low friction are the exception, not the rule. It takes MASSIVE amounts of work to build the infrastructure that thousands of engineers need (or be willing to spend millions of dollars for SaaS). I can think of only a few large tech companies with low friction (Google, Netflix, Meta), and they spend a lot on tooling.
There's a few ways to deal with it. What I noticed was that the 'effective' engineers would avoid the standard process and be 'noisy'. They were comfortable asking directly via chat or in person for what they wanted instead of filing tickets or having meetings. They used their relationships (which they did work to build) to skip the line and save time.
You also need some kind of perspective change at large companies. You've moved from rowing your own boat to a battleship. Process is there for protection from rogue employees wreaking havoc on the system, not to make you move fast. Think of it from a manager or platform team's perspective. How do you manage over 1,000 SSL certs (and renew them)? Prevent VM proliferation that needs to be accounted for and secured? Certainly it can all be automated, but at a BigCo's scale, that is a 4-5 person job, and that team is competing with other 'revenue generating' teams for headcount.
I would also recommend to give it some time. You will adjust and learn over time how to work more effectively. I noticed after a few years that I could grease the wheels a bit because I had spent time cultivating relationships with various teams.
Good luck!
At BigCo, there is a lot more protocol, because there has to be. The boss is physically incapable of knowing every employee personally. You are physically incapable of knowing every possible point where VMs might get used or abused. There needs to be a protocol to authorize these requests and keep a record of it.
This is just the way it is, and you should understand and accept it if you want to keep working in these environments.
If there are BigCo's that seem to work better, it's because they spend more resources on improving their protocols and processes, not that they magically bypassed the inherent complexity of running an organization of 10,000 people.
Sometimes I amuse myself by imagining things from a management perspective, which I'm supposed to represent. I'm a physicist, not a software dev, so I don't know VM or SSL, in their particulars. But still, if the company has a process for making those things, in a way that's manageable and secure for the business, then it's a step towards automating them. From that perspective, the tasks that you did at LittleCo are seen as things that could, if not should, be automated. Or delegated.
One comment in this thread mentions BigCo turning people into drones, but viewed from a couple levels above you, doing work that could be automated or delegated, is drone work. Each "side" has its own view of what drones are and do.
It may take some effort, or even just patience, to get over the annoyance of "friction" that doesn't seem to bother the higher ups, and focus on the things that they care about, or you care about, or both. After nearly 25 years at BigCo, the friction actually has a negligible impact on my work. I avoid taking an emotional stake in stuff that isn't valued when viewed from above. What I take away is the learning that's of more widespread or lasting value.
Or you might like LittleCo better. In Man and Superman by George Bernard Shaw, two people are in heaven and hell, respectively, and neither one can stand it, so they agree to trade places. A couple things I've liked about BigCo: 1) It's unlikely that I will ever be the smartest person. There are world experts in my skill areas, whom I can talk to. 2) They've managed to stay in business, whereas not being able to stay in business was why the company had to sell out to BigCo in the first place.
I felt like I could have built out the project in a weekend with php, and I don't even know much php.
But then, in the "productionalization step" there was a lot of leverage from being at bigCo. I could get it internationalized super easily. I got security, encryption keys, done. I got a hostname with a few clicks. I got redundant deployments, and separate release / dev environments. I have metrics and monitoring. My DB is backed up and region sharded and all kinds of stuff I don't care about. Users can delete their accounts and my db can get purged.
So building the "demo" version felt a lot slower, but transitioning it to the production version was a lot faster than me working on my own.
For me it was the SDLC part... as in a seemingly small feature would take 2 weeks to get done because you needed to: create a TDD read me that described what you were going to do, how, unit tests involved, side effects, etc... then write the code, unit tests, PR, write more integration testing, PR... get it into a package to be released. But later on I realized that is standard/how to maintain large applications.
Also the other thing that is not as fun is your job is very small/specific I found at the first place I was at. I didn't touch the build pipeline, didn't work with containers, I just wrote front end code basically.
I think it's important for everyone to experience different types of companies different roles, and find a space where you feel happy and successful.
The spot may change over time or it may not.
Need that SSL cert? Request it a month before you need it.
Need that column in the table? Request it long before you need it. Didn’t end up needing it? Sell it to another team, sure it might not be named what they want but they can use it today.
If work is broken out to specialized teams (SSL certs, scans, security stuff - team A, VM's and storage - team B, networking/firewalls - team C, etc.) there will be friction, doesn't matter if its some cool company or some boring Fortune 500 company making farm equip.
You should be able to figure out the scale of friction with interview questions like "say a new project spins up to build a web+mobile app/CRUD/SQL and needs servers - walk me through how many teams+time it takes to get servers up and running where a dev can deploy code"
I do think it’s worth recognizing that any big company used to be a tiny company, and the road to “big” was probably long and complex.
The growth process from small to mid-sized, and mid-sized to large, comes with a lot of challenges that you may have never witnessed if you’ve been at smaller places. Some of the high-velocity/low-friction approaches to things you might miss (for good reason) become a nightmare at scale. Some of that friction might actually be healthy.
In that regard it’s a lot like jumping into a codebase that’s been around for many years. If it’s your first time some of the code is going to look just awful, but you don’t know why yet.
- maybe pressures at the time meant that code was the right call back then, but it’s not now
- maybe that code is the right call and you don’t fully understand the problem yet because you’re brand new
- or maybe the code really is just bad!
Either way, you can’t really know until you spend some time with it and gain context about the problem domain and the system’s history.
That said, your perspective as a new hire from a place that moved faster is really valuable. I hope you take some notes about these experiences and let them collect for a few months as you gain more context. A good manager and leadership chain should be interested in what you have to say! The more time you spend there the more you’ll be able to flag the areas that seem the best suited for improvement. That kind of stuff can turn into promotion-level accomplishments really fast if you have the right support.
FWIW I had no patience for big companies early in my career and I’m happy I left for smaller ventures, it just wasn’t what I was looking for whether or not the “friction” was justified. These days the pace and process of larger (but not massive) companies suits me better, and I can see some sound reasoning behind some of the things we do that would look like bureaucracy to someone coming from a startup.
Worst case scenario you’ll find out the BigCo life just isn’t for you, at least for now. It’s sweet you’re getting paid to find out :D
Both can be lucrative journeys.
I worked at a large media corporation with an office in times square NYC and it was the most unprofessional and demoralizing experience. The level of CYA behavior was mind blowing, it was like interacting with an alien race wearing people suits.
There are people that get off on this kind of environment and thrive in it. They don't care how corrosive it is to the people forced to tolerate it for survival.
It never gets better, get out now before they start inventing KPIs to shame you into submission
I work at environment with a lot of peocess. There are a few approaches you can take:
1. Try and get some consensus of support from your peers and/or managers for improvements to make the processes less onerous
2. Do all you can to foster good relationships with the people in the various processes. You would be surprised how much things can be expedited if you're on good terms with the gatekeepers.
The company is paying you to work to their schedule, and unless you're working on "efficiency" or workflow improvement - just take it as it is and keep on top of it with your calendar.
Yeah, it's silly to file a ticket for a self signed cert, but it also puts the onus and responsibility on that team ,not you. Yes you'll miss out on small wins like that, but really - it's a cert in the end, and once you raise it up - let the team deal with it.
welcome to corporate world, AKA the meat grinder.... it's all about: "just because you( your work, actually ) are necessary, doesn't mean you ( your work ) are important". Just collect the checks ( i hope they are fat ) and "go through the motions". By the time you grow really sick of everything, let's hope you have saved/invested enough money to be really close to (early) retirement.
To keep your sanity, make sure to have a personal side project where you can do things fast
If you feel creatively constrained, try to do a fun project so you can learn new things. But don't through away a good job just because it takes long to do anything.
I've done work for big insurance companies, "tech companies" like Verizon, or big soda companies, and they're as high friction as you'd expect. Somehow I imagined BigTechCos to use better tools and be nimbler on decision-making, letting employees make their own decisions without as much oversight.
If it's truly unpleasant, then try to be that guy who can "make a few calls" and get stuff pushed through a small bit quicker. Pander to the egos you'll encounter, hop to their beat until you get things done because fighting it will just end up taking longer.
The first 18 months were tough. I came from one of the best tech companies in the world, one of those included in the famous acronym and starts with A and is based in Seattle, and I got quickly frustrated in my new job with the slowness, the incompetence, the politics. And people didn't listen to any of my ideas, how rude!
They would tell me, "yes, good idea," "of course we'll do it," only to realize that no one thought it was a good idea, if they even listened to what I was saying, and no one was working to get anything done.
Then I understood the situation and calmed down. This is the way things work here, I told myself, and nothing I do is going to change anything in such a large company.
Now, some, maybe many among the HN crowd would tell me to move to another job, to find a place in which my ideas, assuming they make sense, are respected, properly valued, where promotions don't happen mysteriously but they reflect the value that the individual is bringing and will bring to the organization.
But why?
Why should I give up on a life that allows me to work little, take plenty of official and unofficial vacations, explore avenues of creativity like writing, painting, and cooking, build up my body by working out at the gym and tan properly by laying in the sun?
Why would I want to work again for a demanding machine in which I am a cog like 95 percent of my stressed, overworked and largely unhappy colleagues?
Why would I want to spend the time I can now devote to reading fiction in the summer sun, listening to great classical music while cooking, preparing instead for interviews that would put me in front of people who, at my advanced age, want to find a reason not to hire me because I am not as smart as they think, wildly overestimating their quality, that they are?
A reasonable question is: well, when this idyllic situation will change, because nothing convenient is forever, what are you gonna do? I guess, if I need, I will start working "seriously" again. But not today, today I am reading a collection of short stories written by one of my favorite Japanese authors.
Based on moving from a technology company of 700 to a bank of 120000
That is why I love startups. I gotta find me a nice startup in need of a sr. full stack engineer with backend emphasis.
Occasionally, these jobs end suddenly, but I gladly accept that risk.
When I started, I had a single monitor machine that didn't have Visual Studio installed. I was told I'd have to wait till the next budget cycle for a second monitor. I didn't get Visual Studio installed for 3 WEEKS and no one seemed to care. I'm not sure why they thought it was fine for a six figure developer to basically be sitting idle for 3 weeks, but that attitude was basically the norm.
When I actually got coding, everything was road blocks. Policies and procedures everywhere. No one had time to explain anything. Everything had to be submitted through a ticketing system. It was just bad. Daily standups where I just made up BS because they'd barely given me anything to work on, and no one seemed to care.
The thing was that when I looked forward at my team lead, my manager, etc., who in theory would've been my next steps at the company I'd have to jump through ridiculous hoops just to get into those positions, and they all fundamentally had very little power. They were still at the bottom tier middle managers, and the BS policies, procedures, and technology decisions all got handed down from managers above them.
I couldn't deal with the environment, but from my coworkers who were there, I got the sense from them that they just accepted things. Progress was slow, jump through the hoops you're told to jump through, but by in large, it was steady well paying work that they could just check out at the end of the day. No harm in that, but it just felt like my career would just stagnate there, and I'd find it very hard to get out once I got comfortable with it. I planned on sticking around till 6 months, then looking. I wound up starting to reply back to recruiters earlier and was out in 5. Best decision I made was leaving.
Yes, I too have worked at German owned companies
I'm a PM for security at a CI/CD company, and adding "friction" comes up as a feature request in 50%+ of calls with customers and prospects. As companies grow to a certain size, as a practical matter you can't trust employees to not do bad things. Also, in order to win more business you have to comply with more regulations. Access controls, separation of responsibilities, etc.
Restated, one person's friction is another person's compliance.