Live data from Hacker News

We will never have enough software developers (2020)

whoisnnamdi.com

391–400 of 553 posts

Re: We will never have enough software developers (2020)

#391
I think it's time to start separating what is a software developer.

Is a software developer someone willing to learn new languages and uses software to solve problems? Or is a software developer someone who knows latest.js and writes front end code or someone who writes C code to makes the LEDs on the machine blink.

There are two opposing hiring methods: * hire for positional skills * hire people not positions.

At a smaller scale, maybe you need to to just be a flexible person who can do anything. But how many start ups are going to hire a 35 year old C programmer to do js front end, or type coffee script? Yes that's 35 year old may have learned a lot of lessons along the way, but at their stage in life they're also going to likely cost you more and in all likelihood have more responsibilities outside of work.

Myself, I'm a generalist. I have programmed all levels of the stack. Consequently though, I can't claim deep mastery of many specific areas that a lot of "skill" positions require. On the hire "people" not positions, perhaps I can fulfill those roles but in doing so, as I become more senior I leave a lot of my skills sitting in the toolbelt to do a narrow software task (at a mega corp) and my lifestyle isn't well suited for the grind of startups (many many hours). Sometimes feels a bit of a catch-22

Re: We will never have enough software developers (2020)

#392

I think it's time to start separating what is a software developer. Is a software developer someone willing to learn new languages and uses software to solve problems? Or is a software developer someone who knows latest.js and writes front end code or someone who writes C code to makes the LEDs on the machine blink. There are two opposing hiring methods: * hire for positional skills * hire people not positions. At a…

> Is a software developer someone willing to learn new languages and uses software to solve problems? Or is a software developer someone who knows latest.js and writes front end code or someone who writes C code to makes the LEDs on the machine blink.

Yes. A software developer is someone who develops software.

Re: We will never have enough software developers (2020)

#393
post #374
post #331

Earlier quoted context omitted.

Yes but I interview for a role where we dont have set languages: we're a small optimisation team working across system when they reach capacity bottleneck and we do JS, C#, Java, C++, PL/SQL fixes completely transparently, we've slowly learned that languages really dont matter all that much for performance tuning as much as programmers mishandling which are identical in all of them (hash map loops, abusive recursion,…

This sounds like my dream job, actually. It's what I do at work for fun, in between my "real" development / support tasks. I profile and optimize our internal application, its loading time, user interactions, etc. Sometimes when it's a long term I make a proof of concept and ask for permissions later, so for a while optimization becomes my actual job. Just finished a couple of months of performance tuning, actually,…

Agreed about the dream job, that's pretty much what i explicitly answer every time i am asked about my preferences in terms of stack/tech to recruiters and engineers i interviewed with. I lucked-in into such a situation at least once, and I can confirm that I still enjoy it.

I can definitely see why some people might hate that situation, because it feels like nothing is working and you dont know anything at first. But if you aren't demoralized by that, and instead find joy in learning/figuring out all those new things on a regular basis, it all feels extremely rewarding. Like, why would I dislike being paid to essentially learn a bunch of new stuff regularly and solve actual real world impact problems using that new knowledge.

Re: We will never have enough software developers (2020)

#394

Earlier quoted context omitted.

I definitely think "we do not do leetcode interviews" and maybe "we only have three interviews total" would be selling points on a job posting. People who are experienced in the field don't want to go through the same hoops that newbies do just to prove they know how to write basic algorithms.

You wrote: > I am constantly interviewing candidates for roles at my company. It seems like CVs are a complete gamble. Either some are lies, or wildy understated, and everything in between -- at all levels of experience! "[J]ust to prove..." and yet so many can not do the 2022 version of FizzBuzz. I am stunned how many senior (well, so they say!) hands-on technical applicants cannot do basic things like write a very…

I've had the same experience. Everyone wants you to "just look at their resume". Meanwhile, I've interviewed plenty of people with great resumes who can't solve a simple problem like reversing a string [1].

If you can point me to extensive open-source experience on projects that roughly approximate professional coding, then fine, I'd be happy to walk through your code with you instead of doing an algorithmic problem. The issue is that that's a minority of developers... most people don't have the time or desire to do extensive open-source work outside of work hours and I don't blame them for it [2]! But given that resumes are unreliable, I need to test you somehow.

[1] No, I don't ever have to reverse strings at work. But I do have to write efficient code. And if you can't conceptualize how to reverse a string then you probably won't stand a chance at more difficult algorithmic issues I often come across.

[2] I don't recall who it was, but I once heard a very well-regarded chef say that he's tired after work and so he doesn't like to cook much at home. I have zero problem with a developer doing the same with coding! Go home and work on a hobby, spend time with your family, or smoke pot and watch netflix... I care about what you are capable of at work, not what you do with your free time.

Re: We will never have enough software developers (2020)

#395

Earlier quoted context omitted.

This is spot on, and personally, the main reason why I decided to move to an engineering manager after 10 years as a developer. And even as an engineering manager, I do not feel safe. I think only once you reach director level, you are protected from market hype and newest frameworks trends.

You think directors feel safe? I highly doubt it...

Safe about their current job? Probably not. Safe in the sense that they can definitely get a job at the same level (albeit at a smaller company in some cases) - pretty much

Re: We will never have enough software developers (2020)

#396
post #331

Earlier quoted context omitted.

Worse, industry is routinely bashing on CS degrees because they don't turn people into framework X-ready candidates. It's getting a little tiring just how little credit is given to the idea of "maybe these tools can be learned in a reasonable amount of time by people with a degree showing they can pick things up rather quickly".

Yes but I interview for a role where we dont have set languages: we're a small optimisation team working across system when they reach capacity bottleneck and we do JS, C#, Java, C++, PL/SQL fixes completely transparently, we've slowly learned that languages really dont matter all that much for performance tuning as much as programmers mishandling which are identical in all of them (hash map loops, abusive recursion,…

my gosh this was my first real developer job back in the day, just like this. we were a so called "hit squad" and brought in to fix longstanding issues (this was a Fortune 100 company, where they had more internal software than developers to manage it, some of which was actually mission critical for the departments it served)

I learned so much in that job, and probably would have kept it had they not relocated it to Santa Clara.

If you can work in an environment like this for a few years you definitely should, that's my advice to everyone. You'll learn so many things that will be useful over the rest of your career.

Re: We will never have enough software developers (2020)

#397

I think this article hits on some truths and gets a handful of things wrong. First, they are correct that we are in a dynamic profession that requires constant learning and expanding. No doubt the people who choose to stay in software are likely to be people who are curious, life-long learners where this is a benefit of the profession rather than a drawback. That said, one thing I noticed from teaching computer scien…

As I’ve gotten older it’s harder for me to learn an entirely new area (like say going from web dev to mobile or ML). But it’s actually easier to learn a new variation of something (like the latest JS framework) because it’s usually pretty similar to one of the things I already know. I guess this leads to increasing specialisation, but it also means studies that merely count “new skills” will be misleading if they don…

I'm the complete opposite. Hand me a new JS framework that does the same thing I've done a million times but have to learn it's opinionated abstraction set that's somehow better and I just turn off. I simply do not care, at all. You need to simply explain to me the improvement you're proposing or it might as well be trash to me.

Now give me a new theoretical concept where I can expand my knowledge or integrate into my knowledge map and view of the world and I'm excited, there aren't enough hours in the day. Tell me about this all new concept I wasn't familiar with--I'll start thinking of ways I can use it, how I can leverage it, or how it may connect with other ideas and concepts I have.

Now give me a tight deadline which most business environments create and I agree with you, give me the boring stuff I can pump out, get my paycheck and go home to enjoy the rest of my day.

Re: We will never have enough software developers (2020)

#398

A fascinating premise, and matches what I saw as an engineering director. The best just get bored and move on. I think many teams are unaware how much extra value is possible by retaining existing employees vs hiring new ones. Each year I'd try to make sure I was "making them an offer they couldn't refuse" with new interesting challenges, new tech, plenty of personal research time, as much pay increase as I could pos…

Literally every engineering director I've ever seen says exactly what you're saying. E.g., "as much pay increase as I could possibly": for my experience and growth, an employer I worked with offered a -6.6% increase in real salary for my time there. (≈3 years tenure.) Negative. The work was also … not what I'd like to be doing. So between "stay with company" and "find different company", it shouldn't be too hard to predict which option was more appealing.

Re: We will never have enough software developers (2020)

#399
post #187
post #90

Earlier quoted context omitted.

I've dreamed about a 20% policy like google had, except it's where you can work on anything, including code debt. I've tried to stress to managers in the past that developers feel the pain of code debt. It makes us slower! Enable us to spend time sharpening our tools and managing our codebase. One problem of course is, not all SWE can do this well. I wouldn't necessarily trust a junior hire to recognize and execute a…

How does a junior become a senior? By trying stuff that cannot do well yet and making mistakes.

When I was a non-senior eng., I interacted with plenty of senior engineers, found that I easily possessed the skills to work at their level / do their job.

My company at the time laid off my entire division. I decided it was time, needed a job of course, and so applied for and landed a job as a "senior SWE".

Re: We will never have enough software developers (2020)

#400
post #7

Earlier quoted context omitted.

its not just the best ones. If you remove people from the grind for 1-2 days a week, give them a small budget and enough autonomy to do what they want, most people will fix shit that bugged them for a long time. The main problem is how micromanage-y the current development processes are. Everything has to be a ticket/user story and has to be planned and approved by some people that never even wrote a single line of c…

> If you remove people from the grind for 1-2 days a week The modern office seems hellbent on killing every last bit of slack in their workers, then wondering why they leave or get burned out. I realized the other day that a big part of my drive to move towards self-employment is really just a way to carve out time to take adequate care of myself. I have significant doubts that it is possible to continue to advance i…

Pretty much. I often wonder where people find positions claimed on the internet where they're working 2-3 hours a day. I've increasingly throughout my career saw more and more slack evaporate to a point it's almost nonexistent.

I always wondered why people complained about how much time certain aspects took up they could automate away and my question was always: well, once you automate away that nice simple task, what do you do with the extra time? You created more slack and someone's going to come looking to fill that void the second they're aware. And the new task is going to be more difficult until you get to sets of tasks so cognitively intense and complex you can't simply automate them away. Then your day is filled with incredibly challenging stressful work.

I have no issue with doing complex work, I've spent my career doing it. What I have issue with is the amount of such work I can do in any given time span. At some point I need a break where I do something simple and mundane. Continous complex problem solving is the road to burnout. You'll be greeted by more and more failure and lack of visible progress combined with ever increasing stress levels.

If you're an entrepreneur, small business owner, or manager looking to optimize your labor force then you may want the opposite. You want more time to focus on the complex and the more simple you can automate, the better or if you have a workforce, you want your highest comped individuals focusing on the most optimally complex tasks they're capable of handling. You don't want your Fellow level engineer refilling the coffee maker because it's empty or implementing some basic features on some UI, go back to inventing new algorithms, math, or building new technology... but people need those nice relaxing breaks and slack, they can't run at their best constantly.

Post reply on HN