4 ms·
Fundamentally, software engineers aren't a commodity. They're not all created equal and they have their own desires and preferences which factor in to what they
by Youden 5y ago
Fundamentally, software engineers aren't a commodity. They're not all created equal and they have their own desires and preferences which factor in to what they choose to do.
The FAANGs in the US will hire basically anybody, provided that person passes their interview process and is willing to physically relocate to one of their offices, which are usually located in major cities that have high costs of living (e.g. Bay Area, New York, Seattle, Boston) and therefore high compensation.
But there are many, many competent people in the US who aren't willing to move to one of these major cities, who can't pass the FAANG hiring bar, or don't want to.
Those people may be willing to accept a lower-paying job because that suits them better.
It might also be worth considering if the role you're thinking of as "software engineer" is actually a "software engineer". Does an SMB really need a "software engineer"? Maybe what they need is a "software developer", which on average receives a lower salary.
- analog31 5y agoI don't think there's a consistent definition of "software engineer." At one place where I worked, you automatically got the "engineer" title if you had a bachelors degree. This was also true for the distinction between "designer" and "engineer" in the hardware engineering disciplines, and "manufacturing engineer" in the plant.
- phone8675309 5y ago> But there are many, many competent people in the US who aren't willing to move to one of these major cities, who can't pass the FAANG hiring bar, or don't want to. The flip-side to this is that, if you're in the middle of nowhere (and demand on-prem), it's harder to attract junior developers for the things that they typically cut their teeth on to move up. This often makes maintenance activities, smaller design and development work, and adding a few extra coders to a project more expensive than they otherwise would be because senior talent is more expensive.
- stephenhuey 5y agoRegarding the competent people who don’t want to, I’ve met many. I remember meeting a guy a dozen years ago who did a lot with C++ and a Beowulf cluster for a very large research hospital and even then his salary was much lower than it could’ve been, so I asked him why he wasn’t at a FAANG (before the acronym existed), and he told me it was because in his current job he could own all his outside work, whereas Google would’ve made him sign his ideas away. I’ve also worked with a very bright developer at a large investment bank and although both of us left long ago, he eventually set up a company doing the most mundane IT consulting (printers and networks for law firms, etc) so that he could focus on his side passions of teaching classes at a local HackerSpace and soddering his creations together there for no money whatsoever. I’ve met a lot of people who are more brilliant or better engineers than a lot of Googlers I know who simply do not desire the job, even if it meant getting paid many times more. Some very talented FAANG people I know wish they were starting their own thing but just don’t know what else to do. Nothing wrong with working a job till inspiration strikes you, though!
- pcmoney 5y agoDeclaring/Designating and protecting personal IP when joining BigTechCo is standard practice. As long as you are not using tools and internal IP on your project and it is not a competing product it is typically fine. This idea that BigTech is hostile to side projects is misplaced. They would actually like it if you succeed because its a PR and branding win for their engineers.
- jlokier 5y agoWith one company I worked for, that was completely impractical. The company thought they were doing the right thing by asking me to declare whatever outside works I might be producing, and they would be 100% fine with that so long as it didn't compete with the company's products. In practice, that meant every time I was reading some mailing list and would like to reply to something with a small patch, I would first need to contact my company, add that mailing list's project to the set of outside works, write a bit about the project and get approval. It would turn a 10 minute action into a multi-day administrative action involving managers - completely impractical. The company just didn't have a way to model someone whose idea of outside works was to contribute to countless random projects in small ways every evening, without knowing in advance what those would be. I tried to talk with the company about this problem, and they weren't interested enough to solve it, and didn't see it as a real problem. They thought I was making waves about something unimportant, and perhaps I was misjudging its importance. Perhaps it would all be fine. But I didn't want to accidentally produce things that the company later decided it had a claim on. This was a significant factor in my relief when I was made redundant, as I felt free to finally pursue my interests instead of holding back. I didn't know how much it meant to me until then, but the relief made it obvious that this one issue had been seriously weighing me down throughout the employment, and that I should be more mindful of it in future. If the company had found a good solution to this problem early on, I expect I would have been very much happier working there. Clarity is all that was needed, really. That was before GitHub. I'm guessing companies are a lot more used to their employees doing small outside contributions like that now. I am still wary of doing so without a clear line. Fortunately, all my recent engagements have contracts that limit what the company is interested in, and exist in a context which recognises and even encourages that outside works will take place.
- tester756 5y agohow bigger is the salary of system necromant or code shaman than software engineer ok, ok - I know that's not the point, but I wish IT had consistent title names and roles
- denton-scratch 5y agoWhen I started, "software engineer" wasn't a job title. We did already have job-title inflation, though; when a programmer was promoted, they became an "assistant systems analyst", then a "systems analyst". The proper definition of a systems analyst at that time didn't even include programming computers! So what's an engineer? Outside of software, an engineer is a professional - a member of a professional body, licenced to undertake specified design and construction work, and required to take regular training and re-licensing. It's like a physician; it's not some particular level of training or experience. Or skill - there are rotten physicians and excelent ones. But if they're not licensed, they're not a physician. Can't we go back to calling programmers programmers?
- Sevii 5y agoWe can’t go back unfortunately. Software is getting more complex both technically and legally. Professional licensing is coming in the next decade or two.
- denton-scratch 5y agoI'm totally cool with professional licensing for software engineers, and I agree it's coming (but "the next decade" seems optimistic - I've been expecting it for 30 years). My gas-fitter is professionally-licensed. My electrician is professionally-licensed. My accountant is professionally-licensed. They have to be. But I'd hire a developer with a stellar record over one with a professional licence, unless the post was Compliance Officer or something. I just don't expect such a licensed "software engineer" to be doing hands-dirty software development; they'll be managing the show. Hands-dirty developers need to know stuff you don't learn on training courses.
- trcarney 5y ago>Outside of software, an engineer is a professional - a member of a professional body, licensed to undertake specified design and construction work, and required to take regular training and re-licensing Software engineering got its roots from electrical engineering and this isn't true for most electrical engineers. You only need to be licensed in a few subsets of electrical engineering (i.e. power production and distribution). All other areas don't require a license. There is a difference between software engineers and programmers. I had it explained to me like this. If you spend more than 50% of your time programming, you can't call yourself a software engineer. A software engineer is supposed to spend most of their time designing and architecting a solution, testing assumptions, documenting the design process and conducting design reviews. This process is slow and tedious but if done correctly will save you a lot of headaches in the future.