No technical vision. Technical matters felt directionless. Build times were ever increasing. Some teams lacked oversight/review and pushed code that would not fly on more established teams. No team lead, tech lead, or architect roles.
Lack of technical innovation. A relentless focus on new features and minimum viable product meant that innovation often fell by the wayside. Many teams continued to use old front-end tech even for greenfield work, or engaged in procedural rather than object-oriented programming. No technical roadmap or strategy to move away from outdated parts of the tech stack was communicated or mandated. Strong pushback was encountered against moving to a true services architecture.
Monolithic and legacy codebase. It never felt like I had the time or support to break smaller services off from the monolith. I felt trapped in a cycle of "learn new and esoteric part of the monolith" and "accrete new feature onto the monolith".
Cliques and tone policing. It felt like outspoken and extroverted 'rockstar' developers were rewarded with promotions. I often felt forced to be a 'cheerleader' despite the various issues listed here. I saw from co-workers' experiences that sharing an actual outlook might result in the withholding of promotions or raises.
Was acquired by Morgan Stanley. We lost sudo access to our machines. "Outside Business Interest" rules required you to seek approval for accounts, move securities to particular banks, and report your positions. The sabbatical was taken away despite the fact that many people had been promised it as part of their employment.
Did not feel like senior management were team players. We were told that, post-acquisition, Morgan Stanley would let the company keep one of its two big annual events: the manager retreat or the Christmas party. Senior management elected to keep their retreat, while everyone else lost the Christmas party.
Aesthetics felt favored over functionality. Rolling whiteboards were removed from the office with no consultation of the people who used them daily. MacBooks were rolled out before they were ready and despite being a worse development experience (longer build times, etc.).
Did not eat their own dog food. Despite making software around implementing equity plans, the company stopped offering regular equity grants to its employees post-acquisition.
Retention issues. It felt like the best and brightest were constantly leaving. The people I wanted to work with the most always ended up leaving, and ultimately so did I.
Accept that the organization has culture and technical problems that need real change to solve. The meeting on retention, where the main takeaway was "showing people there are opportunities," felt like it was pushing the blame onto people who were thinking about leaving. It came off as extremely tone-deaf.
Create and communicate a technical roadmap. Make time for innovation when writing new features. Give people hope they won't be using outdated tech forever.
As a large organization, consider specialized roles to support and promote initiatives:
First, they came to my school (Columbia Uni) to conduct one-on-one interviews for selected students. It was a 30-minute interview. They started by asking the usual behavioral questions and tried to understand my specific programming background. Then
I had an interview for a Junior Software Developer position in Sandy, UT. It was supposed to be just a phone conversation, but they conducted a technical interview and asked me all sorts of questions related to Object-Oriented Programming. The interv
It was a tough interview; there were many tough questions asked. First, there were 20 aptitude questions, and then 7 debugging questions. The DSA part was quite tough; I had to do it in 2 hours.
First, they came to my school (Columbia Uni) to conduct one-on-one interviews for selected students. It was a 30-minute interview. They started by asking the usual behavioral questions and tried to understand my specific programming background. Then
I had an interview for a Junior Software Developer position in Sandy, UT. It was supposed to be just a phone conversation, but they conducted a technical interview and asked me all sorts of questions related to Object-Oriented Programming. The interv
It was a tough interview; there were many tough questions asked. First, there were 20 aptitude questions, and then 7 debugging questions. The DSA part was quite tough; I had to do it in 2 hours.