6 ms·
One issue with how developers are hired these days, is many large companies are hiring largely for classical knowledge (aka, memorizing: Algorithms, DS) and mat
by CryoLogic 11y ago
One issue with how developers are hired these days, is many large companies are hiring largely for classical knowledge (aka, memorizing: Algorithms, DS) and mathematical ability. Try interviewing at MS, big G or Amazon and you will see what I mean.
These developers are great as code monkeys, but a lot of them don't have any idea what their code contributes to, or even how their business makes money. I attended a hackathon with a number of Amazon employees, and one of my distinct memories was a Principal Engineer who didn't even know what "publicly traded" meant and was sure that Bezos owned 100% of the company.
A potential solution to this issue, is to hire engineers with more diverse skillsets. Deep understanding of mathematics and classical algorithms is fantastic for software performance, and low level details.
On the other hand, at a tech company - your software is literally your revenue stream. You are hiring people who don't understand your business - to build and grow your business.
Maybe hire some developers with strong business skills, and a good understanding of the economy and your market - and put them on a team with more traditional engineers. In doing so, you get someone with the big picture, and someone with the details working together and might not even need another PM.
Just my thoughts.
- TulliusCicero 11y agoThat sounds like a good idea, until you realize that developers with a strong grasp of coding AND business are rather rare. If you're a growing business, it's hard enough to find enough really good devs as it is, and now you want to add in another, orthogonal skill set? Good luck with that.
- ilostmykeys 11y agoAsk not what your left or right brain can do for you. Ask what both of them combined can do for your company.
- paulus_magnus2 11y agoGeeky (single focus) developers are - cheaper - do not get distracted by politics / business - easier to control / manipulate into lower salaries
- partycoder 11y agoLots of cognitive bias there.
- pc86 11y agoI seriously doubt there's any supporting evidence for the idea that people focuses on coding over business have any trouble negotiating a reasonable salary.
- rorykoehler 11y agoAnecdotal I know but I've been told that my business knowledge and curiosity is not welcome nor wanted whilst developing and that I should be more single minded to churning out code. We live in an economic environment where specialisation is valued over all else. Polymaths and generalists struggle in this environment unless they found the business themselves or are lucky enough to get picked up by a large company to head up a team.
- CryoLogic 11y agoI spent my teenage years building fan sites and social networking sites for games. I made enough money to pay off college, get a nice apartment by the water and have a couple k leftover come graduation. I was curious why I wasn't getting a lot of hits on my resume, so I talked to a recruiter at a networking event who had seen my application (for one of the "unicorns") and she said they where uncomfortable with how entrepreneurial it looked. I removed the sections from my resume, removed all of my contract work too - only listed the internships and found some other grads (that got jobs) resumes to copy the language style. Pretty much instantly my resume was getting me double or triple the interviews. Bummer too, because I worked my ass off and always had the false impression that employers would like that. Sometimes its the gap between marketing (how they want the company to appear) and HR I think. Marketing wants innovators, HR wants workhorses that move in a strait line and don't try new things.
- rorykoehler 11y agoInteresting. Perhaps something I can learn from. What kind of companies have you worked for (large corps / startups / SMEs?) and what kind of work do you do for them (any specialisations)? How do these experiences contrast to your pre-employment/self-employment experiences?
- CryoLogic 11y agoI do full-stack development. Front-end, back-end, some server admin, DB, UX, SEO, etc. I worked at a F500 building tools to visualize big data and had a great time. Learned a lot and had a lot of freedom. Afterwards, a VC funded startup - didn't really fit in, most of my co-workers where hardcore academics and it had a lot of micromanaging. Also did some contract gigs, subcontracting for another company which could be good, bad or neutral (all depends on the client). Self-employement is awesome, because you get to explore a ton of new things. You get to learn about SEO, business models, cutting costs to increase profits, increasing conversions, brand image, UX, etc. You also get to know your audience really well. In my case, the biggest downside is I could never build a strong network because most of my revenue was coming from ads and donations and the target audience was younger. It's easier to network when you are out and about, and always working with people who have their own networks. I'd love to start a company (on a bigger scale) some day, when I have a stronger network, a larger skillset, and some capital so I can make sure I am feeding myself every week :)
- edderly 11y agoOff topic, but that doesn't resonate for me. Can't say much for MS, but for the others the essential CS skills questions (should be...) relatively uniform for all experience levels. i.e. they are at graduate level. Plus, Amazon count on these 'a lot' https://www.amazon.jobs/principles https://www.amazon.jobs/principles Possibly more than the CS side of things in my experience.
- eyko 11y agoTriplebyte has a blogpost[1] that seems quite relevant. Most companies seem to want "product programmers"[2], as opposed to technical or enterprise programmers. The second link below is another blogpost by them explaining this taxonomy. It would be interesting to see how much this applies to non y-combinator companies (which is what their study covered), but I'd have a guess and say that, for most startups, quite a lot. 1. https://data.triplebyte.com/who-y-combinator-companies-want-c1880a08ac88#.yeo679utq https://data.triplebyte.com/who-y-combinator-companies-want-... 2. https://data.triplebyte.com/a-taxonomy-of-programmers-d0e9d8529808#.gwot367ig https://data.triplebyte.com/a-taxonomy-of-programmers-d0e9d8...
- pc86 11y ago> I attended a hackathon with a number of Amazon employees, and one of my distinct memories was a Principal Engineer who didn't even know what "publicly traded" meant and was sure that Bezos owned 100% of the company. This is terrifying. I wouldn't be surprised if his 401(k) was 100% Amazon stock "because that's where he works" or something.
- amag 11y ago100% of what stock, didn't Bezos own everything?
- scandox 11y agoMy experience in interviews is that my interest in and focus on the end product and business make me appear more lightweight technically. "Not enough of a nerd"...basically.
- DanielBMarkham 11y agoI agree. In fact, the more I look at this problem, the more convinced I become that coding shouldn't be an end to itself. Very few companies need super-smart generic programmer cut-outs. Instead, they need business folks who can program. It makes sense if you think about it. If software is truly eating the world, it's an upheaval on the scale of writing. Nobody hires specialized people to write; that's idiotic. Writing is so closely associated with what we do day-to-day that whatever your job (in the business sector), you're expected to be able to form a sentence and write it down. Same goes for programming. I have no idea how long it will take to fully make the transition. A hundred years? Twenty? It'll be interesting to watch, though!
- philh 11y ago> I attended a hackathon with a number of Amazon employees, and one of my distinct memories was a Principal Engineer who didn't even know what "publicly traded" meant and was sure that Bezos owned 100% of the company. It's not clear to me why that knowledge would be especially useful to a principle engineer at Amazon. I think it's a generally good thing to know, and difficult to avoid picking up. But clearly someone did avoid it, and I don't particularly expect that to reflect in their engineering competence.
- throwawaymsft 11y agoWhat would you think of a government employee who didn't know the US was a democracy?
- icholy 11y agoThis would be a good analogy if the guy didn't know he worked for a tech company.
- Lawtonfogle 11y agoWell it isn't. Officially it is a republic. A democratic one, but a republic. Unofficially political power is so unevenly distributed it should be called an oligarchy. Officially, North Korea is also a republic. Now, if the person thought the President was a king of a monarchy, then I would say they have been listening to too much talk radio.
- throwawaymsft 11y agoOriginally I was going to say "democratic republic" but then it becomes a game of minutia. Not knowing that Amazon is controlled by a board of directors (elected by shareholders, the owners) is just like not realizing the president is elected and we don't have King Obama.
- squeaky-clean 11y ago> Not knowing that Amazon is controlled by a board of directors (elected by shareholders, the owners) is just like not realizing the president is elected and we don't have King Obama. Sure, and it would be very surprising for anyone not to know that, but I don't see how it makes them any less qualified to do their job.
- oneJob 11y agoWhat is it about programming as a profession that attracts people who believe they are all things? When becoming a civil engineer do you take a large number of business courses? When becoming an electrical engineer do you take a large number of business courses? When becoming a doctor do you take a large number of business courses? When becoming an astrophysicist do you take a large number of business courses? Why are you not suggesting that ethics should be a larger portion of the programmer's training and skill set. Perhaps while building the infrastructure for the next century we should all think long and hard about the ethical implications of what we're building rather than just racing to get the next round of funding or a positive report by some Wall Street analyst on the other side of the country. Most code bases look as though they've been built by business analysts rather than professional software engineers. The number of security exploits is a testament to this in practice. What we have here is basically a repeat of Wall Street's bond market in the 80's, just in a different industry. Because of the market fundamentals most any idiot was making a killing. Most of these bond traders actually were not terribly bright, but they were making money hand over fist, and so, they thought they were geniuses. In the end it really didn't work out well for anyone. For a good overview of what I'm referring to you can read "Liar's Poker." Eventually these idiots were replaced with professionals, and to work at any of these shops one must now first prove, through both schooling and certification, that one has a solid grasp of a large knowledge base. If you want to become a portfolio manager, and you already graduated from Columbia with a degree in finance, that's great but you still need to go get your CFA. Google CFA and then compare that to your average programming interview. Just the Level 1 exam has over 3,000 pages of material. There are 3 levels. You basically don't have a social life for 18 months. And most of the time this is something one does while holding down a full time job that already assumes they own your free time. Lawyer's bar exams and the Board Certification process are equally grueling. I'd be very happy with more of an emphasis on classical knowledge. A strong foundation based on a knowledge base of classical knowledge is the foundation of any professional engineering society. Patronizing someone with a firm grasp on this knowledge by saying that they are "great as code monkeys" betrays an enormously immature approach to one's profession.