top | item 35043196

(no title)

nickvanw | 3 years ago

I would put it even more simply: just knowing Engineering isn't enough if you want to excel past a certain point, unless you're going to go extremely deep and become a subject matter expert in something (storage, hardware, etc). That is something most people are not going to do, because it requires dedication and to be extremely intelligent.

Instead, you can go very far by understanding a job one "hop" from your own - sales, marketing, finance, you name it. People who can understand the domain and translate that into code are worth 10x more than people who need to be told what to do and have it spelled out to them. If you haven't actually had butt-in-seat time understanding that domain, you probably know less of it than you think you do as well.

I see plenty of people who assume they could do the job of a sales engineer, marketer, whatever. I'm confident that many people are smart enough to do so, but having the capability does not mean having the knowledge to do a job well. Learn that knowledge.

discuss

order

calvinmorrison|3 years ago

This is one of the reasons a good ERP tech is often someone who started in business and shifted into consultant role.

Areas where domain specific knowledge outweighs the technical aspects, you need to be cross functional.

And overall - the biggest take away for me is that Computer Science is probably not the right degree for most people. Understanding object notation or algorithms, in my experience is interesting but much less useful than understanding business terms or learning use cases.

siva7|3 years ago

A CS degree is useful for, well, computer science and less so for most software development business use cases. It seems counterintuitive at first but makes more sense the more experience you get over different business roles.

scarface74|3 years ago

So how much more is someone “worth” who can understand the different parts than someone who made their career knowing how to play the promotion/leetCode/system design/behavioral interview game at any of the large tech companies and position themselves to show “scope” and “impact” by getting on the prime projects?

It’s a much more straightforward path and one I would recommend to anyone starting their career today.

I didn’t take that path. But seeing people who did have it much easier. No I’m not complaining. I’m good with where I am

dayvid|3 years ago

Even in those companies at the higher level you need additional skills to figure out impact and opportunities (opportunity sizing, XFN alignment, communication, good writing, etc.). Interviewing mainly gets your foot in the door.

There are some genius ICs who can just code and not be concerned about these things, but more often the higher levels are people who are good at their skill along with business, data analysis, product and communication skills.

nickvanw|3 years ago

Well, in my opinion, it remains to be seen whether big tech compensation for this style of work is sustainable long-term. Of course, if you're already pulling 800k/y in TC at Google/Amazon/whatever, great, you did wonderfully. If you're a brand new engineer starting your career, are there going to be a lot of those 800k jobs that offer you free daycare, dry cleaning, lunch and massages? I wouldn't bet on it. I say this as someone that has also not taken this path, but have nothing but respect for people who make a great living that have.

Otherwise, I think this is exactly how big companies succeed - they build career paths, tools and workflows to bring context to large groups of smart people to get them moving in the same direction. Ultimately there still have to be people to create the bridge, but the lever you get is massive when you have 1000s of talented engineers. You can't expect them all to understand how $x works, but you can pepper teams with extremely smart and talented experts and professional managers who collectively get them working on the impactful parts of the problem.

TL;DR there isn't a linear path, my advice is mainly for people thinking about how to be able to build value. If you can do that, you'll always be able to get a job.

6510|3 years ago

I imagine if you are really good at the other job the software can teach people a lot. You can force patterns where they should exist (do things in the right order) and not force them where they shouldn't be.

I think with less skilled labor the developer knows even less than they think.

Say the job is stacking boxes, you have an order 4 hours worth of heavy boxes and 4 hours worth of light ones. In software one is tempted to think there are 2 ways of doing the job. First order 1 then 2 or first 2 then 1. Push this button when order 1 is done!

It might not be humanly possible to stack heavy boxes non stop for 4 hours but it is definitely a bad idea. Thanks to the new software it's going to take 6 hours and cut the "resting" time (time doing light boxes) in half.

giantg2|3 years ago

"because it requires dedication and to be extremely intelligent."

I'm a dumb-dumb. Being a dumb-dumb in two domains isn't very helpful either. Everyone wants experts.

cyrusatjam|3 years ago

I see a stronger argument in a similar vein: "instead of spreading your knowledge thin, focus on your improving your ability in the domain you're paid to be good at."

But I'd counter that this doesn't mean you must permanently focus on one domain. On the contrary, every area of focus has a learning curve. And as many jaded HN commentors will point out, being exceptionally good at CS does not translate to being paid well, or being good at your job.

Naturally, even if you don't care to learn about Sales, Design or Product in the course of your Software Engineering career, you will still have to learn more than just pure Maths and CS. Simple skills: estimations, task breakdowns. More complicated skills: interfacing with other teams, juggling priorities, assigning work and pipelining tasks between teammates on 2+ person projects. And obviously, negotiating for compensation is entirely-unrelated to your work yet very impactful on your salary.

P.S. Nobody wants experts, people just want someone who can get the job done. Often times the hardest problems in an organization are not technical problems--they are communication problems. Having an understanding of multiple domains helps you bridge that gap and communicate at eye-level with other stakeholders.

Zetice|3 years ago

Totally disagree; if you can be a dumb-dumb in two domains, you're going to do a lot better, overall, than just being a dumb-dumb in one domain.

Wanna know why? Cuz you're not actually a dumb-dumb. <3

BeFlatXIII|3 years ago

That's what lying on your résumé and practicing believing those lies for the interview are for.