Thread regarding Qualcomm Inc. layoffs

Shortcomings of Qualcomm

I've left Q a while back now and have been working at one of the silicon valley superstars for a while now. In Q I was a software engineer doing mobile firmware in the superstar company I do software engineering in the backend and I'm on the younger end of the age/career maturity spectrum. Based on my empirical observations below is a list of why Q will just decline/shrink steadily and become a new failure tech company.

1) There is no such thing as code reviews. This is such a joke, people can just submit code without any review. And what's worse there is no company-wide coding/readability standards, not even incremental readability. The result is simple, new people take forever to ramp up on written code and the overall system; productivity is at rock bottom.

2) No test automation. This is another joke, there is no unit test or e2e testing standards, every team has some battery of tests that won't capture most if any bugs/issues that take forever to run and take switching back and forth between IDEs, languages, MATLAB, etc. To test what you've done is an enormous pain. Coupled with no code-reviews this results in the HEAD of a codebase being at a very unstable state. Every time a new release is needed some point in history needs to be vetted for days before it can be released. And even so the customers will find stuff that weren't identified in tests

3) No centralised issue/feature request/bug tracking. There is JIRA I guess, but if nobody in the team cares about what's in there for their team, it doesn't make a difference.

4) Algorithm development is at a complete amateur level. There is input data, there is an expected output. An algorithm at Q is defined as an aggregation of hacks tailored for specific I/O pairs. Nobody takes the time to acquire a holistic view of the big picture and create a generalized solution to an algorithmic problem. Hacks for specific situations pile up, making onboarding of new team members difficult if not impossible and even worse people get out-of-sync with what's going on in the overall team, and turn into isolated islands that have no idea of the bigger picture. Over time team members turn into new hires. The bigger the project gets, the worse this situation becomes which is very natural as it cannot scale like this.

5) Staffing. Every team is bloated with a large number of managers with near zero time-management abilities. In fact in our project there were more managers than developers doing the work. I've personally attended some of their meetings on a need basis. And my observation is that whatever state was before a meeting prevails after the meeting. These people are just burning time at high pay grades adding little to no value to the company.

6) Unless your title is Staff or above, your opinion literally just gets ignored. I was actually an exception to this earning respect for opinion earlier on, but then major suggestions about enforcing code cleanliness, testing standards, documentation, etc were just ignored in favor of getting some solution out that works at a basic level.

7) Very poor segmentation of workload. Projects never start with defined roles to specific managers/teams. Everybody has their hand in everything. I personally was doing work for 2 other teams other than my own. Some managers are like zombies just calling people, attending meetings, arranging demos, etc.

In summary, team/project/people management is at a rock bottom. Somehow completely undeserving people have been promoted to manager/director/VP positions and the Peter principle is at its worst in Q. I'm totally astounded that this company has achieved the success that it did which peaked a few years back.

A second point is with all high performers getting lost to attrition, there is an absolute 0 chance of fixing things now.

by
| 2743 views | | 10 replies (last ) | Reply
Post ID: @OP+HxD2el0

10 replies (most recent on top)

The guys in EDA are a complete joke. No clue how to make design automation. They do some kind of hack perl flow that is poorly coded and unmaintainable. They dont even have design background to justify 'ok, they are good in digital design but poor programmers'. Most are senior staff and above.

by
| | Reply
Post ID: @3equ+HxD2el0

Conclusion of meeting is to have more meetings.

Architecture and design are full of hacks, patch is always a desired solution

There is no encouragement and support on risk taking and long term approaches, the huge engineering effort are short sighted, however, a lot of people like it, they see it as more work waiting for them

You can pretend to be very busy while you are not, or you don't have to be

A lot of staff and seniors are doing work that interns can do better with less time

A lot of senior ranks are either quiet ( being passive, to enjoy their life) or narrow minded (protective)

Projects and initiatives are prioritized towards political side ( group, site, team existence and appearance etc.), since schedule is on top, with the useless process and very low productivity, there is actually very little improvement from generation to generation given how big engineering team is

company policy can be abused or ignored, depends who you are and what situation you are in, it is not an issue if you just be happy with what you are and what you are told to. If you want to move faster to doing some real work, then you either benefit from the policy, or get punished

by
| | Reply
Post ID: @1ior+HxD2el0

Excellent post. Incompetitent leadership especially on the modem sw teams. Useless Modem Program Management teams, which do little beyond meeting facilitation.

by
| | Reply
Post ID: @1duw+HxD2el0

The bottom line is that QC is a hack EE shop. If you want to do good SW, do yourself a favor and get out of dodge before its too late to set your career on a better track. QCT/Linux was only good because they had to follow Google's Gerrit code review process.

by
| | Reply
Post ID: @1itm+HxD2el0

" Projects never start with defined roles to specific managers/teams. "

This is so true, at least in the team I was working for. After assigning one person for owning the project, the lead would talk to someone else for status and hold another person accountable and shift back and forth , confusing the hell as to who is in charge and responsible. Resulted in causing a lot of friction between engineers as to who is leading and who is doing or supposed to be doing the task.

There are implicit, unclear expectations of engineers creating a situation that only leads to failure and resentment towards management. Glad that my sr dir was let gone last year. He was one perpetually angry and condescending guy, hitting people at personal level. But I still see many like that around in the same level.

by
| | Reply
Post ID: @1ydj+HxD2el0

Our team has a code review process that is over burdensome. Test automation is great. The bug tracking issue is used heavily. Not sure what you mean by 'algorithms,' but the code is pretty well structured and if it isn't, they refactor it.

by
| | Reply
Post ID: @1vrs+HxD2el0

Our team has a code review process that is over burdensome. Test automation is great. The bug tracking issue is used heavily. Not sure what you mean by 'algorithms,' but the code is pretty well structured and if it isn't, they refactor it.

by
| | Reply
Post ID: @1gfc+HxD2el0

@ woz: I used to work in QUIC. You're right that the C/I process and code review were better in Linux than for other teams. However, the testing process for Linux code sucked.

by
| | Reply
Post ID: @dia+HxD2el0

Okay here is my take.

I also left QCOM 6 months ago. But my experience is different.

  1. Code reviews differ from team to te. Some teams are better than others. Example. LINUX in QUIC had mature C/I process. Code reviews are integral to it.

  2. Again, some test teams are much bettef than others. PDT and APT are leading the way in automation.

by
| | Reply
Post ID: @woz+HxD2el0

Well said! I also left early last year, after I was denied of promo to staff engineer. My director explained to me that I spent too much time in the lab doing actual work, and not enough time going to meetings and writing status reports. Basically he wanted me to become more of a status collector before he would promote me.

So I got pissed off, interviewed and got an offer at a Bay Area company and got the hell out of this place. A company full of status collectors is destined to fail as we're seeing it collapse right in front of our eyes

by
| | Reply
Post ID: @oyg+HxD2el0

Post a reply

: