4 ms·
> normal SWEs Could you clarify what qualifies someone as a high-end SWE, and what would relegate someone to being a normal SWE? Is it just dependent on emplo
by rootusrootus 5y ago
> normal SWEs
Could you clarify what qualifies someone as a high-end SWE, and what would relegate someone to being a normal SWE? Is it just dependent on employer?
- thinkharderdev 5y agoNot the OP but I agree with their comment. I think the distinction is mostly around experience. Specifically, experience designing large systems (understanding tradeoffs, resource requirements, etc.) based on product/business requirements. If I can come to you and say "I need a system to manage documents" and you can take it from their (eliciting more details from non/semi-technical collaborators along the way) then you are probably a high-end SWE.
- the_only_law 5y agoShit I’m fairly confident I could do that, where do I apply?
- jmchuster 5y agoIf you want to "apply", then have a friend who works at a FAANG, and they'll connect you. Otherwise, you don't apply, you just have a resume online that looks like that of someone who would have that experience, and FAANG recruiters will already be reaching out and shepherd you through the process till you get to an interview. But while the recruiter sets a relatively low bar for what you should look like, the interview will then set a relatively high bar for what you should look like (and probably overly specific bar). So you need to make sure you have the ability to pass such interviews with flying colors, which itself requires a different skillset/training (maybe 50% overlap with your day-to-day skills). Again, remember during this whole process, what is most important is "do i look like someone who has these skills", which is slightly different from "i am someone who has these skills" or "i am someone who could develop these skills if needed". The latter only matters once you start at your new job.
- btilly 5y agoNo, you're describing the system architect anti-pattern. People who see their job as designing large systems will, over time, lose contact with coding. After that they will lose a critical feedback loop that informs their architectures, and you'll get architectures that work on paper but not in reality. Back when I was at Google they made it clear that it is important that interviewers identify such people in the interview process, and not hire them if their willingness and ability to code were not up to snuff. It was OK if they had a string of architect jobs. What is actually needed is the ability to be down in the weeds, working at a low-level, while keeping an eye on high level concerns and an awareness of how what you're working on will evolve over time. So yes, you design the large system, but have to be a major part of building the prototype. Then make sure that, as more developers are brought in, they learn the tribal knowledge needed to both maintain coding standards and the high level design.
- thinkharderdev 5y agoI agree completely, apologies if I was unclear. My point was only that you shouldn't be ONLY doing "task work" (eg implement this interface that someone has already defined for you). You need to understand how to design the system as well as do in-the-weeds implementation work.
- btilly 5y agoRight. And need to have the good ability to notice a problem while doing the coding work, which causes you to back up to the higher level and solve it at the right level.
- randomdata 5y agoA high-end SWE is one who is willing to endure a hiring process spanning months full of pointless trivia with the final prize being a slim chance at getting a job. A normal SWE is one who finds a job at a business that wants to actually hire people, not play games.
- dsr_ 5y agoYes. If your employer feels that it is competing with FAANGMWSTXblah, they consider you a high-end SWE. If your employer feels that software development is a cost of doing business, you are a normal SWE. If your employer feels that everything can be outsourced, you are the cheap glue that holds things together. If your employer is in the business of providing the outsourcing, you are probably a digital sweatshop employee.
- 908B64B197 5y ago> If your employer feels that it is competing with FAANGMWSTXblah, they consider you a high-end SWE. If you recognize yourself in any category other than that, it's time to move.
- handrous 5y agoPassing grueling multi-round leetcode endurance + memorization tests. That's the distinction. So, yes, it's kinda dependent on employers. There's another level of people who are the sort with a reputation that means the leetcode-hazing employers wouldn't dare force them through the usual gauntlet (as they'd refuse), but that's a vanishingly small set of folks. And anyway, I think a lot of them (but not all!) end up doing more "soft" work than banging out code, by the time they're in that phase of their career.
- verall 5y agoThere is certainly a perceived difference between tech workers at, what I would categorize into T1/T2/T3 companies. T1 companies invest in their reputation, tend to have long and capricious interviews, and pay obscenely. T2 companies cannot afford to play that game against T1 companies and so try specifically to hire on different merits - they have a flexible vacation policy, they look for people passed over by the T1 interviews, etc. They are hiring looking for bang-for-buck. T3 companies generally don't have either the technical expertise or bureaucratic structure to properly hire tech workers. They are nearly rolling dice. There are many more T1 companies than FAANG, and interestingly, the company does not even have to be big or successful. It requires fat stacks of cash, but this could come from VC. Devs with a few years experience at T1 companies are "marked"; interviews at other companies are easier, and you're paid better than coworkers if you go to work at a T2 company.