19.5 years of programming, but mostly web programming for the last ~12. I want to move away from that, I am sick of it already. There's always something more to learn and even though I don't mind at all -- it keeps my mind sharp which is something I want to keep all the way to my death! -- the churn of knowledge in there is exhausting.
> If you have a CS degree...
I am not from USA and have no degree. I am 41 y/o and I'm a self-taught programmer ever since 12 y/o. Not sure how well that flies on interviews; I feel the US companies put a lot of value on degrees?
> If you apply somewhere and don't get a call back, don't sweat it, and don't take it personally. It just doesn't matter. Hiring is a noisy process...
Completely agreed. I've been in a rough mental and physical health patch for ~3 years now and I've changed more employers/customers than I wanted. Tech hiring is completely broken indeed. You're quite right.
> I'm going to offend a ton of niche fanboys now: Don't pick Vue, Go, Erlang, Haskell, or Rust.
I am not a fanboy at all. I've used 8 languages over my career -- Elixir (stepping on Erlang) and Rust included and I've picked them based on their true, proven and testimonialized merits.
I don't take offense with your statement at all. I presume you meant "aim for something huge and somewhat commoditized that has a ton of legacy code to maintain"? If so, I'll agree with you immediately; there was a period during which I've been barraged by offers from German and Swiss companies almost every day, for months -- all for Java and C# huge legacy beasts.
But sadly that's not where my heart is. :(
Furthermore, I am willing to bet my neck most of those are NOT a code janitor job at all. They'll require a ton of time and attention every day. If I'll do that I'll just find an Elixir or Rust job but at least be happy with the tech stack (if not the area -- the webdev -- which I hate with a passion nowadays).
> Now I'll offend the embedded and systems programmers: Don't pick C or C++. They're just not widely used in business applications.
I haven't been an active C/C++ programmer for like 12-13 years now but IMO you're not on the mark here: there are a lot of business apps but they usually belong in huge old mastodons that are too stubborn to move on (I personally know the VPs of engineering in two such companies!).
But overall you are right -- they are niche but not the good kind of niche; you need a metric ton of battle scars to even qualify there.
> Congrats, you are now qualified for the majority of SE job postings at non-tech companies.
I'd agree but I've neglected networking -- both physical and virtual -- for most of my career and now at 41 y/o I started to feel the negative effects of that. :|
> 19.5 years of programming, but mostly web programming for the last ~12. I want to move away from that, I am sick of it already. There's always something more to learn and even though I don't mind at all -- it keeps my mind sharp which is something I want to keep all the way to my death! -- the churn of knowledge in there is exhausting.
The churn of knowledge can be limited by choosing technologies that don't require constant adaptation. (Time to offend the .NET fanboys): If you pick .NET, there isn't that much difference between .NET Framework 4.5 (from 2012) and the latest version of core. The job still gets done, just with a different set of packages. If you don't have a use for async/await or the TPL, you can go as far back as 3.5 (from 2007).
> I am not from USA and have no degree. I am 41 y/o and I'm a self-taught programmer ever since 12 y/o. Not sure how well that flies on interviews; I feel the US companies put a lot of value on degrees?
Some do, but with 19.5 years of experience, this wouldn't be much of an impediment for you in the United States. All of my opinions apply only to the United States. I haven't worked in other countries and can't comment on them.
> They'll require a ton of time and attention every day.
IMO, a "code janitor" doesn't just sit around all day reading HN. When I use those words, I mean the type of job where you're expected to fix bugs and implement features and not much else. Even if there is talk of higher expectations, there are never any consequences for just going with the flow. You'll rarely/never be asked to work overtime or learn on your own time. You'll only pay lip service to clean code, clean architecture, and long-term thinking. You'll still be expected to show up by 9, hang around until 4, and not screw off the whole time. The job is still a job; it just doesn't strain your brain.
> I'd agree but I've neglected networking -- both physical and virtual -- for most of my career and now at 41 y/o I started to feel the negative effects of that. :|
Headhunters are the antidote to this. When a recruiter wants to connect on LinkedIn and have a short phone conversation about an exciting new position, you always say yes. And if they're not sending connection requests to you, then you send the request to them.
> IMO, a "code janitor" doesn't just sit around all day reading HN. When I use those words, I mean the type of job where you're expected to fix bugs and implement features and not much else.
Yes. We are on the same page, just using different words.
I definitely didn't mean "slacking off". I meant exactly what you said: have 3.5 to 4.5 hours of good solid programming work per day (because realistically that's what most programmers cover in terms of actual focused productive time in the standard 8h work day) where you have already ticked the boxes (or nobody cares about them as you said) so you just pull stuff from a backlog and move at a steady pace with not much supervision.
The company I am very soon starting with has people I like very much, plus I love what they do. But if that turns sour then I'd likely be looking for 2-3 "code janitor" jobs in parallel in order to protect my mental health for a while.
> When a recruiter wants to connect on LinkedIn and have a short phone conversation about an exciting new position, you always say yes.
Maybe you are right. To me outright insisting on a phone call is very disruptive and out of place. I've tried it several times and maybe I drew the short end of the stick every time but they all were young and fairly clueless HRs who just wanted to parrot their speech that was supposed to motivate me and then immediately pressure me for an answer. Don't know, didn't find that a good expenditure of my time.
Maybe I am doing something wrong, I am open to that, but I really am not sure that I want to expose myself to such toxic time wasters. Any advice?
> But if that turns sour then I'd likely be looking for 2-3 "code janitor" jobs in parallel in order to protect my mental health for a while.
Oh, I wouldn't try to juggle multiple code janitor jobs. It only takes one good one to pay my bills. And it would defeat the benefits that I perceive in the code janitor job. If someone wants to put that level of effort into his career, he's better off aiming higher.
> Maybe I am doing something wrong, I am open to that, but I really am not sure that I want to expose myself to such toxic time wasters. Any advice?
Ask for the client and salary range immediately. If they don't give you a straight answer, politely end the conversation.
It depends on the type of recruiter. If you're working with an external recruiter (like an agency recruiter), they're not going to do that. They'll just give you the client's expected salary range. I've never had an external recruiter play this game with me.
If it's an internal recruiter, you might get that question. In that case, have a good idea of what you're looking for, and throw out a number at the top end of the range. If you're talking about a senior software engineer job, and you know that, in your area, they generally pay $120-150k, then say $160k. If you want, condition it based on total comp and benefits. Most Fortune 1000 code janitor jobs will offer a nominal bonus, anywhere between 5-20% of salary. Nothing like the huge FAANG bonus structures. But saying "depending on TC and benefits" gives you some leeway to ask for something even higher later on. And it tells them that, if they can pay you $150k plus a 20% bonus, then you could be happy with that. It leaves the conversation open.
If that makes them walk away, then you didn't want to work there. And don't feel bad negotiating like this even if you're going for a code janitor job. Compensation correlates with negotiating skill more than software engineering skill. It's just the way things are.
Hm. Mostly what I expected then. With one exception: I am in the EU so here $120K a year does not exist. Not even $100K is easily achievable although I've commanded the equivalent of ~$90K a year and will soon work for the same figure.
So I started wondering if I can pivot to the US market -- which was never a goal.
I appreciate your advice. Insecurity and the impostor syndrome can hit even super capable people (I've seen it). Your words help me reassert my self-confidence, and that's sometimes shaky. :)
Retirement, healthcare, and taxes eat up a significant portion of a US earner's pay.
The amount of money that actually gets delivered to a worker's bank account could be a little as 2/3 of their stated salary.
And many things cost more here.
It'd be a good idea to work the numbers and figure out what your take-home pay would be and how your expenses would change. There are some expat websites devoted to this.
19.5 years of programming, but mostly web programming for the last ~12. I want to move away from that, I am sick of it already. There's always something more to learn and even though I don't mind at all -- it keeps my mind sharp which is something I want to keep all the way to my death! -- the churn of knowledge in there is exhausting.
> If you have a CS degree...
I am not from USA and have no degree. I am 41 y/o and I'm a self-taught programmer ever since 12 y/o. Not sure how well that flies on interviews; I feel the US companies put a lot of value on degrees?
> If you apply somewhere and don't get a call back, don't sweat it, and don't take it personally. It just doesn't matter. Hiring is a noisy process...
Completely agreed. I've been in a rough mental and physical health patch for ~3 years now and I've changed more employers/customers than I wanted. Tech hiring is completely broken indeed. You're quite right.
> I'm going to offend a ton of niche fanboys now: Don't pick Vue, Go, Erlang, Haskell, or Rust.
I am not a fanboy at all. I've used 8 languages over my career -- Elixir (stepping on Erlang) and Rust included and I've picked them based on their true, proven and testimonialized merits.
I don't take offense with your statement at all. I presume you meant "aim for something huge and somewhat commoditized that has a ton of legacy code to maintain"? If so, I'll agree with you immediately; there was a period during which I've been barraged by offers from German and Swiss companies almost every day, for months -- all for Java and C# huge legacy beasts.
But sadly that's not where my heart is. :(
Furthermore, I am willing to bet my neck most of those are NOT a code janitor job at all. They'll require a ton of time and attention every day. If I'll do that I'll just find an Elixir or Rust job but at least be happy with the tech stack (if not the area -- the webdev -- which I hate with a passion nowadays).
> Now I'll offend the embedded and systems programmers: Don't pick C or C++. They're just not widely used in business applications.
I haven't been an active C/C++ programmer for like 12-13 years now but IMO you're not on the mark here: there are a lot of business apps but they usually belong in huge old mastodons that are too stubborn to move on (I personally know the VPs of engineering in two such companies!).
But overall you are right -- they are niche but not the good kind of niche; you need a metric ton of battle scars to even qualify there.
> Congrats, you are now qualified for the majority of SE job postings at non-tech companies.
I'd agree but I've neglected networking -- both physical and virtual -- for most of my career and now at 41 y/o I started to feel the negative effects of that. :|