Internships were enjoyable because I got to work on small but interesting projects in an easygoing environment. That said, compensation is very much below average compared to other tech companies in Silicon Valley.
Work/life balance is good. Rarely is anyone ever expected to work more than 40 hours per week. This might depend on your group though.
They are making a good effort to update their offices in San Jose from the old cubicle farms to the newer open-floor setups with free amenities (coffee, tea, espresso, snacks, etc.).
They do not skimp on developer machines and peripherals like monitors, headphones, etc.
Very bureaucratic, with lots of reorgs and movement at the middle and upper levels (e.g., new directors, mid-level managers, upper-level managers).
The pay is below average in comparison to other tech companies in the Bay Area. Promotions/raises seem to be few and far between. It will soon be my third year here, and all of my developer peers have also complained about slow growth within the company.
Due to the bureaucratic nature of the company, communication among the many groups is slow and sporadic.
It may be different for other groups, but there seems to be a general lack of expertise when it comes to software development best practices:
People in non-technical roles (middle managers and product owners) push for features and user stories without really knowing what they want. User stories are often a terse title and an empty description (no behavioral/functional specifications, no summary, no consideration for inter-dependencies among other user stories).
Projects often lack clear direction. This point applies to my group and our project, but I think it might apply to other groups as well. There are many technical leaders in our group, but for our project, we lack a TRUE lead technical architect who:
Bottom line: If you're looking for a place to hone your technical skills and grow as a developer, look elsewhere. Some of the other reviewers who mentioned a culture of complacency absolutely hit the nail on the head. I have observed first-hand many times where our group has accepted mediocre work or shortcuts without hesitation "if it gets the job done," creating more technical debt. When developers ask for time to address technical debt, we are rebuffed by managers who claim that it is "good enough" and that we should focus on pumping out more features. If you stay here too long, your skills as a software developer will only continue to rust.
Invest in your developers and encourage them to have high standards. Maintain those standards yourself, and don't ever let politics or pressure from above compromise the quality of your product.
For each project, appoint a true technical leader that everyone can follow, and encourage senior developers to mentor less experienced developers.
Cultivate a culture of software craftsmanship by respecting software development best practices. Raise the difficulty of the hiring bar; don't hire blindly based on a person's pedigree, and evaluate each candidate based on their skills today, not what they accomplished many years ago.
The companies that Cisco acquired are mostly successful ones with talented engineers and development processes that work (otherwise they wouldn't show up on Cisco's radar). We should be working more closely with them and learning from each other.
An OA (Online Assessment) is auto-generated just after application. Then, based on performance on the OA, you get a reach-out. These are followed by rounds such as technical, behavioral, and screening rounds. The screening is followed by technical ro
All technical questions: Domain knowledge: * Computer networks (How to get an IP address? What is PCIe? What is Ping?) C programming language: * Linked lists (Add node to the tail) * Bit manipulation (Function for set bit)
I completed two phone interviews. They asked basic questions, and nothing was too difficult. The interview mostly focused on past experience. It seemed a little impersonal, almost as if they were reading from a script.
An OA (Online Assessment) is auto-generated just after application. Then, based on performance on the OA, you get a reach-out. These are followed by rounds such as technical, behavioral, and screening rounds. The screening is followed by technical ro
All technical questions: Domain knowledge: * Computer networks (How to get an IP address? What is PCIe? What is Ping?) C programming language: * Linked lists (Add node to the tail) * Bit manipulation (Function for set bit)
I completed two phone interviews. They asked basic questions, and nothing was too difficult. The interview mostly focused on past experience. It seemed a little impersonal, almost as if they were reading from a script.