Vantaggi
- The company is willing to pay and reward employees decently with cash and stocks. That is all.
Svantaggi
- Toxic working environment Workload is unreasonably heavy. Management doesn't really care about the technical challenges engineers are facing, as they are under great pressure coming directly from customers who are rich enough paying billions of dollars for the AI *revolution* powered by NVIDIA products. As the result, software engineers have to accommodate feature/bugfix requests from customer in very short time frames per management's direction. Long-term planning rarely exists. This causes huge amount of tech debt piling up quickly in just one or two generations of GPU, and from a software engineer's perspective it is basically not sustainable to work in this manner. This stressful working environment also creates the incentives/excuses to not help team members as you could barely finish the tasks assigned to you, which makes everyone even harder to be long-term productive. All in all just all sorts of vicious cycles. - Hardware-centric tech lead in a software team who can't really code This is team-specific. We are a software team, but the most senior tech lead who oversaw most code commits didn't seem to know how to code C++, which is the single most important programming language of our software product. Examples include, 1) thinking that C++ namespaces can create different scopes for macros; 2) thinking that adding a boundary check on array indices is a *hack* and thus shouldn't be done.