Soft Skills Engineering - Episode 384: EM missing code and non-location pay
Episode Date: November 27, 2023In this episode, Dave and Jamison answer these questions: A listener named Jay asks, Over the past eight years I’ve been promoted from Software Dev to Team Lead and then to Engineering... Manager. After two years as an EM, it helped me a lot financially, I like what I do and I think I’m doing it really well. However, I have two concerns. First, I love programming and now I don’t have any time other than in my limited free time to do it. I can feel my coding skills atrophying. Second, I’m worried that I could only get EM jobs in the future, and there are fewer openings for EMs than for Senior Software Developers. Could I go back to a software developer role? Would they even take me? I work for a staff augmentation company in an African country for a software company in New York. I’ve been with this client for the last five years and I have climbed up the ladder enough that I can access the company financials. I am paid based on my location, which is not much after the exchange rate to local currency. My pay hasn’t increased as I’ve become more effective. Since seeing that info, I don’t feel the need to go over and beyond for this client anymore. The client expects me to be a rockstar developer and ship out code faster they can think of more ways to make money but my enthusiasm has diminished over time and my manager has been notified about it. What steps would you take to ensure you get reasonable pay as a dev earning a location based pay? The staff augmentation company is ran by US citizens.
Transcript
Discussion (0)
it takes more than code to be a great software engineer this is episode 384 of the soft skills
engineering podcast i'm your host jamison dance i'm your host dave smith soft skills engineering
is a weekly advice show about all of the non-technical things that go into the technical
field of software development and i could not think of anything even remotely clever for an
intro so i went back to old reliable yeah the original intro you did pretty good with that
thank you i almost got the episode number wrong though so
there's some kind of universal constant that the amount of flubs must remain
steady they just if i get one part right i have to get another that's right wrong yeah
that gets the conservation of flubs yes yeah exactly see i flubbed the making up a cool
analogy for it so we're on track dave do you want to thank our patrons yes big shout outs to those
that contribute every week or sorry contribute enough that we shout them out every week they
are nick kantar braden canes john grant travis nick hathaway jonathan king ragnar web tau awesome
end-to-end testing will angel ira chan monkey face emoji patreon.com we're hiring craig motlin
the stochastic parrot owen charlotte jenny kim cody sale if you would like to join this illustrious
oh wait not yet
Kent C. Dodds
Valentina Datafold
Santa Hopar
thecomputersciencebook.com
Trash Panda
never is not
just a crater on Mars
with a pink flamingo emoji
I like chicken
I like liver
meow mix
meow mix
please deliver
full stack contractor
looking for job
corp to corp
typehero.dev
if you would like to join
this illustrious crew
go to softskills.audio
and click the support
us on Patreon button
if you contribute enough
we'll say your name
emoji or whatever
unpronounceable town
in the Midwestern
United States
you'd like us to try to say
and any dollar amount
will get you access
to our Slack community
where you can come and chat with a bunch of other listeners over a thousand strong lots and lots of
great discussions advice and help going on every every day and a really good tech humor channel
that makes me laugh pretty much every day and i often share what i see in there with my own
development team and they just think that i am a well of comedy because of it
you too can join and take credit yes steal jokes all right would you like to read our first question
Yes, I will. I will read our first question. This is from a listener named Jay who asks,
over the past eight years, I've been promoted from a software developer to team lead and then
to engineering manager. After two years as an engineering manager, it has helped me a lot
financially. I like what I do and I think I'm doing a really good job. However, I have two
concerns. First, I love programming and now I don't have any time other than in my limited free time
to do it. I can feel my coding skills atrophying. Second, I'm worried that I could only get EM jobs
in the future and there are fewer openings for ems than for senior software developers
could i go back to a software developer role would they even take me short answer yes yes long answer
you must go through a feat of strength climb the highest mountain extract the egg from the nest of
an eagle and then you can go back to a software developer role raise hatch the egg raise it as
your own bring it to the interview where it will speak the y combinator in squawks and then you'll
get the job oh yeah i think you can definitely go back to a software developer role i i actually
think it's probably a well two things one thing anytime you do something that is like a little
bit, this isn't even that weird. But there's a narrative of you climb the career ladder and you
get promoted. And if you move into management, you sort of stay in there and climb that management
ladder. So if you're moving back into software development, you need a narrative for why you're
doing it that isn't, I suck and will be a bad software developer. Because anytime you see
anything weird in a resume, I said you, anytime the company that is hiring sees anything weird
it all in a resume they assume it's because they suck and will be a bad software developer
it's just like a defensive posture that you take on can you can you believe this font family choice
bad developer yeah exactly they must suck at software development i think now that i'm saying
this i'm pretty sure this is how it works yeah anything like whoa they use bitbucket instead of
github for their open source projects bad developer time to return to the old explanation
of everything they must suck as a software developer which is totally wrong and hurts
people especially people from non-traditional backgrounds i'm not claiming this is a good
way to do it but in aggregate this is how it works i'm not claiming it's a good way
it's a great way to identify bad software developers they they must suck at identifying
software developers. So this is not too weird, but weird enough that you need a reason why this is
a good thing and makes you a better software developer. And it can be as simple as I really
missed writing code. Some people really don't enjoy the job engineering management. And that's
a pretty compelling narrative because it's a common thing that people who are good at programming get
promoted to ems and then don't like it or aren't successful you don't have that you you like it
seem to be successful but if you just really want to write code as your job that's a pretty good
reason to go back to writing code for your job good reason number one i want to yeah i like it
well you check that box easily yeah i thought i had another point that i hinted at that's good
i don't know it's gone that's because you're a bad software developer that's how i know
lost train of thought bad software bad yes well if you are a good enough software developer you'll
be able to remember what i was about to say and then say it for me
bad software developer too long
pause too long an interview question oh i'm worried i could only get em jobs in the future
and there are fewer openings okay i do i do want to address this point it is true that there are
fewer em jobs than software developer jobs just because of how how trees work yes fewer nodes
higher up in the tree because how ratios are i think it's generally a lot harder to hire an
engineering manager i feel like the competition harder for the company's company or harder for
the employee harder for the company i feel like i feel like if you are a great em it's a lot easier
to stick out in the interview process because the field is so immature, maybe is how I'll put it.
There's just a lot of people flying by the seat of their pants. So if you have previous experience,
then you are kind of better than the median in a lot of cases. So I guess my point is there are
fewer roles open, but I think the companies looking to hire are also more entranced by
talented people, by qualified people than in a software developer role. Does that make sense?
I don't know. You just sound like a bad software developer to me. So I'm having a hard time
hearing anything you say. I'm just thinking of the times that I have both interviewed
for an EM role and interviewed people. And when I was interviewing, I felt like I was a big fish
in a small pond like oh you take meeting notes and you you like do stuff that should be part of
the job and you you know about it you're you're awesome we would love to have you not to say that
i am a perfect em as anyone who's ever worked for me will be able to attest but i felt like i was i
was doing pretty great and also when we were interviewing for ems i felt like the gap between
how do i put it it just felt much more apparent kind of the the the range of abilities and
and qualifications for the role than in a software developer role interesting maybe they're
i don't know i don't think i'm making sense because i must be a bad software developer i
mean it fits it just feels it feels less scary i know that there are fewer roles out there but
you'll be fine that's the summary of my advice well i'll tell you what like i'll tell you my
experience in interviewing for engineering management positions it is that the the types
of questions that people ask don't have an obvious right or wrong leet code style answer
and it's not like get up on the whiteboard and write this code and then we'll know you're a
good engineering manager you know it was more like here's a situation how would you handle it
or how have you handled it and if you show i think what you're saying and what i've experienced is
that if you show even the tiniest bit of interest and capacity for doing a slightly better than
marginal job, somehow you stand out. And I think that's a reflection of the lack of formal training
and lack of clear definition on what makes a good engineering manager. So someone who shows up and
seems to be committed to the craft really stands out. You must be a good software developer because
you explain that very well. So let's, let's let, should we hit the question head on? Can I go back
to a software developer role? And would someone even take me? Well, I've done it. Let's see. I've
done it once for real. And I'm trying to think probably multiple times less officially. So like,
for example, I was an engineering director at a mid-sized company, software company. And I went
interviewed at one of the big fan companies and got a job as an individual contributor and
honestly it never came up the fact that i was currently currently serving as a manager
it wasn't even it was just such a nothing burger i think if you i think if you if you if you spun
it right it could be a benefit too because a lot of the challenging parts of software development
are things that you deal more with as a manager where you're communicating with people or you're
managing deadlines or dependencies on other teams or like if you have been responsible for doing all
that stuff i think you can demonstrate that you will be good at it as an ic even if it's not your
your job it's still pretty powerful to have a an individual contributor who thinks very deeply
about the business value of the things that they're working on for example or i don't know
just, just can, can apply some of those skills in an IC role.
You think I'm a good leader? Wait till you see me follow.
I mean, yeah, that's, I think there's some truth to that.
I think there is honestly, having been in a leadership role, I know what,
I know more clearly what makes a good follower, you know,
people who do things like, you know, repeat back the instructions to you.
So it's clear, give you timely status updates. So I don't have to go,
my manager doesn't have to come asking for them you know there's just so many little things that
you see on the other side of the management table that you really wish your people would do and then
you can just do those and so i honestly do believe that having served as an engineering manager will
make you a much better software engineer but not not in the leet code sense just in the working
well as a team sense yeah that's true that's sort of assuming all the technical stuff is there which
is a pretty big assumption and part of the concern if you're worried your skills are decreasing
because you're an EM. I do think we've cited this essay a bunch, but not for a while. Charity Majors
is a great writer and excellent technical leader who has written a series of blog posts about going
back and forth between engineering management and IC roles and made a similar point that you'll be
better at both of them if you kind of bounce back and forth. And it's a different career path than
if you sort of pick one and stick with it, but it has advantages and keeps your tech skills sharp
for when you're in an EM role and keeps your leadership skills sharp for when you're in an IC
role and kind of each of them feeds the other one. I do think it's, well, let me ask a question
instead of make a statement. What do you think about compensation? Would you have to take a pay
cut? Sometimes, yes. Sometimes, no. It depends a little bit on the situation. So in my case,
I did not take a pay cut. And that's because I was moving to a more expensive metro area.
So I did take a spending power cut. You did carefully time your job change so that the
stock compensation would be excellent, though, by predicting the future growth of the stock.
Four years in the future. Yes. That did work out pretty well.
Yeah. Yeah. I think you're right. If you're going from a kind of a similar sized company and you're not going into a very senior IC role, then you'll probably take a pay cut. But if you go to a much bigger company or especially one of these mega tech companies that are on hiring freezes right now.
Yeah. It's not a good time.
If that ends, then yeah, you can get a pay bump, but you might take a pay cut.
I don't know.
It's probably fine.
Or not.
I mean, honestly, there's so much variability in engineering compensation that you could
move to a different company and find that the individual contributors here all make
more than even the highest paid engineering managers in my last company.
I mean, it's just wild how big the swings can be.
So I don't think so.
Yeah.
All right.
Have we answered the question?
Yeah, long story short, it is absolutely no problem to move from an engineering management
role back to an individual contributor role.
It happens all the time. Typically, it's nothing burger, especially if you've been able to find
some code you can write as an engineering manager and do a lot of code review. You're going to be
just fine. Yeah. All right. Okay, Dave, do you want to read our next question? I do. This comes
from an anonymous listener who says, I work for a staff augmentation company in an African country
for a software company in New York. I've been with this client for the last five years and I
have climbed up the ladder enough that I can access the company financials. I am paid based
on my location, which is not much after the exchange rate to local currency. My pay has
not increased as I've become more effective. Since seeing that info, I don't feel the need to go over
and beyond for this client anymore. The client expects me to be a rockstar developer and ship
out code faster than they can think of more ways to make money. But my enthusiasm has diminished
over time and my manager has been notified about it. What steps would you take to ensure you get
reasonable pay as a developer earning a location based pay the staff augmentation company is run
by u.s citizens in the spirit of this show i have questions we cannot answer i'm wondering
did they see the pay scale for their client or the pay scale for their staff augmentation company
which i presume has people from from various countries yeah i mean it there is definitely a
There is definitely a chance that if you saw a bunch of New York-based software engineering salaries, you would be very surprised at how high they are.
Yeah.
I also think if they were the client salaries, that's like why your company exists, to take advantage of that difference in pay.
Where they're presumably charging this client less than New York software engineering salaries, but more than they're paying you.
And that's how they make money.
So I think, yeah, if you say, but they pay people in New York a lot more at this company, then it's going to be a lot easier for your staff augmentation company to shrug their shoulders and say, like, yep, that's why we're here.
That's why we exist.
That's the business.
Which then will not give you the outcome you're looking for, which is more pay.
but if it's the other scenario which is that you saw your peers in your same location who are
theoretically in the same location based pay band and you notice that they are making a lot more
than you that's actually an easier battle to win yeah yeah it it can be really challenging to find
out that other people who are doing your job are making a lot more money than you and the good news
is that if that's the case and they're performing similarly to you there's a really good chance you
could make a strong argument and actually get your pay increased especially if this is one of
those situations where the differential is huge you know i've had i've managed teams where we've
got people in countries where the cost of living is like i don't know like one third the cost of
living of other countries on the same team. And so, correspondingly, the developers in that
country make one third of what developers in the other country make. And so, what that means,
though, is it doesn't mean you're going to get a 300% raise. But what it means is that a
significant percent increase for your pay, like say 20%, is relatively very few dollars
compared to what, say, a 20% raise would be for the 3x engineer.
And so you can usually make a case for that.
And this company is using a staff augmentation company in Africa,
presumably because the cost of living is lower and the wages are lower.
And so they can get a lot more labor for their dollars.
And so maybe it is time to go ask for a raise.
And maybe you're going to have to go over your boss's head
because it sounds like just telling your boss or your manager that you want it,
it doesn't sound like that has yielded a lot of fruit.
Yeah. And this is a trend I've seen, actually, over the last 10 years that I've been close to staff augmentation firms that work overseas in lower cost of living places compared to the United States. And what I have noticed is, sure enough, the salaries have moved up a lot.
You know, it used to be we would go to a particular country and we would get essentially a 50% discount on the labor.
And now it's more like a 20 to 30% discount.
So what that means is that those salaries in that country that we're paying have increased by about 50% from where they started.
Yeah.
I think you have, yeah, there's a couple options here.
One of them depends on if your compensation is a fixed amount of local currency or a fixed amount of U.S. dollars.
Yeah, they said New York, so it'd be U.S. dollars, I assume.
Yeah, probably.
That's another place where the staff augmentation company can be making money.
is if the exchange rate is fluctuating such that the dollar value of your local compensation is
decreasing, they might be paying you the same amount of local currency and just kind of making
off with the difference. Yeah, which means they get the discount, which is probably not happening.
Like most of the time when I've made arrangements with overseas foreign currency, we typically pay
in US dollars because that's just normal for us and it works fine. And then if there is crazy...
No, for a fact, there are some intermediaries that will happily accept your fixed amount of U.S. dollars and then happily pay out a fixed amount of local currency and just keep the extra.
And they just love inflation.
They love it.
Yeah, they're pumped about it.
So that's a thing you could do that might be different than just saying, please pay me more money.
It's like, well, just pay me the same amount of dollars.
And just as the exchange rate changes, then change how much local currency you pay me.
That might be easier or harder than just paying you more money, though.
Yeah.
Yeah, this is tricky because you're seeing part of the benefits of a global economy is
that you get to work for people on the other side of the world, but also isn't the point
of pay that you're paid for the value you provide the company, and then is the value
you provide really 50% or whatever the difference is less because you live in this other country?
Yeah.
Probably not is the answer.
they said that you you they expect you to be a rock star developer which sounds pretty valuable
but so you've got like these two competing things of of the value you're providing to the company
and this expectation that like local wages determine what you get paid and if you want
to make more money you sort of need to break that expectation that like because they might even say
something like well you're getting paid a lot for your we looked at salaries for for your country
and you're actually getting paid more than kind of the median they might have reasons why it makes
sense and at the end of the day that that's the number that that's the number that carries weight
because what if someone comes to a company like this and says i want to make more money
they will say look sorry they won't necessarily say this but one thing that they can reliably say
if you are overpaid compared to the local market is, well, good luck on your job hunt.
We're going to replace you with someone else who we can pay less. And even though what you said,
Jameson, is true that companies should compensate you for the value that you produce,
that's actually not how most compensation is decided. It is decided based on the competitive
salaries of people like you that they can get. They're just always looking for cheaper labor.
you know so it's just not you know if if google for example paid all of their engineers who work
on the advertising system would equal to the value they get then every engineer would make
over a million dollars a year you know but they don't yeah i mean some do but they most of them
don't they just get paid the absolute minimum that the market will allow by having someone
who's willing to step in and say i'll take that it's like a it's like an auction but you're bidding
downward yeah yeah i'm glad you brought that up because that is the perspective they're going to
bring is like well there is some cost to them right they have to train someone new and and
maybe they won't be a rock star right you you might have this special ability that that they
might not easily replace but if they zoom out enough they might just say this is like a developer
in this region of the world and they cost x amount and and yeah well so i've i've just bummed you out
what do you do about it? I know. Let me pass it over to you, Dave.
I mean, I think I would go talk to my manager and try to understand the economics that are
in play here. Because ultimately, those are like the laws that govern the maximum amount of money
that you can make are the economics of the situation that this company engaged with your
staff augmentation company to serve. So if they came to your company knowing that they could get
development work for a dollars per hour that is substantially lower than the people in New York
City, which I believe they did, then you have a certain limited window of pay range that you can
reasonably get. And it's not the New York pay range. It's just not. But like I said before,
good news, a substantial percentage increase for you may not be a substantial dollar increase for
the client. And so it's possible that you could get your rates to go up, but it all depends on
who you are competing with for those same wages. So long story short, I mean, the way that I would
handle this is I would talk to my boss and say, what are my options for making more money? What
do I need to do? You know, lay down a clear case just as you would anywhere else. What do I need
to do to make more money? And then execute that plan. And the answer might suck. The answer might
be, sorry, we don't have any options for you. At which point you're going to have to live within
the economic laws. I'm putting the word laws here in quotes, but it's like there are governing
principles that limit how much you can control your salary up or down. And so you'll have to
find a way to creatively grow it within those constraints. And one of those options might be
to find a way to move to New York City. If you really want to go for that dollar amount with
the understanding that that will come with extreme costs and of course tons of immigration pain and
other challenges but and could very well be impossible it could be impossible yeah but
that yeah that is that is probably the the if you can pull it off the clearest way to earn local
rates is be local move to where the local rates are higher yep which typically means then you
will need higher costs lawyers yeah that's you yeah well well surely we've answered it i hope so
what can we do what nothing what we're doing it we're doing our thing let me retry we can
not do anything what can others do if they would like their own questions answered go to soft
skills.audio and click the ask a question button we want to thank you so much to everyone who
submits these questions we love reading them you send so many of them and thank you for all the
follow-ups people have been sending in. We're going to bring those together and start sharing
those in future episodes so you can hear how we did. Did we utterly fail? Hint, usually yes.
Did we succeed? Hint, usually no. But it'll be good either way and a good entertaining read to
hear how our answers ended up working. Thank you. Thank you. All right. We'll catch you next week.
Thanks for watching!
