Culture within the engineering department is great. Engineers are empowered to choose what they work on and build expertise in a huge domain of networking knowledge. Projects are quality-driven, rather than deadline-driven, so it is okay to punt a release date for a few weeks or months when problems show up. Customers understand this, and it helps.
Compensation adjustments are primarily determined by peer review. This strongly incentivizes you to behave in such a way that convinces the people around you of your effectiveness. The best way to do that is to be helpful, write good documentation, demonstrate leadership, and fix hairy bugs. Basically, all of the things you want the people around you to do. This is as opposed to many other companies, where your manager's opinion is the main input, which incentivizes you to have a good relationship with a manager who is good at office politics.
The CEO, CTO, and VP-level leadership is excellent. These are some of the most brilliant, talented, and often just plain nice and pleasant people I have worked with.
As the company has transitioned from being a smaller company to a medium-sized company (about 1000 in engineering and 2000 overall as of 2022), some things have gotten a little clunky. The number of stakeholders on any given project has increased, so the amount of communication required to get things done has increased.
As the layers of mid-level management, directors, associate VPs, and so on have grown thicker, so has the distance between everyday engineers and the excellent core company leadership.
The company used to empower engineers to take ownership in all parts of the company, but this has become much more siloed. Today, if you are in engineering and want to see something change that is owned by HR, IT, or the security folks, just forget about it. There is so much red tape in that part of the company that you can put work in for months, only for some new stakeholder to come along with more red tape and ax the project.
Thin out the management hierarchy, as much as you possibly can. For many years, you have had a relatively flat management hierarchy, and this has worked very well. Today, there are a few more layers to that onion, and it really gets in the way of actually delivering high-quality work in a reasonable amount of time.
I received the initial interview offer fairly quickly after submitting my resume at a career fair. The first technical interview was straightforward, presenting a medium-difficulty question. It required a solid understanding of the material, and the
This was for a new grad position. The process involved a phone screen with basic technical questions. This was followed by a phone interview coding test where you SSH into the interviewer's laptop and solve a few coding problems (around LeetCode eas
The interview is conducted over the phone. I need to access their remote server using SSH and answer prepared questions. The interview lasts for an hour. I also need to implement an algorithm using Java.
I received the initial interview offer fairly quickly after submitting my resume at a career fair. The first technical interview was straightforward, presenting a medium-difficulty question. It required a solid understanding of the material, and the
This was for a new grad position. The process involved a phone screen with basic technical questions. This was followed by a phone interview coding test where you SSH into the interviewer's laptop and solve a few coding problems (around LeetCode eas
The interview is conducted over the phone. I need to access their remote server using SSH and answer prepared questions. The interview lasts for an hour. I also need to implement an algorithm using Java.