> But my background kept leading hiring managers to suggest putting me on cloud teams doing orchestration in Go around a database rather than working on the database itself.<p>This is extremely annoying. This also means if your first job is doing X, it is very difficult to break into Y even if you know quite well about Y, and even have side projects. I have tried attaching cover letters indicating even if my current experience is in X, I am quite familiar with Y, to no luck. (No one reads those stuff).
To me it seems like the majority of recruiters barely read past company name and job title.<p>I switched from Dev to SRE at the same company, and within like one week of remembering to update LinkedIn job title, the random recruiter messages switched from Dev to "oh we are looking for someone like you with lots of SRE experience" (having worked in SRE for <3 months).<p>So yea, it's difficult to get traction for something that isn't already your job title.
>> the majority of recruiters barely read past company name and job title<p>This is a failing of the hiring manager. If the recruiter can't tell who is and isn't a good fit, the hiring manager should have corrected the situation or not partnered with the recruiter.
Disagree. The most common reason I've seen for this is the recruiters using largely or entirely automated tools to comb LinkedIn, Github, and many other sources and auto-blasting out those cold emails. They don't even look at the resume until you reply with interest. It's not (usually) the hiring manager's fault. They frequently don't even know that is occurring.<p>I find that practice disgusting personally and will never do it myself or condone it in others, but it does seem to work.
The hiring manager can set the expectation with a recruiter that all candidates submitted must meet a certain standard. If the hiring manager let's the recruiters send garbage and/or fails to guide them, that is 100% a hiring manager problem.
It probably doesn't work. It seems to work because you will never know the opportunity cost of not hiring a better person, after you already hired a worse person.
> and within like one week of remembering to update LinkedIn job title, the random recruiter messages...<p>The LinkedIn random recruiter messages are a different game than resume screening. Most of those recruiters are using the LinkedIn search tools. Searching for keywords like "sre" is essentially useless because so many people do keyword stuffing. So instead, many recruiters will either be given or will ask for a list of companies to try to pull candidates from.
My entire career was switching from one discipline to another.<p>For me, the key was twofold:<p>1) Spend a lot of <i>extracurricular</i> (not work) time, exploring new tech that interests me. This often included purchasing expensive kit, and attending classes, on my own dime (but I could usually use the spend in my tax write-offs).<p>2) Be willing to accept being paid a lot less than my peers.<p>My career is a fairly eclectic one. I’m now retired, and spend a lot of time learning stuff, which is fun.
Never gets old:<p><a href="https://www.reddit.com/r/ProgrammerHumor/comments/4k994j/if_carpenters_were_hired_like_programmers/" rel="nofollow">https://www.reddit.com/r/ProgrammerHumor/comments/4k994j/if_...</a>
I have come to the conclusion years ago that it is easier to work on a consulting agency, where everyone is "jack of all trades master of none", than trying to apply to regular HR positions.<p>In agencies, a bit like startups, everyone "knows" everything up to the point of winning projects.<p>While everyone knows here how famous some of those projects end up being, but if you can take this ongoing pressure to "know" everything, it is much easier to switch between roles and programming stacks, than the usual HR looking for X on the CV and nothing else.
I find it's easier to prove that within a small company after you're in. You just fix a problem in the area you want to work in, then you fix another problem, and soon after people want you on their team or a team is created around you to fix that class of problem. But lots of engineers just wait to be picked while only doing the stories assigned to them. Or they are in big companies, of which I don't know about.
Is there a way to work around this?
Lie on LinkedIn, get a foot in the door and explain in the interview
Risky. If I interview somebody and their resume is inflated or wrong, at best as a candidate you wasted my time reviewing your resume and scheduling interviews and what not, and now you're starting from a disadvantage because my first impression of you is one of being misled. We're a high-trust organization and anything that causes doubt on your integrity puts you at a disadvantage. If I'm interviewing you, it's because I considered you against the torrent of other applicants, and I likely excluded one that is more qualified than you based on your misrepresentation. That also doesn't work in your favor.<p>If you are a truly exceptional dev in your previous field and can convince me of that, along with an up-front and transparent explanation of why you lied to me as our first interaction, it is possible to overcome this. However, that is a pretty small pool of people.<p>Though, it definitely can work at some companies.
Definitely fair but for the candidate considering this, it's a numbers game. They're just looking to get their foot in the door for a new career path. You care, and you're right to care, but there will be others who don't.<p>Then next time, it's no longer a lie and they can (in theory) get by on merit
If you're interested in working on database internals, it's worth looking at startups—even if you don't have prior experience in this exact area. At my company, we hire engineers with strong systems backgrounds who haven't necessarily worked on databases before. If that sounds like you, feel free to check my profile for more details.
references, apply for a company rich enough to fund various projects ( like crypto company, if your moral compass allows ).
Great story! I always like to tell developers that they can do anything if you just stick to the fundamentals. It's not such a big mountain as it seems!<p>The type-casting part is relatable. It definitely feels like we're all being pigeon-holed by hiring managers and ATS systems that categorize us and rank us by keywords and work history. It can sometimes be quite difficult to switch from something like web development to embedded to databases. Good on you for breaking through.<p>I'm also looking to break into databases. But despite having worked on database libraries, general programming experience, and years of designing and operating systems using databases... there's at least hundreds of people who have been working in databases for years longer and getting one's foot in the door that way is tricky.<p>Keep sharing your passion, that seems to really help stand out. Not all of us might be in a position to found a company or run a user group in a major city (if it doesn't already exist)... but we can write blogs, attend those meetups, give talks, and help each other out on projects.
> The type-casting part is relatable. It definitely feels like we're all being pigeon-holed by hiring managers and ATS systems that categorize us and rank us by keywords and work history. It can sometimes be quite difficult to switch from something like web development to embedded to databases.<p>When people ask for advice about changing fields, I recommend working at smaller companies that have work in their current domain and also the domain they want to switch to. The most accessible route is to look for a startup that will hire you for your current expertise but that also has needs for the type of work you want to do. Startups are much more willing to let people bounce between domains than a big corporation with a giant org chart and middle managers defending their domains.<p>I've been at a couple companies that were open minded about interviewing people with backgrounds that didn't match the role. We had a few success stories of people making big changes, including one person who transitioned from tech support to junior developer and then continued to grow.<p>To be honest, though, hiring people far outside their work history was more often a failure than a success. A lot of the applicants were applying to the job because they thought the grass would be greener on that side of the fence, but then became disillusioned when they encountered the same software engineering challenges in a different domain.<p>A couple of the people we hired just wanted to jump from domain to domain over and over again. As soon as we started getting them trained up enough to be productive, they demanded to switch to another new domain. In the interview phase it's hard to tell who wants to commit to the new domain versus those who want to explore and switch around a lot.<p>So I reluctantly admit that I get it. In a job market like this where hiring managers get 100 applicants within hours of posting a job, filtering for people who have the experience instead of candidates who want to learn on the job is a rational choice.
Even when I was still in school and looking for internships I could feel this. In CS we learned more about compilers and operating systems, but companies wanted web developers, so IT and IS had a big edge. I did game programming on my own time, so companies would recommend interning with a game company. It was frustrating.<p>I’ve been working in web development for many years now. It’s okay. I still don’t know what I want to be in the future. I still don’t feel like a “real dev”. But still do some side learning. I’m happy it worked for the writer, and I hope it does for you too.
I should add that <i>you are a real dev</i>. There's all kinds of programming out there. That's why I enjoy DSA and maths; it's the stuff that transcends languages and has applications in almost every domain. You benefit from knowing how to implement a queue or balance a tree whether you're writing databases, making games, or building distributed systems.<p>Anyone can learn this stuff. Ignore the gate keepers and the little voice that tells you <i>only smart people can do this</i>. You're a smart person. Crack a book, open a new file, compile some code. You'll get there.
Thanks. web dev or game dev are still developers. I don't subscribe to the "real developer" mindset, except if they're vibe coders :)
I've never seen it as that much of a leap. At least half of my work on web applications in my career, especially earlier before SPA's were so popular, revolved around finely tuning the database. In the later parts of my career, it still does because it seems like fewer people want to "deal" with the database internals.<p>IMO pivoting fully into DB development would be a very natural path, for me at least.
> I also wanted to cover what it's like coming from engineering management and founding companies to going back to being an individual contributor. (Spoiler: incredibly enjoyable.)<p>I've done the IC to engineering manager back to IC thing and it is indeed a huge relief to learn that it's OK to do that. My favorite piece of writing on that is The Engineer/Manager Pendulum by Charity Majors: <a href="https://charity.wtf/2017/05/11/the-engineer-manager-pendulum/" rel="nofollow">https://charity.wtf/2017/05/11/the-engineer-manager-pendulum...</a><p>Charity makes a very convincing case that it's OK to swing from manager to IC and back again several times over the course of your career and that doing so will make you more effective at <i>both</i> of those things.
Hard agree. In fact I think doing the manager/IC transition back and forth several times is what makes you really great at both things. Understanding both sides of the equation from lived experience can be incredibly powerful at making you more effective. At a minimum, your ability to empathize with and understand the motivations/pressure on your manager or reports will help you navigate the tricky spots much better.
> I was unhappy with this type-casting so I held out while unemployed and continued to write posts and host virtual hackweeks messing with Postgres and MySQL. I started the first incarnation of the Software Internals Book Club during this time, reading Designing Data Intensive Applications with 5-10 other developers in Bryant Park. During this time I also started the NYC Systems Coffee Club.<p>That's the spirit! And it worked.
My experience (as a non-CS person) has been that aside from where there is a very large maths component which might block people without further academic-style study (and I wouldn't necessarily even count ML in that, since the maths needed for much of ML is relatively low level, it's certainly not graduate school level understanding maths), there are relatively few areas of software which have high barriers to entry in actually doing stuff - where the barriers are are people willing to take a risk on letting you have a go. That's usually much much easier once you're in a company than if you're applying for a role from the outside.<p>Every time I've felt like I didn't understand something and felt overwhelmed at the scale at a task, 3-6 months down the line of throwing myself at the problem and trying to understand it, I've realised it's not as hard and part of the barrier was just the unfamiliar terminology and unfamiliar tools. Sure, there is a degree of needing to learn new stuff - which is true in any job and in life - to do new things. But those barriers are not normally insurmountable. That's been true for me in basically every area. It is also why I'm fairly willing to give people a chance, so long as they are able to demonstrate some knowledge which would be able to transfer.
>I held out while unemployed<p>Watching Eaton's journey online was very inspiring but sadly I have also seen a lot of people doing this to no avail. This is eerily similar to how musicians do busking until they got noticed by a record label.
I enjoyed reading this. It could be because I'm thinking of doing more of system/network programming (and learning Zig). I've spent the last 6 years in the JavaScript land and bored of yet-another-bundling or SPA-like pattern.<p>So there's hope that with consistency and patience, one could build expertise in a totally different area
I'm also interested in more low level or systems programming, though I am coming from a mostly backend/system integration background. I feel like a roadblock is that I am self taught, and though I have been doing software engineering professionally for 15 years and software as a job for 20, I still can't call myself an engineer legally. I certainly know I can do the work, but I worry about hiring being wary of a lack of credentials as a legal liability for lower level stuff.<p>I would love to hear people's stories of interesting jobs they've gotten without a degree in this space.
There are JS frameworks that port to most platforms in about 3 minutes (use a Mac for iOS builds):<p><a href="https://quasar.dev/introduction-to-quasar/" rel="nofollow">https://quasar.dev/introduction-to-quasar/</a><p>That being said, Erlang/Elixir abstracts most db use-cases with ecto, and has some other incredibly powerful scalable features for sites:<p><a href="https://www.phoenixframework.org/" rel="nofollow">https://www.phoenixframework.org/</a><p>* Distributed<p>* Fault-tolerant<p>* Highly available<p>* Hot swapping<p>Depends on the use-case, but if your product is <14 month lifecycle App/shovel-ware, than go JS for the labor compatibility... Yet if you are hitting >40k concurrent users, the options winnow down fairly quickly.<p>Have fun =3
Same. It’s good to know that other people feel the same way.
Thanks, it is inspiring, And it seems like I'm on the same way of that transition, Here is my individual expirment database for learning db internals and rust..<p><a href="https://github.com/maxnilz/sboxdb" rel="nofollow">https://github.com/maxnilz/sboxdb</a><p>Now, trying to implement a rocksdb-like LSM based storage in modern C++ and call it from the sboxdb, just for refresh my old C++ memory.
An inspiring story.Recently made a similar transition from backend development (with some frontend experience) to database development in C, current team am part of manages the authentication aspect. Can truly resonate with this journey on a personal level.
I'm very glad I was able to start my career in startup world where titles don't mean anything and the prevailing attitude was roll up your sleeves and figure it out. No one else is going to solve it. Within my first five years I was doing everything from terminating network cables to managing servers to app development from the database to the various front ends (web and native, later mobile). I've built always on kiosk software. Fitness devices for medical study. I've built device firmware. I've built ML models. And no one ever told me that's not my job.<p>You're able to learn and grow an incredible amount in environments that don't lock you out of work based on the shape of the cog that the company hired for.
I would like to have this kind of transition to the Compiler world.
On a similar note: I've been listening to various podcasts with Allan Judd for probably more than 10 years now. It's amazing to see someone go from a FreeBSD docs contributor and talented systems administrator to C programmer and ZFS developer.<p>You have to have serious motivation to not just stay with what you know, but it's a nice kick in the butt to the rest of us to see that it can be done, with you put in the work.
This is the first time I have ever heard the term “database developer” to mean a developer of the database <i>internals,</i> of the database engine itself.<p>Every other use I have ever come across has meant the development of the databases <i>themselves,</i> the file in which data is stored in a relational (and recently, non-relational) manner.<p>Because when we talk about “a database”, we are almost never talking about the engine that works with one, we’re talking about the file that holds all the data. The former is invariably called a “database server”.<p>Wouldn’t a much more accurate and subject-separate term have been “database engine developer” or “database server developer”? That alone, I think, could have reduced or even eliminated a lot of confusion.<p>And no, not a newb: working with computers since 1982, on the Internet since 1988, on the web since 1992, and in the IT industry since 1997. In the English-speaking world, too.
In the era of LinkedIn, Ted talks and podcasts it’s always good to have a narrative of who you are and your journey to your successful endeavors
If you can wrangle CSS, you can probably wrangle SQL pretty well.<p>Both are declarative ways of traversing graph-like datasets (DOM nodes vs tabular relations).
[dead]