Soft Skills Engineering - Episode 249: Settling the Wild West and credit for self-study
Episode Date: February 22, 2021In this episode, Dave and Jamison answer these questions: Questions I recently took over to manage development at a small company that has been around for a few decades. We just wrapped up a... four year effort to move to a more modern web stack. The development style before my new position is best described as ‘Wild West’. My direct boss’s philosophy can be illustrated with the following phrases: “We are going to have to rewrite it, so just get it out fast.” “Just hardcode the sh*!@ out of it” “It just has to look like it works, but it doesn’t really have to work.” My boss is the co-founder of the company and ran development before me. I have made a concerted effort with my current team to introduce best practices, Unit Testing, PSR standards, APIs and so forth but engagement is really low. I’ve tried every way I know how to get them to care about quality code, tests, standards, etc but they just don’t respond. They are more concerned about getting things out fast which is nice but not my top priority. I’d rather have clean, predictable code that doesn’t break in production. How do I get my team to buy off on these principles? Hi Dave and Jamison How do I communicate all of the self-study that I’ve done to potential employers? I transitioned from a bachelor’s degree in the health sciences to the software industry and I have now worked as a data scientist for a couple of years. I spent a lot of time and effort taking free online classes in mathematics and computer science through Stanford and MIT. Over 3 years I’ve probably done the equivalent of half of a math degree and about a third of a full CS curriculum. And even though I’m employed now, I still keep working on more advanced classes in my spare time. How can I communicate this to potential employers considering that I’m not getting any academic credits for my effort? Should I just leave this off my resume? Is it okay to mention that I have audited those classes? Any other ideas? Thanks for the lovely podcast.
Transcript
Discussion (0)
it takes more than getting your pull request to show up in the gartner magic quadrant to be a
great engineer this is episode 249 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 where we
answer your non-technical questions about the technical field of software developments
are you familiar with the gartner magic quadrant i am familiar with all those words but not put
together are you familiar with the conjoined triangles of success from silicon valley same
answer no okay well i'll add them both to the show notes gardener magic quadrant is this like
marketing market research thing i assume you pay a ton of money to get your company featured in it
i have no idea how it works it's like there's a there's a there's a an x and y axis for some
industry like i don't know infosec tools and then they put companies in different locations on them
depending on how visionary they are and how established they are and i think it would be
cool to see like cloud computing and then you have aws and microsoft and google and then on that
you also have like pull request 47 to the internal bookkeeping application that
that you wrote it was very forward-looking how much money would it have to take
to get my pr how many millions of dollars would you have to pay gartner
i'll let you know next week okay as long as your next patron pitch goes really well yeah we'll find
out yeah we want we want to get the soft skills engineering podcast in the gartner magic quadrant
for like blockchain yeah that's a great idea and only these patrons can make it happen by
contributing at least i don't know we need probably 20 people to contribute 100k a piece
those are just table stakes yeah we'll make a we'll actually dedicate a whole slack channel to
you if you do that okay speaking of patrons can i give a shout out to those that are contributing
please okay these are people who are contributing on patreon at a level that gets them a weekly
shout out they are nick kantar the agile ventures charity chris hogan braden kane steven armand lee
philip john basile john grant dennis bogdanov travis sanders nick hathaway oladaba fadi
yaki arens fainton ragnar hardison christian polanco roman denisov fizzbuzz influencer
adrian bordink and testing is documenting.org thank you to those folks if you would like to
support the show and get access to our slack community you can go to soft skills.audio and
click support us on patreon and if you uh if you donate 100k you'll get your own slack channel and
he'll help get us into the gartner what is it called gartner magic quadrant yes okay i look
forward to which one do you want to be in like which which cell top right oh uh yeah i think
top right is the good one i don't remember what the axes are but up and to the right is generally
good so yeah exactly leaders and visionary no ability to execute and completeness of vision
yeah right that's clearly soft skills engineering has the ability to execute and completeness of
vision for computer vision we are the leaders please don't mention that you can also just
create a slack channel for free if you join our slack group
it won't be sanctioned and approved though the same way that's right all right i want to read
our first question this is from an anonymous listener who says i recently took over to manage
development at a small company that has been around for a few decades we just wrapped up a
four-year effort to move to a more modern web stack the development style before my new position
is best described as wild west my direct boss's philosophy can be illustrated in the following
phrases we are going to have to rewrite it so just get it out fast just hard code the expletive out
of it it has to look like it works but it doesn't really have to work my boss is the co-founder of
the company and ran development before me i have made a concerted effort with my current team to
introduce best practices unit testing apis and so forth but engagement is really low i've tried
every way i know how to get them to care about quality code tests standards etc but they just
don't respond they are more concerned about getting things out fast which is nice but not my
top priority i'd rather have clean predictable code that doesn't break in production how do i
get my team to buy off on these principles wild west i love it just has to look like it works it
doesn't actually have to work oh my gosh how does it how do you even accomplish that this is the
team behind the microsoft progress bar oh yeah i don't know maybe it's for a marketing demo or
sales pitch or something yeah yeah so just hard code the expletive out of it i've i've said that
i say crap though hard code the crap out of it hmm so clearly the the culture is set by your boss
the co-founder not by you the manager of the team and culture takes a long time to change too i mean
if this company is old and the co-founder has been around since the beginning then they have
had a really long time to influence the culture yeah it's like cement now you have to chip it out
to replace it yeah you need a jack you need a cultured jackhammer yeah you i mean i bet that
the co-founder is still really involved in technical decisions and the team and the code
like the team is very aware of the co-founder's influence and opinions that's my impression
the place is relatively small and like they're always saying go faster faster faster
you you want to listen to your boss's boss a lot it turns out you can find out how influential
your boss's boss has been on the code where if you start reviewing pull requests and the approvers
say things like great job i saw seven hard codings in here that's pretty good
you really have hard coded the expletive out of this pr
nice work it does look like it works but it actually doesn't you did it
i see you resisted the urge to actually implement that api but you made the url
good job nice oh my gosh i love it yeah there's some incentive problems going on here i believe
where um the incentives are go fast and you are trying to incentivize them by saying hey please
come on please can we please just and and your exhortations are not good incentive because the
co-founder is is cracking the whip that's what it sounds like the co-founder probably has a real
monetary incentive to get this company's valuation up like let's just assume it's a small company
wait a few decades how does a small company last a few decades with this kind of mentality
i don't know maybe they shipped a lot of stuff that looked like it worked oh my gosh i was gonna
say this sounds like a startup where the co-founder has an incentive to dupe the next round of
investors so he can take some money off the table you know but it's decades no i mean i don't think
it has to be that nefarious it's there's a common pattern of a very demo driven development and
sales driven development where that's sort of my my gut here where there's lots of add this feature
so we can win this deal or something like that so do the minimum effort to get this deal closed and
we know it takes our customers four months to get online anyway so we have that time we have that
time to clean it up yeah but by that time you'll have four more features that look like they work
but don't it's like the ponzi scheme of software development exactly it's just it's just broken
features all the way down yeah no man yeah i i wonder so uh clean predictable code that doesn't
break in production i suspect that you have not convinced your boss of the value of going slower
and producing cleaner more predictable code clearly and maybe the value is not there maybe
it's possible you're overselling it it's also possible that you just haven't made the case in
a way that they understand. Sometimes developers can get really focused on the purity of doing good
work. That's a value in and of itself. And to the person who pays you, it's not. They don't care
if you are a crafts person and you feel deeply motivated by building the Sistine Chapel of
unit tests or something. They want value out of it. And if they don't see it, then it sounds like
this person doesn't care so one way to change incentives is to have your developers be on call
for their code i don't know if that's going on already if it's not then you should make it go
on though that's a really really strong incentive to make software that doesn't break if it breaks
you go fix it at night yeah that would do that would go a long way to getting incentives aligned
if their phone starts waking them up every night yeah it is kind of it's sort of solving the problem
by applying more pressure to the developers though yeah because presumably the co-founder is not going
to suddenly stop telling them to go faster it's just they'll also be tired from fixing their crap
all the time yeah the way that this becomes good is if this turns into feedback that bubbles up to
the co-founder to say we can't go faster because our stuff keeps going down and we need to keep
our house in order a little bit yeah that makes sense i there must be a reason this person moved
the founder moved this question asker into management you know it kind of feels weird
that whatever that reason was is not the reason this person thought it was
you're saying the question asker thinks they were put in to to clean up the frontier yes to settle
the frontier settle the frontier and the co-founder is saying no more wild west please yeah no i need
more whips more gunfights more bars yeah i have a repetitive stress injury from cracking the whip
so many times i need someone else to crack it yeah so i think a conversation is needed here to
align on objectives what do you mean with the co-founder i think the co-founder and our question
asker need to get together in a room and the question asker needs to say i believe that we
need to go in this direction you based on your actions seem to believe we are going in the
opposite direction including but not limited to just hard code the expletive out of it and
it doesn't have to work it just has to look like it works
i'm squarely in the camp of don't hard code that and it actually has to work
can we come to maybe a middle ground yeah and the more you can couch this in terms of benefit
and value and less in terms of purity and and the right way to do things the better that
conversation will go exactly there must i wonder if the business incentives here are fundamentally
out of alignment with what this engineer wants to do yeah i think i mean there's a case to be made
for better value from going slower and longer term investment and kind of solid stuff it just
sounds like the the way the question is written it's it's like they consider it an inherent good
and that might not be the way the co-founder looks at it there's also so there's the incentive of the
co-founder pushing to go faster there's also the incentive of just shipping stuff feels um good
yeah it can feel very satisfying to just get more stuff out people take pride in moving quickly and
and being very productive and getting tons of stuff done and looking out at the code base and
seeing all their fingerprints out in production and that can be addictive and and it's better
than never shipping but it's worse than producing value and you can get so sucked into just shipping
that you realize that or you don't realize that the thing you're shipping has no effect
besides making you feel good so you might need to push the team to value outcomes more than output
is sort of the the producty buzzwordy phrase the outcome the the output is like we shipped all this
stuff but the outcome is yeah like now our product gets used in this different way or it doesn't but
we just shipped all this stuff and that's the out sorry which one which one were you just describing
that is the outcome okay the outcome is some benefit to customers some yeah like what what
happens because of this where the output is just we produced 7 000 lines of code this week yeah
like i did the work is the output and sometimes that's how people are measuring yeah if it's
successful or not yes and your boss looks like uh it's more of an output guy
yep he measures he measures output by how many hard coding how many lines of code have hard
coded content in them there's like a reverse linter i noticed you used a configuration
file for this have you considered hard coding it yeah i noticed that you've consolidated this code
to a shared function have you considered copying and pasting it seven times it's like loop unrolling
but you do it yourself or i guess that's actually inlining yeah self inline yeah it's it's optimized
now yeah you saved the compiler some steps it's efficient have we answered the question i think
so i mean i think the crux here is that there may be a fundamental misalignment and and i think you
would be pushing up against a brick wall to try to move this culture until you can get your leader
on board with your vision yeah that makes sense so work on the leader first yeah cool all right
Do you want to read our next question?
Yes.
All right.
This comes from a listener named Jana, who says,
Hi, Dave and Jameson.
How do I communicate all of the self-study that I've done to potential employers?
I transitioned from a bachelor's degree in the health sciences to the software industry,
and I have now worked as a data scientist for a couple of years.
I've spent a lot of time and effort taking free online classes
in mathematics and computer science through Stanford and MIT.
Over three years, I've probably done the equivalent of half of a math degree
and about a third of a full CS curriculum.
and even though i'm employed now i still keep working on more advanced classes in my spare time
how can i communicate this to potential employers considering that i'm not getting any academic
credits for my effort should i just leave this off of my resume is it okay to mention that i
have audited those classes do you have any other ideas thanks for the lovely podcast you're welcome
i admire you for finishing these classes i think i've signed up for especially when they first
launched. I signed up for so many of these open courses and did like one assignment and then just
noped out. So I don't put those on my resume. I don't put signed up for and failed to do anything
on this MIT computer vision class or whatever. Yeah. That you never attended a single lecture
for? Yes. I mean, I think you should put that on your resume. Signed up for computer vision at MIT.
didn't even attend a single lecture and then they'll expect me to say and still passed and
i'll just leave that part out right never did the homework never went to class and it just ends
never went to class period but yeah but here i am here i am successful as ever
something vague huh yeah so that's that's cool i'm glad you are you sound dedicated to be able
to push through to do that yeah that is amazing i just pick up lectures here and there that
interest me but once in a while i'll check out a like mit math lecture and i'll listen to the
first 10 minutes i'll be like this is awesome and then about minute 12 i'm like oh they left me in
the dust yeah i've done that a bunch and my only the only thing i've ever learned is like boy is
this hard and then i move on with my life wow it turns out this is hard stuff oh back to about the
third time they they're up on the chalkboard and they say and so obviously i'm like nope
not obvious to me
so the fact that you've muscled through all these classes is impressive and i think you
should get credit for it in some form how do you do that well i was actually wondering if
these universities prohibit people from putting their logo for example on their linkedin profile
and just with a note that says you know took x number of courses from mit in mathematics
on open courseware like would you get in trouble if you did that i'm pretty sure there are like
famous executives who lied about having phds from well-known institutions so you've got a lot of
room to i think behave honorably without getting in trouble as long as you make it clear you didn't
enroll in in the university you're doing these open courses yeah and even if you do say you
enrolled and graduated maybe it's still okay is what you're saying well it's what a less ethical
version of me would say it's as long as you move to prominence before you get called out on it
you'll be fine yep you can just buy your honorary phd eventually with a nice donation yep so have
you as a hiring manager have you seen resumes come through with this like online courseware
free open courseware stuff on them i think i've seen a few and frankly i usually don't think
anything of it i'm just like okay whatever they did some yeah they did some courses and then we
The problem is I have to assess people anyway, regardless of what their degree says.
Even if they have a formal written degree on paper from one of these universities, I'm still going to assess them for the competencies that I want.
So it kind of doesn't matter, but I wonder if it gets you through a resume screening process a little better.
If there's 100 applicants and a recruiter is just boogieing through these resumes and they see, you know, open courseware from Stanford and MIT and mathematics and computer science, they're like, OK, pass.
And by pass, I mean, give it to the hiring manager.
Yeah. Like move on.
Not move on.
Not move on to a different place.
Move forward with the process.
It's so funny how ambiguous.
Get out of here, out of the pile, into the other pile.
rejected from the not inclined bucket
oh english huh uh yeah i'm trying to think of what my reaction is i so i know some of these
places make money by allowing you to to get a certificate of some kind that says completed with
this grade or something like that that might carry a little bit more weight than just i took this
mm-hmm it will never carry as much weight as graduating from that institution or attending
as a as a university student i don't think do you think i'm i'm trying to think through
i think part of me might sometimes look at this and and feel like oh they're they're covering up
for something yeah which is not healthy or good but there there is an initial reaction of like
why don't they have real work you know like why are they i don't think that's right necessarily
but it is there and maybe someone else will have a similar reaction preface this by saying maybe
we should edit it out but i'm gonna say it and we can decide good luck yeah i wish you luck so
janna sounds like a female name and i know that there's there's a thing with people who are
underrepresented in industries who they they tend to reach for credentials more because they don't
get the default like oh you belong here because you're this white dude with a hoodie because you
look like everyone here yeah because you look like everyone else so so they're looking for more
outward explicit validation who's they in this context the hiring managers i think the hiring
managers and the the person themselves oh the candidate yeah i think it's both honestly where
maybe the deck is a little stacked against them because they look different and so if they have
more approval from these well-known institutions that's that's more valuable both to the hiring
manager and to the person themselves yeah yeah so i don't want to discount that where i might
stumble through some process by virtue of of having facial hair you know like
he looks like an aloof basement dwelling nerd who belongs in this industry look how far down
that neck beard goes yeah where this might not benefit me as much it might benefit someone else
who who appears to be more of an outsider for better or for worse do you remember that dilbert
cartoon from long time ago where dilbert encounters this big man wearing suspenders
and has a long gray beard.
Oh, yeah.
He's like the lumberjack guy.
Not a lumberjack.
No, so Dilbert encounters this guy, and he's like,
look at you, that gray beard, those suspenders.
You must be a Unix user.
And the guy flips a quarter to Dilbert and says,
hey, kid, get yourself a real operating system.
And it was so funny because that was the stereotype 20 years ago
was that they were men with beards and suspenders yeah anyway now it's hoodie looks like mark
zuckerberg and yeah it has no social life but drinks a lot of energy drinks yeah that's the
new the new stereotype anyway so you're saying in the face of those headwinds credentials help
and both candidates reach for them yes i think so yeah i think you're right i think those headwinds
are even more pronounced. So regardless of gender or any other class, I think those headwinds are
even more pronounced in the data science industry specifically, which is what this candidate's
working in. I saw a lot of this working for a Megatech co where they were always looking for
a PhD in a hard science. And it was like very, very difficult to break in to a role as an applied
scientist or research scientist in one of these or data scientists in any one of the teams I was
aware of without a proper PhD. And it had to be a PhD in a limited number of fields, too. It
couldn't be a PhD in literature or something. It had to be a hard science. They use the term
hard science. So mathematics, chemistry, physics, things like that. Did the institution matter at
all? I think so, but not as much as maybe in other fields, like law schools or medical schools. It's
a little different. I think the institution mattered a lot less. But the fact is, most
institutions that even offer phds are already at the level where it's okay like community colleges
don't offer phds yeah you know what i mean so it's like probably that kind of covered it but
they wanted it and what was really funny is it was actually a proxy for advanced statistics
oh that's what they wanted interesting it sounds like a really inefficient way to measure if
someone knows advanced statistics i know it's been seven years at an institution yeah it's like it's
like you need to be an accomplished heart surgeon and really they're trying to figure out if you can
sew or something like that like yeah accomplished heart surgeons probably sew really well
so that's our criteria have you seen the stitching from the surgeon's hands this is the level of
quality we require yes that was a good analogy anyway i think you can put these on your resume
i think you can put them on linkedin and the way that i would represent them is i would say number
of courses and then the level you know if it's like undergraduate courses if it's like advanced
undergraduate courses i would break those out and just say i completed these if there's an exam
associated with the courses you could even indicate that you passed that exam and you know everyone
who reads this knows to take it with a grain of salt because it wasn't proctored you know you
weren't you didn't pay the university for this university is not certifying the results so we
all know that but i think i think it's helpful i don't think it's going to be like a major benefit
but i think i don't think it'll hurt yeah i think one way it might help even more is if you can
translate it into skills or things you have built so just saying took this course doesn't necessarily
tell me a ton about what you can do now that you couldn't do before yes but if you say i don't know
did did this data analysis process i don't know i'm not in data science so i i'll try and i'll
sound even dumber than i normally do if i try to come up with something plausible but like i don't
know learned about uh what is that tensorflow or there's there's there's some buzzwords i'm
sure you have been exposed to from these courses if you can say those yeah you started saying
tensorflow and my dumb meter was going off i've heard of it that's it pie torch that's a thing
right good work jameson you have a break you have a bright future in machine learning
that's all it takes i know tensorflow i mean i know the word tensorflow
i will i will ask one kind of potentially antagonistic question which is if you've put
all the time in to do these courses it seems like you could have also spent that time doing them
in a proper fashion where you pay for them now i mean there's obviously two barriers to entry
there which are one money and two the time is not allotted at a velocity that you can necessarily
support you know you you in other words you have four months to complete this class as opposed to
well i can take eight months and work on my own on count my own calendar yeah but if you can i mean
i think it would be probably an order of magnitude more beneficial to have the degree in the course
work under your belt with it being officially recognized and i don't mean by the way when i
say beneficial i don't mean beneficial in the sense that you're you'll do your job better but
i mean beneficial for greasing the hiring skids and getting through the pipeline better i'm i'm
trying to remember what school it is and i can't so i won't say it but there's some school that to
me sounded like a real university not like university of upper tent dwellers i don't know
that that offered online degree programs that were actual like enrolled matriculated
accredited degrees but are still offered online so that might be an option too if you want a hybrid
a bunch of schools do that in fact i had a co-worker who was doing a master's degree
with in computer science with a machine learning emphasis from i think university of georgia maybe
that's the one i was gonna say but i didn't that i've heard someone else who who looked into that
quite a bit yeah they're like super friendly to online students for some reason yes which is
ironic because now all universities have to be super friendly to online students
but anyway yeah yeah and and i actually chatted with this particular co-worker about some of the
coursework and it was really cool like he was talking to me about these different classifiers
he had built and you know language parsers and all this kind of cool stuff and that's stuff that
i think even if you do it on your own from open courseware you can still cite that you can say i
built an xyz classifier that had 94 accuracy yeah oh yeah in fact this this person i'm talking about
actually built an ai that played an old nes video game it may have been the original mario
and just learned a ton of stuff about building an ai that could play an old video game it was
really cool that's rad yeah so and i suspect with open courseware there are projects like that to be
done so if you've just been watching lectures that's one thing and i think that counts a lot
less on your resume. But if you've been building things that are demonstrable and that have results
that can be summarized and look impactful, that's a totally better situation. I agree. I agree. And
my wisdom is used up. You've already said the word TensorFlow and PyTorch. Yep. So what else
is there? Now my brain must go rest. Here's a quarter. Kid, go get yourself a machine learning
framework have we answered the question i think so good luck and i would love to know how this
goes in your job hunt if you write back and say hey i did put it on my resume and i got sued and
now i'm in jail and when i get out i'm coming for you where can people go if they want to get their
own questions answered and stay out of jail or go to jail i don't know or come for us they can go to
softskills.audio that's where we live go there and i swear we'll be there and you can do whatever
yeah you can go to softskills.audio click ask a question and then fill out that form
and we appreciate and adore the questions we learn from them they feed the show we shovel
them like coal into the furnace yes outcomes of podcasts that's right so thank you all right
catch you next week
you
