2023 State of Software Engineers [pdf]
pages.hired.email
pages.hired.email
Woah. That’s an interesting finding.
I wonder what RoR is doing to make it so in-demand?
I wouldn't say this an exclusively rails problem though. Testing was a complete nightmare, and there was so much random middlewares that were "mission critical" but no one knew what they did. And as you said, scaling was horrible. We had like a hundred servers, each running 20 unicorn instances, to serve our API at the scale we had (~5 million users or so, I forget the DAU)
The whole concept of "middleware" in Ruby server applications was a huge mistake. Your average Ruby developer has no idea how any of that shit works, and it's an unnecessary abstraction over taking request data and passing it through a function, something that should be simple for even a junior developer to figure out. Somehow it was decided that having a standard for the shape of data wasn't good enough; there had to be a demi-standard for modifying request data before it reaches the primary application code.
If you have to tell a middleware what order it's supposed to run in with relation to other known middlewares, chances are the middleware system itself is a poor design.
That's just the chain of responsibility pattern [1] and I've only seen middleware operate that way. Why wouldn't you want control over the order?
[1] https://refactoring.guru/design-patterns/chain-of-responsibi...
Dunno where you are pulling docker from, that is completely orthogonal to Rails development.
I don't think it's necessarily a problem specific to Rails. It's an issue that the Ruby community that they may never see as a true problem. To their credit, having a system that sucks developers into making simple apps that grow into monstrocities seems to have created a ton of job security for Rails developers. In terms of developer happiness, I really beg to differ once any given Rails application is more than a year old.
Rubyists love object orientation and metaprogramming, which I personally see as massive mistakes outside of some niches. Ruby applications in 2023 still have long chains of inheritance, and still employ lots of metaprogramming, and still use tons of syntactic sugar, and still think along the lines of classes rather than methods/functions, and still allow for side-effects on mutable objects. I've found that at least 80% of issues typical to Rails codebases are related to those styles of software development. Most of those are unnecessary for writing most apps using Rails.
> So they hire "senior rails" devs and throw them at the problem (after all, the initial setup speed of Rauls allowed them to be successful and have money now).
That's the true black-pill of senior-level software engineering. Chances are, as a senior engineer, your job is to figure out the mess rather than make sure anything was done appropriately in the first place. In retrospect, I enjoyed my job as a junior and even mid-level engineer more than being a senior engineer because I often got to work on new and interesting problems while senior engineers had to toil over figuring out some incredibly complicated and boring shit created by the previous engineering regime, as well as by the junior engineers as a whole. Because the business will always be pushing for more features and more deadlines, this problem never gets fixed, hence being a senior engineer becomes little more than an exercise in Sisyphean futility. And the pay is just enough that you don't go fishing instead.
I'm just glad I only spent around 3 months as a senior Ruby engineer before switching to JavaScript, despite all of JavaScript's faults.
I’m intrigued what this means, or how you’d decouple your tests from all data.
Again, as with many things, it's not a Rails-specific problem. It's an issue in many kinds of codebases, and is an issue with the Ruby community in general. I understand the arguments around coupling tests with the data layer implementation, but I just don't agree when it comes to most of the useful tests being performed.
Today those companies have diversified their tech stacks but for the most part the core rails monoliths aren't going anywhere. They need engineers to work on them.
I've moved on, not so interested in going back...
Must be due to all the "it is dead and forgotten" hate Ruby gets :)
see COBOL for example.
1. All remote roles settling to around $160K in the US. This can't be good for those in the high cost areas like SF, Boston etc.. where SOL is easily 2x of the lower cost cities. How will people in high cost regions make remote employment work?
2. How is blockchain engineer still a thing? I would have predicted more than a substantial drop, more like complete wipeout.
3. Rust bottom of the list (least favorite) in engineers favorite/least favorite language. I LOL'ed at this one, since any Rust topic opens with "most admired programming language 7 years a row" statement. Go third least favorite less favored than HTML, Java, C++ and SQL (!). Definitely an interesting sample group.
How else are people not in big cities supposed to make in-person employment work? Well, besides taking lesser opportunities. It seems like tilting the playing field away from big (and arguably dysfunctional) cities is the more equitable outcome. I think the jig is up for a few cities hogging all the tech, and if that changes the rules of engagement for city-dwellers and their living situation, such is life.
> 2. How is blockchain engineer still a thing? I would have predicted more than a substantial drop, more like complete wipeout.
A combination of easy money and surveys such as this one being largely imperfect. Exacty how many blockchain engineers do you know personally? I can't name a one. For all we know, there's 3 developers with the title of "blockhain engineer" working for one company out of the basement of a house and are making ~170k.
Toronto and London should be at 103kUSD and 98kUSD respectively.
I call that "trampoline". Jobs that are meant to be temporary to jump to the real interest.
The trampoline a year ago was crypto startups. Ponzi, probably.
as someone who's been a hiring manager for software engineers in finance: your problem is likely getting past the initial HR filter
they sadly care about all the things you listed
It may simply be that the the same product is worth less when developed in London rather than SF, due to relative availability of VC, market access restrictions, cultural approaches to monetary compensation or any number of other reasons that have nothing to do with the quality of the code.
Then, I think, the numbers reflect only candidates and companies that use Hired, as opposed to the industry as a whole. I wonder how many folks land jobs through Hired?
Seems like that alone would put a big skew on results. It's kind of like the "r/cscareerquestions" effect. There's literally only 3 people posting: hapless anxious innocent newbies/newgrads, low-marketability folks who are struggling to find a position, and people who get off on trolling/doomposting and otherwise feeding off the despair of the other two crowds. The result being a forum that perpetually makes it seem impossible to get hired as a software engineer (even during the covid hiring spree!).
Networks fail people all the time. Mine failed me because I was at one company for a decade(switching teams), and my entire network still works there. I don’t want to go back, so I essentially have no network.
We hired an architect who’s entire network was still at IBM, similar to me. There’s other possible failure modes, it happens quite a bit IME.
Also it's worth noting that while your whole network might be at IBM still, I've found leveraging "I know X, who knows Y, who works at / worked at [target company i want to apply to]". They'll usually only be able to give you a "someone I know but haven't worked with" referral (some places call them just a "candidate lead"), but often it's still miles better than putting your resume in the website intake form. Going 2 degrees out in your network graph is almost always a shockingly large number of people / places.
Almost all the engineers I know get their jobs through random process. They use things like Hired, sending out resumes, responding to recruiters, rooftop slushie (no longer available), and then some actual referrals if they know someone. You use everything available cause you need to get multiple competing offers. You're not going to just interview at one or two friend's places and then get an offer and take it. You're gonna get 5-7 offers and then try to take the best one out of those by making them compete for one another.
This - turns out - requires a lot of companies and interviews and a lot of work.
I canceled my ACM subscription in my late 20s because I got tired of ACM basically doomposting about careers. Last night I was going through my Gmail folders and found a bunch of old ACM doomposts I never deleted from their CSCAREERS mailing list.
So, it's not just reddit that doomposts- Industry veterans are just as paranoid and can also serve as Chicken Little.
It's actually not that hard if you think about what filter you would apply. The one hard part is finding recruiters who specialize in placing people at these companies, and, of course, passing the interview (or at least enough success that the interviewer doesn't tell the recruiter you are a poor quality candidate).
I literally never heard of this, ever. Not even for staff+ positions.
I've read something on the lines of "even Tom Hanks sends his resume to the director when applying for a role". Hyperbolic or not, I've found this to be vastly true.
- I have had a satisfying number of leads from my network.
- I have also been approached by dozens of recruiters both through my network, through LinkedIn and through HN "Who wants to be hired?"
- I have a profile on Hired, through which I have had one lead, for a position in which I'm not interested. Zero on HiredSweet.
> Seems like that alone would put a big skew on results.
Yes it does. Same with internship pipelines at unicorns or FAANG. Some students intern at the same company multiple times during undergrad and transition full time after graduation. They appear to never be on the market.
Both times I came out without any offers. Definitely have my own share of the blame here, but I don't think Hired put a ton of high quality leads on my radar for the effort I put in.
Question for you all, I've used the same resume and landed jobs twice on Hired before, now I have even more experience. This round I got 0 interview requests during my 6 week promotion period.
The only difference I see is that Hired made some coding assessments that employers could use to filter candidates. I didn't do them.
Has anyone else A/B tested this? Coding assessments = a bunch of interview requests?
I got a couple of interview requests 3 weeks into my promotion period, didn't take the quizzes.
Another factor is that my experience probably isn't in demand. All of my experience was writing C++ for devices but only in user space. Most C++ jobs seem to want more than just a generalist C++ programmer. They want low level embedded experience, or backend, or distributed systems, or GPGPU, or graphics.
I made ~190k on my W-2 after first year at Microsoft.
Given how many engineers work at basic companies doing basic stuff, probably.
There's only so many exciting opportunities to change the world out there. For the rest of us, it's CRUD stuff for an insurance company.
how good is hired.com's performance? how many jobs they fill per year?
how many candidates get a job on there? how long does it take them?
I ask because there are many job portals these days and I see a lot of flakiness, ghosting, etc.
$145k for 0-1 years of experience, rising gradually to only $167k for 15+ years?
Is a person with 15 years of experience really worth only 10% more?
I have 6+ yoe and all the offers I got from their platform (while living in LA) were around 120k.
Rails being the most in-demand skill is relatively unsurprising. It's becoming the web's very own COBOL. Millions and millions of lines of RoR code from over a decade ago needs to be maintained and these people are in high demand. I've seen a lot of new shops spring up that use RoR too. The trend with these places seems to be foreign developers and juniors powering the company. RoR, while it has it's problems, is still the perfect tool to extract any real power a developer has. It's about as close to WYSIWYG as we can come without going to dreamweaver.
It is interesting Python didn't make it into the in-demand skill list. I suppose the language is relatively niche still. It just feels like an in-demand kill to me because I work in data engineering. It's similarly interesting Go scored so high in demanded skills. Even outside my field it's still very niche despite all the posts you see. It leaves me suspect of their data somewhat.
Since Python is on the top of all of the other lists, I think this is a consequence of their methodology.
Demand for coding skill over the market average... well if every job in the market requires Python you're not going to see a much "over the average".