Where the hell are great senior developers and hands-on engineering directors?
medium.com
medium.com
1. Great senior devs are actually rare, so yeah, you won't just have them flowing into your applicant queue no matter who you are.
2. You're not just looking for great senior devs, you're looking for great senior devs who hold certain ideological positions, which is going to narrow your pool much further.
Lots and lots of senior devs have been through the OO design stuff and come out the other side. Like a lot of people, I read and used a ton of design patterns stuff back when I was working in Java around the turn of the century, and nowadays think of OO design as an antipattern to be avoided, with a strong preference toward functionally-oriented code.
Same thing with the XP/agile stuff. Been there, done that, kept what worked and abandoned what didn't. I wouldn't want to apply for a place that had an ideological commitment to strong XP principles and thought of people with other opinions as being in need of "training up."
And maybe you don't want people like me working for you; that's fine, you've got your vision of your OO/XP workplace and you don't want people who don't buy in fully. But don't be surprised when you can't find people who combine strong ability, a lot of experience, and a particular type of tech ideology.
OO: Totally understand where you're coming from and share your viewpoint. (Former OO Java guy, Rubyist, now primarily dong Node for last 2 years)
XP/Agile: I have 8-9 teams under me and their processes vary and are continually evolving via weekly retrospectives and a commitment to perpetual learning and improvement. My ideological commitment is to ruthlessly, earnestly be excellent in what we do. The vibrant cynicism around Agile has been extremely eye-opening.
What about software engineers you might ask? Software engineer positions include "Senior", "IV" "III" "II" etc. I'd say this is poor signaling. If Roman numerals ever suggested an engineering culture, it's one that was well over by 476 CE [when Odacer became King of Italy rather than Emperor of Rome and an important milestone for Gibbon].
What does that structure optimize for? The Techonolgist II at some college or government who wants to be a III and the IV who wants to become a Senior. These are people who are fine as part of formalized bureaucracies. Who else? People taking a shot bullshitting through an interview structured around categorizing a software engineer as a II or III or IV or a Senior.
My intuition is that the problem of attracting the right sort of engineering talent is cultural fit. As Salvor Hardin quipped "an atom-blaster is a good weapon, but it can point both ways."
Good luck.
Choosing "engineer" also says something about culture. Combined with a no formal credential job description, there's a cultural tension.
Incidentally, I gave up on a meaningufl use of "architect" years ago.
Also, a lot of people are tired of the Agile stuff. Senior people in the range this person is looking for are likely to be among those who saw Agile come around and slowly turn into the weird joke that it is today. Places that are so dogmatic about it that they require TDD and pair programming experience are a red flag imo. Just some thoughts from a dev with 12 years experience.
also what i've seen from a lot of Senior people. just because you use jira, have daily status meetings doesn't make you "Agile"
I actually think it's fine if a place claims to be agile based on using jira and having standups. Because I have no interest or investment in "the real thing".
I could be wrong and the practices described in the articles come out of a team working together over a prolonged period of time (based on obie's comment above it looks like these come out of good experience but they should still adapt to the team).
I am realizing that Agile might be much more tainted out there than I originally thought. We do Pivotal Labs/Thoughtbot style Agile, which means very strong emphasis on pair programming, TDD and CI -- but with directors given wide latitude on how to evolve process matters on their team. i've written extensively about it in my modern agile collection on medium
It's hard to imagine a salary of $125k/yr being competitive for senior developers or directors in NYC, whether we're talking about a startup or a billion-dollar company.
Moreover, people capable of working remotely can participate in job markets (and benefit from their corresponding pay rates) not only in NYC but also places like San Francisco and Boston.
From a personal perspective, when job postings mention 'competitive' pay but won't establish a baseline expectation involving concrete numbers, I generally feel safe making the assumption that the salary on offer is on the low end of average; otherwise, mentioning it explicitly would be a great differentiator.
That said, it is possible that we still need to pay more.
It can't hurt!
One might also consider referencing a concrete salary band in the job posting. IMO, the cons from the hopeful employer's perspective (relinquishing some negotiating power) are far outweighed by the pros (setting correct baseline expectations as to both required skill level and average compensation for same).
The best example is to describe how our world works is where a job advert tells you to have X amount of experience with Y technology. You have Z skills, which is close to Y, but the only way to get the experience in Y is to get that, or similar jobs. But the company won't hire you, because you don't have Y. Even if you go and get Y in your spare time, that won't cut it because they want 'commercial' experience not home learning. Welcome to IT kids, where you have to be 2X years old, with 30 years of experience (commercial) and 3 degrees and Agile and 20 programming languages and...
I wanted to have a good Agile experience so bad, that in every job I had, I fell flat on my face. And when I wanted them to change some things. I fell flat on my face.
When I asked the 50 years old 'Senior Developer' why don't we use the Adapter Pattern, the response was a question. 'What's that?'
When I wanted them to change from ant to maven? Sorry we don't have the time right now.
Most of my friends who are developers as well are thinking to start their on business, or go into management, because they had enough. And all of them I would count as senior regarding their knowledge and experience.
I can only talk from my experience. I am sure there are places, which are like nirvana for developers, but I haven't come across one yet.
i get the impression that you were idealistic about some of this stuff in the past, but that idealism has been crushed over the years.
Oh well, hope never dies.
You must come from the same school as "who needs tests they're a waste of time".
Oh and no, I'm not from that school. But having tests doesn't mean the tests are any good. You can have loads of methodologies, patterns, principles. If you can't tell when to use a Factory Pattern, or how to implement SOLID, then it doesn't matter how much you like, or want them.
Design patterns can definitely be abused and pragmatism is important when deciding whether or not to use them. I would say though that implementing SOLID is certainly achievable if writing from scratch but harder when refactoring code that breaks those principles (usually badly with no tests or poor tests).
I think the sentiment of this article is more around finding senior developers who are also interested in the product you are building. Which is a huge problem because the intersection there is even more sparse than finding a senior developer that just wants to solve generic, complex problems.
In response to Obie's where the hell are all the good senior software engineers and hands-on engineering directors
https://medium.com/@bradurani/in-response-to-obie-s-where-th...
On one hand medium uses the positive accomplishments eg "...Empowered cross-functional teams doing disciplined TDD ... pair programming, and continuous integration/deployment ..."
On the job advert reads like you want someone to come and get the team to do those things.
If anything I'd sum up the medium post as "We do good things, come join us" and your jobs adverts "We're slightly above average, can someone please make us better"
I am slightly surprised at this because these are not new things.