Episode Transcript
Transcripts are displayed as originally observed. Some content, including advertisements may have changed.
Use Ctrl + F to search
0:07
It takes more than code to be a great software engineer.
0:10
This is episode 384 of
0:12
the Soft Skills Engineering podcast. I'm your host, Jameson
0:14
Dance. I'm your host, Dave Smith. Soft Skills Engineering
0:17
is a weekly advice show about all of the
0:19
non-technical things that go into the technical field of
0:21
software development. And I could not
0:23
think of anything even remotely clever
0:25
for an intro, so I went back to old
0:27
Reliable, the original intro. You
0:29
did pretty good with that. Thank you. I
0:32
almost got the episode number wrong, though, so.
0:36
There's some kind of universal constant
0:38
that the amount of flubs must
0:40
remain steady. They just, if I
0:43
get one part right, I have to get another
0:45
part wrong. Yeah, it's the conservation of flubs. Yes,
0:47
yeah, exactly. See, I flubbed the
0:50
making up a cool analogy for it. So
0:53
we're on track. Dave, do you
0:55
want to thank our patrons? Yes, big
0:57
shout outs to those that contribute every week. Contribute
1:00
enough that we shout them out every week.
1:02
They are Nick Cantar, Brayden Caines, John Grant,
1:04
Travis, Nick Hathaway, Jonathan, King, Ragnar, Web
1:06
Tao, Awesome End-to-End Testing, Will Angel, Ira
1:08
Chan, monkey face emoji, patron.com,
1:10
we're hiring, Craig Motlin, the Stochastic Parrot,
1:12
Owen Chartle, Jenny Kim, Cody Sale, if
1:14
you would like to join this illustrious,
1:16
oh wait, not yet, Kent C. Dodds,
1:19
Valentina Data Folds, Santa Hopar, thecomputersciencebook.com, Trash
1:21
Panda, Never is Not Just a Crater
1:23
on Mars with a pink flamingo
1:25
emoji, I like chicken, I like liver, meow mix,
1:27
meow mix, please deliver, full stack contractor
1:29
looking for job, corp to corp, typehero.dev.
1:32
If you would like to join this illustrious crew, go
1:34
to softskills.audio and click the support on Patreon button. If
1:37
you contribute enough, we'll say your name, emoji, or whatever
1:39
unpronounceable town in the Midwestern United States you'd like us
1:42
to try to say. And any dollar
1:44
amount will get you access to our Slack community, where you can
1:46
come and chat with a bunch of other listeners over
1:48
a thousand strong, lots and lots of great
1:50
discussions, advice, and help going on every day. And
1:53
a really good tech humor channel
1:56
that makes me laugh pretty much
1:58
every day. I
4:01
said you anytime the the company that is hiring sees
4:03
anything weird at all in your resume They
4:05
assume it's because they suck and will be a
4:07
bad software developer. It's just like a defensive Posture
4:11
that you take on can you believe
4:13
this font family choice bad
4:15
develop? Yeah, exactly. They must suck at
4:17
software development. I Think
4:21
now that I'm saying this I'm pretty sure
4:23
this is how it works. Yeah anything like
4:25
whoa they use Bitbucket
4:27
instead of GitHub for their Bad
4:31
develop time to return to the old
4:33
explanation of everything Which
4:37
is totally wrong and hurts people especially people
4:39
from non-traditional backgrounds I'm not claiming this is
4:41
a good way to do it, but
4:44
in aggregate. This is how it works I'm
4:46
not claiming it's a good way. It's a
4:48
great way to identify bad
4:50
developers They they
4:52
must suck at identifying software developers so
4:59
This is not not too weird, but
5:02
weird enough that you need and you need a reason why
5:04
this is a good thing and makes
5:06
you a better software developer and It
5:09
can be as simple as I really miss
5:11
writing code some
5:13
people really don't enjoy the job
5:15
engineering management and That's
5:18
a pretty compelling narrative because it's a common thing
5:20
that people who are good at Programming
5:22
get promoted to EMs and then don't like it
5:24
or aren't successful You don't have that you you
5:27
like it seem to be successful, but if
5:29
you just really want to write code as your job That's
5:31
a pretty good reason to go back to writing code for
5:33
your job Reason
5:35
number one I want to Yeah,
5:38
I like it. Well you check that box
5:40
easily. Yeah, I thought
5:43
I had another point that I Hinted
5:45
that it's I don't know it's gone. That's cuz you're a
5:47
bad software developer Train
5:52
of thought bad software to bad.
5:54
Yes. Well, if you are a good enough
5:56
software developer You'll be able to remember what
5:58
I was about to say and then say it for
6:00
me. Bad
6:04
software developer, too long to pause. Pause
6:10
too long an interview question. Oh,
6:12
I worry that I can only get EM jobs in the
6:14
future and there are fewer openings. Okay, I do want to
6:16
address this point. It is true
6:18
that there are fewer EM jobs than
6:21
software developer jobs just because of
6:23
how trees work. I
6:26
think it's generally a lot harder to hire an engineering
6:28
manager. I
6:34
feel like the competition is harder
6:36
for the company or harder for the
6:38
employee? Harder for the company.
6:41
I feel like if
6:43
you are a great EM,
6:46
it's a lot easier to stick
6:48
out in the interview process because
6:50
the field is so immature, maybe
6:53
is how I'll put it. There's just a lot
6:55
of people flying by the seat of their
6:57
pants. If you have previous experience, then you
7:00
are better than the median
7:02
in a lot of cases. I guess
7:04
my point is there are fewer roles open, but
7:07
I think the companies
7:09
looking to hire are also more
7:12
entranced by qualified
7:15
people than in a software developer role. Does that
7:17
make sense? I know. I'm
7:20
having a hard time hearing anything. I'm
7:25
just thinking of the times that I have both
7:27
interviewed for an EM role and interviewed people.
7:32
When I was interviewing, I felt like
7:35
I was a big fish in a small
7:37
pond. You
7:39
take meeting notes and you do
7:41
stuff that should be part of the
7:43
job and you know about it. You're
7:46
awesome. We would love to have you. Not
7:49
to say that I'm a perfect EM as
7:51
anyone who has ever worked for
7:53
me will be able to attest. But
7:56
I felt like I was doing pretty great. And
7:58
also when we were interviewing. for
8:01
EMs, I felt like the
8:03
gap between, how do I put it? It
8:05
just felt much more apparent,
8:08
kind of the
8:10
range of abilities and qualifications
8:12
for the role than
8:16
in a software developer role. Interesting.
8:19
Maybe they're, I don't know,
8:21
I don't think I'm making sense because I
8:23
must be a bad software developer. I mean,
8:25
it just feels, it feels less scary. I
8:28
know that there are fewer roles out there,
8:30
but you'll be fine. That's the
8:32
summary of my advice. Well, I'll tell you
8:34
what, like I'll tell you my experience in
8:36
interviewing for engineering management positions. It is that
8:38
the types of questions
8:40
that people ask don't have
8:43
an obvious right or wrong lead
8:45
code style answer. And
8:47
it's not like, get up on the whiteboard and write
8:49
this code and then we'll know you're a good engineering
8:51
manager. You know, it was more like, here's the
8:53
situation, how would you handle it or how have you handled it?
8:56
And if you show, I think what you're
8:58
saying and what I've experienced is that if you show even
9:01
the tiniest bit of
9:03
interest and capacity for doing a
9:06
slightly better than marginal job, somehow
9:09
you stand out. And I think that's a reflection
9:11
of the lack of formal training
9:14
and lack of clear definition on what makes a
9:16
good engineering manager. So someone who shows up and
9:18
seems to be committed to the craft really stands
9:20
out. You must be
9:22
a good software developer because you
9:24
explained that very well. So let's, let's,
9:27
let's, should we hit the question head
9:29
on? Can
9:32
I go back to a software developer role and would someone even
9:34
take me? Well, I've done it.
9:37
Let's see, I've done it once for
9:39
real. And I'm trying
9:41
to think probably multiple times less
9:43
officially. So like, for example,
9:45
I was an engineering director at a mid-sized
9:48
company, software company. And I went
9:50
and interviewed at one of the big fan companies
9:52
and got a job as an individual contributor. And
9:55
honestly, it never came up. The fact that I
9:57
was currently serving as a manager, it
9:59
wasn't even... It was just such a nothing burger.
10:01
I think if you, I think
10:04
if you, if you, if you spun it
10:06
right, it could be a benefit too, because
10:08
a lot of the
10:11
challenging parts of software development are
10:13
things that you deal more with
10:15
as a manager, where you're communicating
10:17
with people or you're managing deadlines
10:19
or dependencies on other teams or
10:22
like, if you have been
10:24
responsible for doing all of that stuff, I
10:26
think you can demonstrate that
10:28
you will be good at it as
10:30
an IC, even if it's not your,
10:33
your job, it's still pretty powerful to
10:35
have a, an
10:37
individual contributor who thinks very
10:39
deeply about the business value of the things that they're
10:41
working on, for example, or, uh, I dunno,
10:44
just, just can, can apply
10:46
some of those skills in an IC role. You
10:50
think I'm a good leader? Wait till you see me
10:52
follow. I
10:57
mean, yeah, that's, I think there's
10:59
some truth to that. I think there is honestly,
11:01
having been in a leadership role, I know what,
11:03
I know more clearly what makes
11:05
a good follower, you know, people who do things like,
11:07
you know, repeat back the instructions to
11:10
you. So it's clear, give you timely status updates.
11:12
So I don't have to go, my manager doesn't
11:14
have to come asking for them. You
11:16
know, there's just so many little things that you
11:19
see on the other side of the management table
11:21
that you really wish your people would do. And then you can just do
11:24
those. And so I honestly do believe that
11:26
having served as an engineering manager will make you a
11:28
much better software engineer, but not, not in the lead
11:30
code sense, just in the working well as
11:32
a team sense. Yeah,
11:34
that's true. That's sort of assuming all the technical
11:36
stuff is there, which is a pretty big assumption
11:38
and part of the concern. If you're worried your
11:41
skills are decreasing because you're an
11:43
EM. I do think
11:45
we've cited this essay
11:47
a bunch, but not for a while. Charity
11:50
majors is a great
11:52
writer and excellent technical leader who
11:54
has written a series of
11:56
blog posts about going back and forth between
11:59
engineering management and. IC roles and made
12:01
a similar point that you'll be better at both of
12:03
them if you kind of bounce back and forth. And
12:05
it's a different career path than if you sort of
12:07
pick one and stick with it, but it
12:09
has advantages and keeps
12:12
your tech skills sharp for when you're in
12:14
an EM role and keeps your leadership skills
12:16
sharp for when you're in an IC role
12:18
and kind of each
12:20
of them feeds the other one. I
12:23
do think it's, well, let
12:25
me ask a question instead of make a
12:27
statement. What do you think about compensation? Would
12:29
you have to take a pay cut? Sometimes,
12:32
yes, sometimes, no. It depends a little bit
12:34
on the situation. So in
12:36
my case, I did not take a pay cut
12:38
and that's because I was moving to a more
12:40
expensive metro area. So I
12:43
did take a spending power cut. You
12:46
did carefully time your
12:50
job change so that the stock compensation
12:52
would be excellent though. Yes. By predicting
12:54
the future. By predicting, yeah, four years
12:56
in the future. Yes.
12:59
That did work out pretty well. Yeah. Yeah,
13:01
I think you're right. If you're going from
13:03
a kind of a similar sized
13:05
company and you're not
13:07
going into a very senior IC role, then
13:10
you'll probably take a pay cut. But if you
13:12
go to a much bigger company or especially one
13:14
of these mega tech companies that are on
13:17
hiring freezes right now, but yeah,
13:20
it's not a good time. If that ends, then yeah,
13:22
you can get a pay bump. But you might take
13:24
a pay cut. I don't know. It's
13:26
probably fine. Or not. Honestly, there's so
13:29
much variability in engineering compensation that you
13:31
could move to a different company and
13:33
find that the individual contributors here all
13:35
make more than even the highest paid engineering managers in my
13:37
last company. I mean, it's just wild how
13:39
big this swing can be. I don't
13:41
think so. Yeah. All right. Have we answered
13:43
the question? Yeah. Long story short, it is
13:45
absolutely no problem to move from an engineering
13:48
management role to a back to an individual
13:50
contributor role. Happens all the time. Typically,
13:52
it's nothing burger, especially if you've been able to
13:54
find some code you can write as
13:57
an engineering manager and do a lot of code review.
13:59
You're going to be just fine. Yes.
14:02
All right. Okay, Dave, do you want to read our next question?
14:04
I do. This comes from an
14:06
anonymous listener who says, I work for a staff augmentation
14:08
company in an African country for a software company in
14:10
New York. I've been with this
14:12
client for the last five years and I have climbed
14:15
up the ladder enough that I can access the company
14:17
financials. I am paid based on my
14:19
location, which is not much after the exchange rate to
14:21
local currency. My pay has not
14:23
increased as I've become more effective. Since
14:26
seeing that info, I don't feel the need to
14:28
go over and beyond for this client anymore. The
14:30
client expects me to be a rock star developer and ship out
14:33
code faster than they can think of more ways
14:35
to make money. My
14:37
enthusiasm has diminished over time and my manager
14:39
has been notified about it. What
14:41
steps would you take to ensure you get reasonable pay
14:44
as a developer earning a location
14:46
based pay? The staff augmentation
14:48
company is run by US citizens. In
14:53
the spirit of this show, I have questions we
14:55
cannot answer. I'm wondering,
14:57
did they see the pay scale for
14:59
their client or the pay scale for
15:02
their staff augmentation company, which I
15:05
presume has people from various
15:07
countries? Yeah. There
15:11
is definitely a chance that if you
15:13
saw a bunch of New York based
15:15
software engineering salaries, you would
15:18
be very surprised at how high they
15:20
are. Yeah.
15:22
I also think if they were the client's salaries,
15:26
that's why your company exists, to
15:28
take advantage of that difference in
15:31
pay. Where they're presumably charging this
15:33
client less than New
15:35
York software engineering salaries, but
15:38
more than they're paying you and that's
15:40
how they make money. So
15:43
I think, yeah.
15:47
But they pay people in New York a lot more at
15:49
this company, then it's going to be a
15:51
lot easier for your staff augmentation company to shrug their
15:54
shoulders and say, like, yep, that's
15:56
why we're here. That's why we exist. That's the business.
15:58
Which then will not give you the outcome you're looking
16:00
for, which is more pay. But
16:03
if it's the other scenario, which is
16:05
that you saw your peers in your
16:07
same location, who are
16:09
theoretically in the same location-based pay band,
16:12
and you notice that they are making a lot more
16:15
than you, that's actually an easier battle to win. Yeah.
16:18
Yeah, it can be really challenging to find out
16:20
that other people who are doing your job are
16:23
making a lot more money than you. The
16:26
good news is that if that's the
16:28
case and they're performing similarly to you,
16:30
there's a really good chance that you
16:32
could make a strong argument and actually
16:35
get your pay increased, especially
16:37
if this is one of those situations where the
16:39
differential is huge. I've
16:42
managed teams where we've got people in
16:45
countries where the cost of living is like, I don't
16:47
know, like one-third the
16:49
cost of living of other countries on
16:51
the same team. Correspondingly,
16:54
the developers in that country make
16:57
one-third of what developers in the
16:59
other country make. What
17:02
that means, though, is it doesn't
17:04
mean you're going to get a 300% raise. But
17:08
what it means is that a
17:10
significant percent increase for your pay,
17:12
like say 20%, is relatively few
17:18
dollars compared to what, say, a 20%
17:20
raise would be for the 3x engineer.
17:25
You can usually make a case for that. This company
17:28
is using a staff augmentation company
17:30
in Africa, presumably because the cost of
17:32
living is lower and the wages
17:34
are lower, so they can get a lot
17:37
more labor for their dollars. Maybe
17:40
it is time to go ask for a raise and maybe you're
17:42
going to have to go over your boss's head because it sounds
17:44
like just telling your boss or your manager that you
17:46
want it. It doesn't sound like that has yielded a lot of
17:48
fruit. This
17:51
is a trend I've seen, actually, over the last 10 years
17:54
that I've been close to staff
17:56
augmentation firms that work overseas in lower cost
17:58
of living places. compared to the United States.
18:01
And what I have noticed is sure enough, the
18:04
salaries have moved up a lot. It
18:06
used to be we would go to a particular country and we
18:08
would get essentially a 50% discount
18:11
on the labor. And now it's more like a
18:13
20 to 30% discount. So
18:16
what that means is that those salaries in
18:18
that country that we're paying have increased by
18:20
about 50% from where
18:23
they started. Yeah. I
18:25
think you have – yeah, there's a couple options
18:27
here. One of them is depends
18:31
on if
18:34
your compensation is a fixed
18:36
amount of local currency or
18:39
a fixed amount of US dollars and –
18:42
yeah, they said New York, so it'd be US dollars, I
18:44
assume. Yeah, probably. That's
18:47
another place where the staff augmentation company
18:49
can be making money
18:52
is if the exchange rate
18:54
is fluctuating such that the dollar
18:56
value of your local compensation is
18:58
decreasing, they might
19:00
be paying you the same amount of local
19:02
currency and just kind of making off with
19:04
the difference. Yeah, which means they
19:06
get the discount. Yeah, exactly. Probably not
19:08
happening. Like most of the time when I've
19:11
made arrangements with overseas foreign currency, we typically
19:13
pay in US dollars because that's
19:15
just normal for us and it works fine. And
19:17
then if there is crazy –
19:19
I know for a fact there are
19:21
some intermediaries that will happily accept your
19:23
fixed amount of US dollars and then
19:26
happily pay out a fixed amount of
19:28
local currency and just keep the extra.
19:30
And they just love inflation. They
19:32
love it. Yeah, they're pumped about it. So
19:35
that's a thing you could do that might
19:38
be different than just saying, please pay me
19:40
more money. It's like, well, just pay me
19:42
the same amount of dollars. And
19:45
just as the exchange rate changes, then change how much
19:48
local currency you pay me. That might be easier
19:50
or harder than just paying you more money though. Yeah,
19:54
yeah, this is tricky because you're
19:56
seeing part of the benefits of a global.
20:00
economy is that you get to work for people on
20:02
the other side of the world, but also
20:05
isn't the point of pay
20:07
that you're paid for the value you provide the
20:09
company. And then is the value you
20:11
provide really 50% or whatever the difference
20:14
is less because you live in this other
20:16
country? Yeah, probably not is the answer. They
20:18
said that you they expect you to be
20:21
a rock star developer, which sounds pretty valuable.
20:25
So you've got like
20:27
these two competing things of the
20:30
value you're providing to the company and
20:32
this expectation that like local
20:35
wages determine what you get
20:37
paid. And if you
20:39
want to make more money, you sort
20:41
of need to break that expectation that like because
20:44
they might even say something like, well, you're getting
20:46
paid a lot for your we looked at salaries
20:48
for for your country and you're actually getting paid
20:51
more than kind of the median. They
20:53
might have reasons why it makes sense. And at the end
20:55
of the day, that's the number that that's the number that
20:57
carries weight because what if someone comes to
21:00
a company like this and says, I want to make more money,
21:02
they will say, look, sorry, they
21:05
won't necessarily say this. But one thing
21:07
that they can reliably say if you
21:09
are overpaid compared to the local
21:11
market is, well, good
21:13
luck on your job hunt. We're going to replace you
21:15
with someone else who we can pay
21:17
less. And
21:20
yeah, and even though what you said, Jameson is true
21:22
that companies should compensate you for the value that you
21:24
produce. That's actually not
21:26
how most compensation is is decided.
21:29
It is decided based on the
21:31
competitive salaries of people like you
21:34
that they can get for they're just always looking
21:36
for cheaper labor. You know, so it's
21:38
just not, you know,
21:40
if if Google, for example, paid all of their
21:42
engineers who work on the
21:44
advertising system would equal to
21:47
the value they get, then every engineer would
21:49
make over a million dollars a year. But
21:52
they don't. I mean, some do, but
21:54
most of them don't. They just get paid the
21:57
absolute minimum that the market will
21:59
allow. Wow, by having someone who's
22:01
willing to step in and say, I'll take that. It's
22:04
like an auction, but you're bidding
22:06
downward. Yeah. Yeah. I'm
22:09
glad you brought that up because that is the perspective
22:11
they're going to bring is like, well, there
22:13
is some cost to them, right? They have to
22:15
train someone new and maybe they won't
22:18
be a rock star, right? You might have
22:20
this special ability that they might not easily
22:22
replace. But if they zoom
22:24
out enough, they might just say, this is like
22:26
a developer in this region of
22:28
the world and they cost X amount and
22:31
yeah. Well,
22:34
so I've just bummed you out. What do you do about
22:36
it? I know. Let me pass it
22:38
over to you, Dave. I mean, I think I would go
22:40
talk to my manager and try to
22:42
understand the economics that are in play here
22:44
because ultimately those are like the
22:47
laws that govern the maximum amount of money
22:49
that you can make are
22:51
the economics of the situation that
22:54
this company engaged with your staff augmentation
22:56
company to serve. So
22:59
if they came to your company
23:01
knowing that they could get development work
23:04
for a dollars per hour that is substantially lower
23:06
than the people in New York City, which I
23:09
believe they did, then you
23:12
have a certain limited window of
23:14
pay range that you can reasonably
23:18
get and it's not the New York
23:20
pay range. It's just
23:22
not. Yeah. So I said before, good
23:24
news, a substantial percentage
23:26
increase for you may not be
23:29
a substantial dollar increase for the
23:31
client. And so it's possible
23:33
that you could get your rates to go up,
23:35
but it all depends on who you are competing
23:37
with for those same wages. So
23:40
long story short, I mean, the way that I would handle this is I
23:42
would talk to my boss and say, what are my options for making more
23:44
money? What do I need to do? You know,
23:46
lay down a clear case just as you
23:48
would anywhere else. What do I need to do to
23:50
make more money? And then execute that plan.
23:53
And the answer might suck. The answer might be, sorry,
23:55
we don't have any options for you. At
23:57
which point you're going to have to. live
24:00
within the economic laws. I'm putting
24:02
the word laws here in quotes, but it's like
24:05
there are governing principles that
24:07
limit how much you
24:09
can control your salary up or down. And
24:12
so you'll have to find a way to creatively grow it
24:14
within those constraints. And one of those
24:16
options might be to find a way to move to New York
24:18
City. If you really want to go
24:21
for that dollar amount with the understanding that
24:23
that will come with extreme costs and of
24:25
course tons of immigration pain
24:27
and other challenges, but
24:29
it could very well be impossible. It
24:32
could be impossible. Yeah. But
24:34
yeah, that is probably the,
24:38
if you can pull it off, the clearest
24:40
way to earn local rates is be local.
24:43
Move to where the local rates are higher. Yep. Which
24:46
typically means then you will need higher costs for
24:48
lawyers. Yeah, that's you. Yeah.
24:51
Well, well, surely we've
24:53
answered it. I hope so. What
24:56
can we do? What? Nothing.
24:59
We're doing it. We're doing our thing. Let me
25:01
retry. We can not do anything. What
25:05
can others do if they would like their own questions
25:07
answered? Go to soft skills.audio and click the ask a
25:09
question button. We want to thank you so much to
25:11
everyone who submits these questions. We love reading them. You
25:13
send so many of them and thank you for all
25:15
the follow-ups people have been sending in. We're going to
25:17
bring those together and start sharing those
25:19
in future episodes so you can hear how
25:22
we did. Did we utterly fail? Hint, usually
25:25
yes. Did we succeed? Hint,
25:28
usually no, but it'll
25:30
be good either way and a good entertaining
25:32
read to hear how our answers ended
25:34
up working. Thank you. Thank you. All right.
25:37
We'll catch you next week.
Podchaser is the ultimate destination for podcast data, search, and discovery. Learn More