Soft Skills Engineering - Episode 310: Flip flop and architecture astronaut
Episode Date: June 27, 2022In this episode, Dave and Jamison answer these questions: Hey guys! Love the show! I’ve worked for 8 years as a Software Engineer for a large aircraft company, and while I had a great ...time there, I left because I was tired of working with old tech and wanted to learn new stuff. I joined a medium-size company, working with lots of fun new tech, but after 8 months I got the opportunity to get my dream job as a Software Engineer at a specific Big Tech company. The problem is that after I started on my dream job, I “crashed” really hard. The people and org are great, but the job revolves around working with a large legacy product, using mostly old/basic tech, and overall I’ve been feeling really unmotivated since joining. After 4 months there, I was called by my previous fun job, and they offered me twice as much as I’m making at this Big Tech company to come back. I’m very tempted, but I’m afraid of screwing my resume by leaving so early. Should I toughen up and stick with my new fancy job, or go back and make more money and maybe be happier? Hello Dave & Jamison, First time, long time - I am 6 months into my first engineering job and loving it! (until recently…) my large team split into smaller teams. On my old team, we had lots of work to do and it was fun. My new team, however, is suffering from “spin-up time.” My tasks have shifted from clearly defined individual contributor type tasks, to amorphous research tasks on large architectural decisions. After about 3 months of this, it feels like this spin-up time is never going to end and we just don’t actually have much work coming our way. On the one hand, these are more senior engineering type tasks and I could probably learn a lot if I stay to see these through. On the other hand, I am certainly not at a senior engineer level and I miss spending my time coding. It was fun and I was learning a lot from that too. I fear that I may be atrophying as I haven’t done much coding for multiple months. On the third hand (I have three hands), I could definitely be making more money elsewhere. Should I stay and be patient, or is it time to take the magical SSE advice? is the economy crashing? I need help!!! Thanks, you guys are the best, Johnny Threehands Show Notes Architecture Astronaut: https://www.joelonsoftware.com/2001/04/21/dont-let-architecture-astronauts-scare-you/
Transcript
Discussion (0)
it takes more than blaming an outage on your two-year-old getting to the keyboard to be a
great software engineer this is episode 310 of the soft skills engineering podcast i am your host
jameson dance i'm your host dave smith soft skills engineering is a weekly advice show about the
non-technical stuff that goes into the technical field of software development and adjacent
technical fields where do we draw the boundary is it like doctors that's a technical field
technically right right up to but not including accounting okay and law well some kinds of law
yes yeah i wonder this has to have happened before right someone has to have left their
key their computer logged in in the days of remote work and then a kid comes up and just
like drools on the keyboard and it happens to put like select update rm dash rs slash yeah
yeah set id yeah one something like that delete from users semicolon yeah
what a very specific drool pattern this child has
well with a million toddlers and a million drool patterns you'll eventually get an outage
but also you'll get like a functioning unix yeah too oh my gosh this virtual memory allocator is
so elegant that's not what the show's about though no indeed no indeed this episode is
sponsored by revelo revelo is a great way to hire engineers for your team go to revelo.com
soft skills if you need to hire folks and we'll tell you more about revelo later on
we also want to thank our patrons who support us at the level where we shout them out every
single week thank you to memester josh owen chartle craig motlin i love mavis the stochastic
parrot andrew pollock aranduna kashokton ohio patreon.com.au we're hiring ira chan monkey face
emoji jonathan king testing is documenting.org oladapo fadye will angel my neighbor has smelly
feet nick hathaway travis sanders braden canes john grant nick cantar and philip john basile
thank you thank you thank you if you want your name on this list or to just support the show
financially uh you can go to soft skills.audio and click support us on patreon and that goes to
pay our editors pay our hosting costs and pay for dave's expensive what what could it be expensive
scale fighter jet replica hobby with built in with with real engines like one 30 second scale
you got really into engines yeah yeah i got swept up i thought you were gonna say my scale
baby drool pattern maker system that's like a mechanical turk for baby drool millions of babies
at your service yeah i think this is the beginning of a of a sci-fi villain origin where you think i
just need a million babies you can find so that they're drooling on a keyboard i need to harvest
harvest some babies you just have this call center vision in my mind right now full of babies
imagine the noise and the smell as far as the eye can see
babies i mean you could you could so okay babies have lots of outputs right you could you could
oh boy make a baby use drool and spit up and diapers and screaming and when they sleep and
like you know just kind of as an entropy generator yeah well lots of different ones right so you have
one infinite set of babies drooling on keyboards and then another infinite it's the same babies
but now they're like screaming at microphones that turn it into keystrokes right this way we
have to kidnap fewer babies wait that's a good thing yeah well okay it's easier i'm sorry
my moral compass is a little uncalibrated on this stuff okay i'm on paternity leave right now
so babies are on my mind and i guess this is my subconscious saying like i hate them now or
something i don't know my baby's great all these other babies though oh man we better we better
move on yeah okay maybe i should read our first question yeah get us out of here okay this comes
from an anonymous listener who says hey love the show i've worked for eight years as a software
engineer for a large aircraft company and while i had a great time there i left because i was
tired of working with old tech and wanted to learn new stuff. I joined a medium-sized company
working with lots of fun new tech, but after eight months, I got the opportunity to get my
dream job as a software engineer at a specific big tech company. That's capital B, capital T,
big tech. The problem is that after I started on my dream job, I crashed really hard. The people
and org are great, but the job revolves around working on a large legacy product using mostly
old slash basic tech and overall i've been feeling really unmotivated since joining after
four months i was called by my previous fun job and they offered me twice as much as i'm making
at this big tech company to come back i'm very tempted but i'm afraid of screwing my resume by
leaving so early should i toughen up and stick with my new fancy job or go back and make more
money and maybe be happier there's a lot of airplane metaphors here we got crashing yeah
We've got a literal aircraft company.
I guess that's not a metaphor.
It's actually an aircraft.
Yeah, unless their org chart is shaped like an airplane or something on purpose.
We've got bad news about your team.
They have to be dissolved because the landing gear are now out of alignment.
Oh, man.
Interesting.
The numbers here that I'm imagining are just staggering.
you went from working at an aircraft company as a software engineer not exactly known for being top
of the industry on pay for software engineers then landed a big tech job which undeniably has
got to be a pretty big pay raise then double the big tech company's salary to go back to the
aircraft company that's got to be like a triple pay raise from the original wait is this i
interpreted this as going back to the company before big tech yeah that's what i interpreted
not the aircraft company oh let's see here because they they had oh aircraft then another company
that was fun and then big tech and i think oh god okay my previous fun job meaning not my aircraft
job okay that that strikes me as a little more realistic i'm like wow but boeing really got
their crap together on salaries where's all this money coming from i we don't actually know if it's
boeing i'm just that's the only large aircraft company i know of in the u.s and i think this is
that's all anyway boeing or airbus i guess but it's neither of those you're saying
is a medium-sized company working with fun tech to go back oh yeah that's very interesting i wonder
how much of a raise it is from their their previous salary at the medium-sized company
because i imagine it's more than probably still pretty big yeah i imagine it's more than they
were making on their last stint there yeah so i mean double the big tech company and undoubtedly
the big tech company was a raise even from the medium-sized company so more than double right
i mean wow that's crazy yeah i've also not every big tech company pays really really well and a
lot of them are also well compensated in equity yeah true which is great if the numbers only go
up and they have not they have not gone up lately they have finally not only gone up yes it's been
a good long run it has it turns out i wasn't a great investor i just was born at the right time
right you all this time you thought you were just amazing at i thought stocks yeah well all these
stupid people haven't figured out the problem you just buy stocks and then they go up right and then
you get the big deal yeah easy and then you retire yeah and then after that you work for the rest of
your life because you're never retiring as is traditional i have an unanswerable question which
is do you think that do you think this person's unhappiness is because of this job like i didn't
look at when this question came in that's pretty recent there's a lot of reasons you could have
crashed and you you might be assuming i was happy before at this medium-sized company i'm unhappy
now at this current big tech company therefore if i go back i will be happy and that might be true
but there might be other burnout can follow you you don't always automatically just leave it behind
if that's what this is i see if it's burnout yeah or or if it's if you're being followed literally
by someone and that is stressing you out and making you crash they will also be able to follow
you like you're looking over your shoulder on the street and there's always someone back there with
with like a wide brim hat and sunglasses and a trench coat yep have you heard of the movie it
follows no what's that it's a horror movie it's good and they stole one of my nightmares as a
child which is that somewhere in the world there is a monster and it's just walking towards you
okay at at normal walking speed and you don't know where it is and you can't see it easily and
and you can't have any warning of...
But it's always coming toward you.
But it's always coming towards you.
And if you move location,
it just changes direction and starts walking towards you.
Yeah, it just goes towards where you are now.
So you just have to keep moving.
Yeah.
So I think...
I guess what I'm saying is
if there is someone following you,
then yeah, you got to switch jobs
because now they're coming towards big tech.
You got to throw them off.
And you're going to have to keep doing this
for the rest of your life.
In my nightmares, they could walk underwater.
So I'd imagine them just walking across the ocean.
the movie does not address that all the all the monsters are within walkable distance of their
prey but well okay in the next few years then you're gonna have to become a multi-billionaire
and get a ticket on the first spacex flight to mars and just hope that monster can't walk through
space or just like live in an airplane right oh like air force one just stay airborne orbiting
the earth good luck walking up here the monster just walks below you on the ground yeah i guess
looking up so we've dissected the meaning behind that yeah clearly childhood trauma
should i toughen up and stick with my new fancy job i think you have a few options and one of
them the worst one is that big tech is big the big part is part of the name and it's true there
is probably lots of internal mobility there so you could get a new job at the same company
which might be less frustrating and maybe look a little better on the resume
yeah because what we've got here is we have eight years at one company
eight months at another four months at another
and now you're talking about jumping back to the
previous company yeah that doesn't bother me actually
doesn't bother me at all it doesn't doesn't either like
you you had to go experience some stuff and you learn things
And I'll tell you, the narrative here for future companies, so the question was, I'm worried about screwing up my resume. No way. Not a chance. Because here's the narrative. I stayed eight years at one job. I can do longevity. No problem. And my second job that I left after eight months, they spent the next four months putting together an offer package to bring me back. They liked me so much. So that narrative to me overwhelms any job hopper narrative that you might be worried about on your resume.
yeah plus if you're worrying about screwing up your resume it's for the company after this
medium-sized company you might be going back to because right they want you back so it doesn't
matter what your resume says to them like that's true and as long as you stay there it doesn't
matter what your resume says yeah yeah i i would not be worried about the resume you may never need
your resume again oh this could be it because the monster catches up right stay there long enough
right exactly i don't know i i'm not seeing a lot of reasons to stay at big tech uh yeah
some people are are enamored with the with specific companies and that always fades like
and that seems to have been the case here right i mean yeah it was a dream job i had a dream job
to get as a software engineer at a specific big tech company and then when you walked through
the front doors you were like not that great here is this pile of spreadsheets yes please
maintain the vb script that right automates this it's true a lot of big tech companies
they've they've got a lot more money than like a typical early stage startup or medium-sized
company and they get way more leverage out of their software engineers and so as a result they
can employ software engineers to do things that medium-sized companies just couldn't afford to do
such as listen your job is to sit at this terminal and restart this service every 45 minutes because
it's got memory leaks we're just so busy doing other things that we need you to do this for the
next few years 2009 rails right i mean the times the amount of times i've heard that kind of story
you know i'll tell you a specific one we've got this pearl script you know it's critical to our
business function and we have a whole team around this pearl script to just keep the darn thing
running no you may not rewrite it that's too much risk there's too much money tied to this
pearl script so yeah you just have to keep it running fix bugs as they come up and it looks
like that's you if you have enormous piles of money you just keep adding developers as long
as the marginal benefit is is worth it and that means putting developers on some really boring
problems sometimes very common where yeah if you have 10 developers you cannot afford to have
one of them focused on like automating email spreadsheets to ping a dashboard somewhere to
wake a vp up or i don't know whatever dumb made up thing replace it with something useful but
boring right you just focus on the core essential parts but another interesting thing is is this
question reads like they they wanted to work at this company not at a specific on a specific thing
at the company it wasn't like they learned about some i don't know some framework or or some
internal team that they knew about yeah or some some project or something it was like i i just
want to go work at fang well not just but and thing is a brand right i i like i like this company
yeah i like their brand not i want to work on this cool thing that i know that they have and so
maybe if you can find some of that it would be useful but i agree with you dave that there's no
resume risk here i think it's fine yeah now what i would weigh here is not so much the resume risk
i would weigh the opportunity cost of leaving a big tech company where there even though there
are lots of like boring jobs just you know to to paint a really wide brush here which is what i'm
reading into in the question. But also, there are a lot of really unique problems that you can only
find in big tech companies. And so that's the opportunity cost of leaving, I think, is that
you'll never be able to work on one of those problems. Either it's at a scale that no one
else does, or it's on a product that no one else could ever afford to build. And maybe there's only
two of them in the world. You know, I'm speaking from experience here. And that was awesome for me,
at least to work at a big tech company. And I suspect that's probably part of why this person
actually went there. And so that's what I would weigh here is my job sucks today, but I might be
able to find some other job in this company that's really cool and unique and fun. Weigh that against
going back to my medium sized job, medium sized company and making even more money. Like these
are both pretty good options i think they are it feels like one more wrinkle i will throw in is the
the macro environment of how risk averse do you want to be and where do you feel like your risk
is lower for if we're going through a tech downturn in some ways a big tech company might be more
stable in some ways it might not we've seen lots of layoffs from well-known tech companies so
there's no guarantee of stability but maybe you know something about the the medium-sized business
and their financial viability
compared to kind of what you can think about with big tech.
So I think we are in a period now
where you have to at least have in your mind
a little tiny fraction of your brain thinking about
what is the risk if things go bad?
Whereas before, five years ago,
it was like, how much of a raise will I get
if I get fired from this job
by the 10 different people competing for my hand?
Right.
It might not be like that today.
it might just be like seven people competing for your yeah well you're a soft skills engineering
listener so you'll be okay there'll be eight people that's pretty sweet deal yeah i think
you should go back to your old gig though it sounds like do you want to make more money and
be happier or maybe get some big company benefits but just i'm feeling decisive go back to your old
company yeah i'm with you jameson cool then we've done it we've answered the question nailed it hey
jameson have you heard how easy it is to hire engineers right now given infinite dollars it
is easy to hire engineers right now i just don't have those yeah it's tough i want to recommend a
company that helps you hire engineers in latin america it's called revelo tell me about it i've
been hiring engineers in latin america for the past two years and they are awesome i've worked
with a few different companies who provide engineers from Latin America, but none of them
were really great. I recently discovered Ravello. Ravello helps you find skilled software engineers
in Latin America. They only provide full-time senior engineers with at least five years of
experience. They don't force you to pay for things you don't need, like a project manager.
This is really interesting. Their pricing is awesome because they charge a monthly fee
and you know how much they're paying the developers. So there's not a lot of indirection
there, which is not common. Sometimes you get these opaque invoices and you have to figure out
how much is actually going to the developer, how much is going to the company. They do the sourcing
and the vetting, and you can interview the engineers before deciding if you want to work
with them. And they take care of payroll and benefits, which is great. Yeah, I highly recommend
hiring engineers in Latin America. It's a huge untapped market for a lot of US companies.
All of Ravello's engineers speak English, and the time zone is one of the big wins.
If you're based in the united states the latin american time zones line up really well with us time zones
You don't have that painful 24-hour turnaround problem when you have a question for an engineer on the other side of the world
Yeah, I worked with wonderful engineers that live on the other side of the world and both of our lives were worse
Because someone's always up at midnight. So this is great. Check out revelo today
You can go to revelo.com soft skills to check it out. That's r-e-v-e-l-o.com soft skills
all right should i read our next question go for it this is from johnny three hands
okay hello dave and jameson first time long time i am six months into my first engineering job and
loving it uh until recently my large team split into smaller teams on my old team we had lots of
work to do and it was fun my new team however is suffering from spin-up time my tasks have shifted
from clearly defined individual contributor type tasks to amorphous research research tasks on
large architectural decisions. After about three months of this, it feels like this spin-up time
is never going to end, and we just don't actually have much work coming our way. On the other hand,
these are more senior engineering-type tasks, and I could probably learn a lot if I stay to
see these through. On the other hand, I'm certainly not a senior engineer, and I miss
spending my time coding. It was fun, and I was learning lots from that too. I fear that I may
be atrophying, as I haven't done much coding for multiple months. On the third hand, I have three
hands definitely hence the name more money elsewhere yeah should i stay and be patient
or is it time to take the magical sse advice is the economy crashing i need help thanks you are
the best johnny three hands okay johnny three hands uh okay three hands one hand it's good to
get exposure to senior engineering work other hand i've forgotten how to code third hand i think i
could make more money somewhere else and is the economy crashing yes uh it is that's out of the
way i could be making so yeah i i think trying to muddle through big architectural decisions with
six months into your first software job tough is not gonna teach you much so it's not surprising
that you're having a i don't know feeling a bit adrift there's a few things you could do uh
one of them is is can you make the output of any of these decisions code right like if if all you're
doing is writing design docs and diagrams and and things like that you don't have a way to validate
a lot of the assumptions in them but often a proof of concept or a prototype is is useful in
say i don't know we think that using this using memcache will help us resolve latency by this
much or decrease latency by this much or whatever like can you can you turn that into a some code
to write to get back into hands-on stuff a little bit yeah and that serves two purposes one it it
does the thing i just said where you're you're no longer atrophying you are you're bulking up
your code muscles i guess if that's the metaphor we're using but also i think that's the most
effective way often to make these architectural decisions is you have to try them out and kind of
see how they work. If you just wave a wand and declare this is how it is, you'll quickly find
places where your decision and your model of the world doesn't fit the actual world. So if you can
turn these into concrete things, you might be able to get the best of both worlds there of this kind
of senior level engineering stuff combined with writing code. I've heard a term for people who
just do big high-level architectural things, but then are a little bit disconnected from the
facts on the ground by doing exactly what you said, not building proofs of concept,
not writing code in the architecture that they're working on. And it's called Architecture
Astronauts. I just Googled it and I realized this is a Joel Spolsky term, I think. I think
he coined this term in 2001. 20 years ago was a good time to start forming new terms in this
industry, it turns out. Well, I feel like, yeah, but I bet 20 years ago it didn't seem like a good
time oh yeah probably now is a good time too that's true because now will be 20 years ago
at some point in the future i can't say how long it'll take to be 20 years ago but it'll happen
at some point some unknowable time in the future it'll be 20 years ago yeah so i think what you're
saying is do not fall into that trap like yeah no matter what you have to you have to be producing
some tangible output yeah exactly especially six months into your career i i guess i question how
good your architectural instincts and decisions could be six months into your career i feel like
six months into my career i didn't even know the shape of the problems at all i wouldn't be able to
even start someone would ask me how to make this faster and i would you'd be like well
about like loop unrolling exactly exactly why did we both go to loops yeah because that's that's
what's slow right loops are always slow so let's unroll them yeah and then they'll be fast
yeah i wonder what the team composition is are there more senior folks on the team
is it kind of all people of similar experience levels trying to figure this out or
because i i would expect i would not expect a team of folks six months into their careers to
be making these big decisions i would expect to have more senior people maybe they're kind of
very caught up in maybe they're not they're not like breaking problems down into something that
you can work on though they're just off on their own doing their own astronomy yeah i'm gonna guess
i kind of have a theory here it says my large team split into smaller teams sometimes when
organizations split up it's it's because the the team got big which definitely happened here we
see the term large but then you start trying to define boundaries where teams can be productive
within those boundaries and sometimes you just get them wrong and you're like hey you listen we
have more people than we know how to manage right now so we're going to break this down into smaller
organizational units and why don't you just go handle like uh architecture you know it's like
yeah i've been in that situation where actually in during a college class i remember we had a team of
three we were trying to build some some program to do something and i remember feeling a lot of
pressure to divide up the work into thirds but it just didn't the work didn't want to be divided
into thirds you know so i ended up we ended up dividing it up and into kind of false thirds
and someone got this job that just didn't even need to exist you know you work on this thing
and they're and i remember at the beginning i was like hey here's an idea you work work on the data
smoother and they were like what's that and i'm like you know just like smooth the data
and i remember at the end it was like we put all the pieces together the three pieces and made it
work together and demoed it and i was like what happens if we take the data smoother out so we
did and we're like oh that's way better that's a little mini conway's law in action there yeah
exactly that may be what's happening here maybe your team shouldn't exist that's the morbid way
of saying what i'm trying to say that is a hard question to bring up though because while i think
an outcome of your team not existing is is like well you do other work at this company there's
always a little fear in the back of people's minds that your team not existing means you don't have
a job anymore that the team ceases to exist by people being laid off or something like that
so there's there's often trepidation to say hey we're not doing anything yeah exactly like are
Are you all, listen, business people, are you clear that you're paying us to do nothing?
Oh, you don't say.
Yeah.
What if we just didn't pay you to do nothing?
Exactly.
Yeah, they could pay you to do something or not pay you to do nothing.
My annual bonus is secured.
Yeah, I'm struggling to turn this into concrete advice, though.
I guess besides my earlier advice of, what is it?
The astronomy, astronautary?
Because astronomy is different from what astronauts do, right?
aren't i guess they do look at stars yeah that's the same thing as far as i know that's the same
thing yes all right so go don't don't be an astronaut anymore on this team i think you you
got to get somewhere where you're writing code all the time though that's that's critical at this
stage in your career yeah i agree with that but also making more money elsewhere we talked before
about salaries there's this weird your trajectory and salary growth is usually quite high at the
beginning of your career but also it is sometimes anchored by where you start yeah if you can't
get somewhere that that is not anchored by your current salary and you started low
then what am i saying i don't know i think i'm just saying quit your job don't make more money
elsewhere and then and then if you get someone who if you get an offer that says well we'll pay
you 10 more than we were paying then you were making your last gig then sometimes we try so
hard to not be stereotypes of ourselves and we just try so hard not to say quit your job but it's
like yeah just quit your job well get a new one first and then quit your job i think that's that's
our what we'll do to account for the times no longer just quit your job and then like walk
around whistling saying well let's see in a couple days i'll go look for a job yeah
yeah i think i think that's viable so we've got dude proofs of concept maybe quit your job
another thing i would do is i would probably sit down with the engine uh with the team leader
whether it's your manager or what and just say look i feel like our teams doesn't have clear
direction can you help me and maybe maybe it's just you you know there's a possibility that
you're just not seeing everything so that's probably worth saying and that saying we don't
have clear direction and i'd like to have more concrete direction is a little easier than saying
I think you're paying us to do nothing.
Yeah, that's true.
That feels like a, yeah, you're bringing up a way to be more efficient.
Way to improve the way the team functions.
Yeah, that's, you know, and you could try all of these in a certain order.
You know, once you pull the quit your job one,
then you don't get to do any of the other options.
So maybe put that one last.
That's true.
Unless you're a previous question asker who quit their job and
And now one of the options is unquit their job.
Yes, that's true.
All right.
I think we've answered it.
I think so too.
Good luck.
Good luck, Johnny Threehands.
May your hand count ever increase.
I hope next time we hear from you, you're Johnny Dozenhands.
Johnny Dozenhands.
What can people do if they want their own questions answered?
Go to softskills.audio and click the ask a question button.
Thank you so much to everyone who does that each week.
You keep the show going with amazing, insightful questions that we love reading.
Thank you very much.
Thank you so much.
We'll catch you next week.
