(no title)
nickvanw | 3 years ago
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.
calvinmorrison|3 years ago
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
scarface74|3 years ago
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
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
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 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
I'm a dumb-dumb. Being a dumb-dumb in two domains isn't very helpful either. Everyone wants experts.
cyrusatjam|3 years ago
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
Wanna know why? Cuz you're not actually a dumb-dumb. <3
BeFlatXIII|3 years ago