Soft Skills Engineering - Episode 59: Buying Training and Unrelated Experience
Episode Date: May 11, 2017Thanks to all the people who pointed us to the Single Level of Abstraction Principle which we obliquely referred to in episode 57. We answer these two questions: How can I convince management to ...pay for developer training? Should I mention unrelated experience on an application?
Transcript
Discussion (0)
It takes more than great code to be a great engineer. This is Soft Skills Engineering
episode 59. I'm your host Dave Smith. I'm your host Jameson Dance. Soft Skills Engineering is
an advice podcast for developers and aspiring developers and retired developers and people
who want to destroy software development. They just hate it and are trying to bring it down,
I guess, but we'll give you bad advice because we will not support you in your goals. Actually,
i changed my hairdo recently for the first time in maybe 15 years oh wow and i'm going for like
the slicked back draco malfroy look and i feel i feel a little bit more evil doesn't you have
like a jacket with big collars they come up next to your head uh not yet but it's like the bad guy
from the 80s movies hairdo i don't know my wife likes it or depending on the 80s movie the good
guy yeah okay that's true it's a definitely 80s it supports a wide spectrum of ideologies
it's inclusive it is yeah all right uh let's see i have a comment here to share from a listener who
wrote in with an interesting story uh this is from listener nate it's oddly specific by the way
this opening opening sentence um october 9th 2013 uh nate did not include a time but i'm
going to guess this was about 3 p.m uh captain's law center october 9 2013 the company i was
working at closed with no forewarning there were six of us and they paid us through the end of the
month because of my network i had a job eight days later and had offers from just about every
place i interviewed four years before that i wouldn't have ever thought of building a network
and it wasn't even something i set out to do but as i did freelance i met some people as i worked
at a company i met other people as i interviewed people for open positions i met recruiters
and they all helped me out three and a half years later i have the best job i've ever had
i get to help define my own career here i've created new initiatives like coaching that the
entire company has adopted networking without me even realizing i was networking changed my
professional life thanks nate cool it worked out i think sometimes we we think of networking as
like a like a slimy ulterior motive thing to do like you're taking advantage of your friendships
yeah i was just thinking that it's it feels like we need a different word that has different
connotations because you just meet people at work and at work related things and it turns out you
work with those people later on maybe we could call it linkedinning linkedinning yeah what if
we turn it into uh like uh you're like mining your friendships like a resource what if we call it
like friend fracking or something hydrofracking for friends and profit yeah anyways thank you
i'm glad that worked out thanks for sharing that we also have a comment about uh an episode a
couple weeks ago where we mentioned that kind of keep all the things at the same level of
abstraction like in a meeting right yeah in a meeting it turns out that does have a name and
it's called the single level of abstraction principle and a bunch of smart people linked us
to to uh references to that which we will share in the show notes so thank you yeah that's cool
also that one is a cool acronym slap yeah slap i'll just say it randomly in meetings and pretend
like everyone knows already what it means make sure to remember slap and then just continue on
and if you say it forcefully enough uh no one will question you because they'll be scared of
what slap means yeah and then maybe that will keep the meeting efficient anyways i don't want
to get slapped so i'm gonna shut up yeah i guess all right i will read the first question this is
from a listener boyan do you have any tips on how i can sell management on training for example
buying course licenses going to conferences etc it seems like no one in my current company sees
the value of developers going to conferences while some people from the marketing department
are at a conference right now oh that's the best part yeah it's like hey can i go to a conference
no there's no budget for that why is marketing at a conference shut up and go back to your desk
why aren't you working on your jira tickets
seems like if you were really doing your job you'd be too busy to ask questions
i think this question is interesting partially because the topic is interesting but also because
is to stand in for how do i convince management to do something that i think is valuable that they
do not understand the value of like refactoring pair programming uh pushing back on deadlines
whatever like there's the specifics yeah installing a ball pit um installing two ball pits there's the
specifics and then there's the general skill of like convincing people who aren't developers to
to do things that you think are good things that are intuitively obvious to you but no one wants
to give you them yeah i think we've talked about profit and cost centers on the show before dave
but it's been a while um have you heard of those oh yeah do you want to define them for me so i
can just piggyback off of your knowledge i just said i had heard of them
they were i've heard those words
yeah if you put them next to each other they make different words that mean something so
traditionally parts of the company make money like sales could be a profit center because they
sell your product to clients and bring in money and then there might be like hr which could be
a cost center because they don't directly bill or bring in revenue um they they take in money
and then produce value in other ways but it's not the the output isn't like higher numbers of
revenue and why are they called centers uh what else would they be called i don't know like maybe
like a profit bullseye and a loss bullseye or like profit like are you thinking of like a collective
now kind of like a murder of ravens or whatever like a profit gaggle a giant bag of money of
profit and a black hole of cost or something yeah that's i like those metaphors better okay
it's a lot easier for companies to spend money on profit centers because they can more easily say
like if we give the sales people a higher limit on their credit card they bring in more money in
sales yeah yeah it depends on the company but sometimes software can be a cost center because
you just pay them money and they do stuff and that indirectly affects your bottom line so some
of it could just be the dynamics of your company like marketing could be on the sales side and they
have a higher budget because they bring in money and and software costs money and salary and
benefits and stuff like that and even if you do think of software development as a profit center
where you're building product that can be sold for revenue um it's probably hard to see the
direct correlation between investing and training and conferences for developers and what the
outcome of that will be in terms of profit or revenue right like if i send my developers to
a conference it's pretty clear what the loss is right or what the cost is i'm going to pay for the
airfare i'm going to pay for a hotel and for the conference ticket and i'm going to pay for three
or four days of lost productivity and lost engineering output but what do i get in return
well dave as someone who runs a conference let me tell you what you get incalculable value
the numbers are literally so big computers can't hold them
yeah that's why it's hard to communicate to management about it it's like the black hole
of profit that's that's a good point i mean there are lots of kinds of training and investing in
developers besides conferences conferences are really great for uh like hearing about new things
and meeting people and they often have workshops around them which you can really dive down into
and get training i have found that in most conference talks i i kind of like learn about
stuff to dig into i don't come back and say like wow that talk really helped me solve problem x
i've been having it's like now i know what to google instead of right now i know the solution
now i know how to get started yeah they're they're great for exposing me to a wider variety of things
but they're not necessarily outrageously practical most of the time because that's not
i don't know i kind of expect conferences to be a little showier than that and a little more
like they have a little more pizzazz i don't know how to say it more pizzazz less substance
less not substance i mean it's not it's not substance it's like less that there's the
there's the spectrum of pragmatism to like showmanship i guess and they're kind of a little
more on the showmanship and and like yeah cutting edge side and less on the like we have 10 million
lines of java code that all depends on this one file like how do we refactor this i don't know
all the nitty-gritty like boots on the ground business software problems you have it's almost
like a little bit more on the entertainment side actually i would say in some cases yeah in some
cases which is great i like to be entertained by software me too but it's a little bit hard to sell
your boss because you may as well say i want to go to a movie theater for three days and watch
movies will you support that yeah no i i don't think it's purely this might be a tangent
um but and also i'm super biased because i run a conference that everyone should go to
because it's amazing it's called react rally and you will learn and benefit and become a better
human being and better software developer but i think the entertainment is is not just entertainment
for entertainment's sake it's like seeing what is new and exciting about your field and generally
what is new and exciting is is a little bit further out from what you can use in your day job
that's true and i don't know there's a chance that it will be a preview of what is coming and
you can kind of get up to speed early but some of it will just like never i don't know some new and
exciting stuff never comes to pass so that's true or it might just install permanent envy in your
heart for the people who get to use the new stuff yeah well the new stuff will always change there
will always be someone using newer stuff that you can't use you want to talk about training like the
courses yeah i mean there's lots of things besides conferences because aside from ignore the whole
conversation about how valuable our conferences really they are really expensive um you can get
a subscription to like plural site or egghead or front end masters or any of these like online
video training sites for way cheaper than that and you don't have to cover travel it takes up
less time you can like squeeze it in in between your tasks yeah and some people get i would say
for practical like problem solving those those might be um a lot more useful because they cover
very pragmatic things it's like how do i use this specific tool yeah exactly to solve this specific
problem yeah um so so there's there's also a large spectrum of ways you can invest in training
conferences aren't the only way i think when it comes to online training courses it's basically
a no-brainer if one of your developers says i want to get this license and it's going to cost a few
hundred bucks a year it's like just write the check it's like they're going to learn it's going
to be very focused stuff they'll be able to search for material that's directly relevant to their
work just write the check like any manager that puts up a fight about that i'd be surprised i mean
i think you have to consider their perspective they're just seeing a developer ask for money
and they need to see some return on investment i feel like we've danced around that but that's
like the magic thing you're going for why don't we go there let's go right okay right to the
return on investment uh the company will do it because it's good for them they're not i don't
know companies companies are weird creatures that don't do anything out of the goodness of their
heart so you need to convince them that it is good for them to have you learn more and be a better
developer you can use things like um metrics which this starts to get difficult to measure but you
might be able to measure how much time you and your team are spending thrashing looking for
solutions and then backtracking when you find bad stuff or you when you discover that the path
you've gone down is suboptimal and if you can measure that and then say look if we had some
some of this course material we could probably focus our efforts a little better and just go
down one path and agree on patterns instead of having to like each be going a million directions
or wasting time backing out changes that turned out to be bad stuff like that yeah looking at
bugs and and architecture problems that caused you to to spend more time than you expected
um often this can also come as a team picks a new technology so say you're building a new project or
migrating a project to a new thing you pick the thing and then like you want to make sure you're
productive in it so um it's it's relatively easy at that point to justify we need to invest a couple
hundred bucks in getting better at it it'll make us build way faster but i think both i think both
these things have at their heart is that you as the person asking for this need to know why you're
asking it do you really need this training and how do you know is it just a feeling did you see
some advertising you know what is the actual benefit and until you can quantify that you
really shouldn't go asking for it yeah i i think people have different philosophies about this some
people think um your job as an employee is to do the work of the company and if you want to get
better at stuff that isn't directly related to the company you kind of do that on your own time
some people think that you should invest in making your developers better no matter what
and that'll keep them around and it'll create like a culture of excellence kind of you know
and and those are just different values yeah yeah if you if you can sell it to your manager as
if we become known as this place that really invests in developers that helps them train
and become better and helps them learn new things people stick around people want to work here it'll
be easier to hire we'll have uh we'll get smarter and better work done also but it's kind of like
the culture we want to create but again you have to you have to convince them that that's a thing
they want and it's worth the price yeah what about on-site trainers who actually come to your company
and spend a couple days with you um i have done that for someone you were the trainer or you were
the trainee yeah i was the trainer and i think i sucked at it um i've never had it i've never
been part of a training um but i've been around teams that have and they seem to really like it
i don't know it's it's cheaper than conferences overall it's generally like more expensive
as a one-off thing but you don't have to pay for travel or hotel or anything
you think it's cheaper um i think it's only cheaper if you have enough participants
yeah that's what i mean like a conference is probably going to be a few thousand bucks
including travel and hotel and the ticket which will be the smaller part of the cost and a trainer
might be like 10 grand or something oh yeah so yeah at least it could be tens of thousands of
dollars so if you have 50 engineers who are going to benefit from it and you can start dividing that
cost among the engineers it starts to be pretty good but i still think the cost um could be close
to conference costs if you divvy it out per engineer sounds like i undercharged well i think
i think most trainers do actually uh who are just starting out like it's a pretty lucrative market
uh yeah i don't know i've never been a part of one it feels like
like in-person training is as far as you can get on the super pragmatic boots on the ground like
help you with your day job thing because someone is like looking at your code and and the benefit
of them being there in person is they can answer questions and yeah and talk about specifics and
video trainings are all uh very pragmatic and specific but there's not much interaction exactly
exactly i want to play devil's advocate for just a minute so as engineers we have to learn new stuff
all the time some new technology comes out some new market emerges or whatever you've got to be
able to jump on that and get up to speed do you think that we should depend on trainers conferences
and online like paid training material to ramp up on new technologies that is a great question
i don't think we should depend on it for the cutting edge stuff it feels like the role of
conferences is to expose you to new things but if there were no conferences it would be a lot
harder to hear about like the new rising javascript framework or serverless or containers or
kubernetes or all these like kind of newish technologies and they kind of diffuse through
the developer consciousness from people speaking about them at conferences over and over again but
you don't learn about them at conferences really true you just learn what they are yeah i don't
know i look like i'm kind of thinking of the tools that i use day to day and it's like you know
there's operating system stuff there's source control stuff there's editors there's frameworks
libraries programming languages um infrastructure tools like if i had to do like a multi-day
training on each of those things as i learned them and pick up new ones i would probably spend
like a third of my time just training and and so what i do instead is i kind of learn things
on demand and honestly pretty superficially just to get the job done that i need to get done
it sounds like we should talk about return on investment dave oh you can totally learn all
this stuff on your own if you have help from someone theoretically that help makes it so you
learn them much faster and then you struggle less you get through the gotchas you learn about all
the weird little stuff that would trip you up learning on your own okay so i don't think i
mean i don't think you need it like you could just go read the linux source code that's good
training instead you could read the blog post that someone who wrote the who read the linux
source code wrote for you or you could pay the guy who wrote the you could pay linus torvalds
to come to your office i think the only thing you could pay him to do is like come slap you in the
face i don't know what he would do all right i mean there's there's one more issue about
conferences you mentioned them specifically there's one more issue that we didn't talk about
which is something that often happens when people go to conferences and what's that besides
getting amazing food free hotel have yeah just have the time of their life um sometimes they
quit their job and get a new one at the conference like you meet you meet someone they have a great
company yeah yeah you run into like some programming hero and they're like oh you seem
super cool come work with me and then the company that sent you has now sent you to a new job hooray
on their dime yeah yeah they they probably don't love that i mean yeah one of the purposes of
conferences is to network and networking gets you different jobs as our first comment so this is
this is not a theoretical situation like jameson and i have both seen this happen
yep for sure yeah as a conference organizer it makes me happy um because we're like connecting
people and making people's lives better but if if the company sent you to the conference only
to lose you as after they invested in you then they would be sad so you might want to bring that
up with management to say look i know that you might be worried about me getting another job but
i promise to avoid being recruited maybe they weren't worried until you mentioned it they were
like oh that can happen that's another reason we're not gonna pay for you what no one is ever
going to conferences ever again all right question answered i think so question answered question
answered okay do you want to read our next question yeah sure um this one comes from an
anonymous listener and it says my recruiter thinks that he may be able to get me an interview in the
next few weeks for a junior developer position at a major health insurance provider a little over
five years ago i took and passed three actuarial exams this is a significant achievement is this
something that i should put on my resume or mention in an interview i'm afraid that the elephant in
the room will be why don't i have an actuarial job my degree is listed as being in mathematics
with the emphasis in actuarial science omitted employers in actuarial science are interested
in people with a near perfect academic record and my journey through university was long and
winding with lots of self-discovery that is such a good way to say that you didn't get a perfect
academic record i'm gonna i'm gonna cop that that's a good one i'm gonna start saying that
you might have a future in marketing actually my journey to weight loss was long and winding
with lots of self-discovery about oreos oh that we don't mean any offense here i think that's
actually you know your story is obviously your story and we have no uh it's not a fat joke
no no no not at all how will your employer know what a significant accomplishment
getting an act or passing the actuarial exam is i would have no idea yeah me neither if someone
just listed like passed the actual aerial exam, I'd be like, okay, is that like the driver's ed
test where you should read it for 10 minutes and then you pass it? I think that's going to be the
biggest challenge you have is translating the achievements that you've completed and the effort
you put in into the only thing the potential employer cares about, which is, will you do a
good job and produce value for me and my company? Yeah. So if you want them to know it's a big deal,
you would have to kind of explain it to them like pass this exam which most people don't pass and
shows that i'm real good at numbering or i don't yeah i don't know what's involved in it so i i
actually have interviewed someone who was an actuary for a software developer position um they
did pretty good in the interview they uh they had been pretty well in the interview dave i passed
the english exam you're an english actuary yep they did english excuse me they did pretty well
in the interview they were self-taught completely in software development and it was obvious that
they were pretty smart um we didn't talk about the actuarial experience at all in fact uh i had
no i didn't know anything about it my boss though he was interviewing and he knew that was a big deal
um so if i hadn't had that input from my boss i would have just written it off as completely
irrelevant non-transferable experience and i wouldn't have even considered it as something
that makes them smart which usually when you're hiring engineers you're looking for a level of
smartness is that a word jameson i don't know the exam didn't cover that ah what do i do
so i think from my uh understanding of this and my experience hiring people if they have non-trans
non-directly transferable experience um what the only thing you want to communicate is that
you're smart and you can't just say i'm smart you have to somehow you have to somehow explain
the data points that support that and let the interviewer come to that conclusion on their own
it'll be more more ingrained that way listen dave let me tell you something about myself
i'm pretty smart i'm really smart i don't think i've ever heard a smart person say that to me by
the way i think there are transferable skills but you need to explain why they are transferable
if you come from a career that is not software i think it's helpful to have a story about why
you moved into software why you moved away from your old career and why that will give you a
unique advantage often that can be uh advantages in people skills and communication where you had
to work a lot more directly with other people your work wasn't as much kind of like sitting
alone crafting this code artifact but there can be other benefits too but but those are not obvious
to people like dave said yeah and part of your job is to use that to show the value that you have
uh i assume if you pass the actuarial exam you you could probably say something about how like
you did the numbers on the career in act in actuarial science and they sucked or something
i don't know yeah i used my skills that i used to pass the exam to determine that the career was bad
that's a good idea just let me just give like a silly example to help illustrate how hard it is
to communicate that your skills in an unrelated field could translate to software development
like let's say you're applying for a position to go work on ruby on rails web application but
you're really good at organic chemistry and and that's what you're that's the only thing you have
to draw on imagine yourself sitting in a chair across from the interviewer and saying look i can
identify like the methane and the butane and the octane so fast i'm going to be really good at
ruby on rails you know like it's just it just doesn't really come across so i think rather
than trying to transfer your experience and and like shoehorn it into software development show
them what through their interview process that you're good at software development and then
explain that you're smart by describing these other things from your past um i can't tell if
we're saying the same thing or disagreeing no i think i think we're agreeing okay i took organic
chemistry i haven't heard what you're about to say though so okay sorry i feel really dumb now
i took organic chemistry and it was like this it was like there was a veil in my brain that
prevented me from seeing the the knowledge of organic chemistry there's some mental block or
something it was the hardest class i ever took i failed it once and then took it again to like
barely pass it so i wouldn't have an f on my transcript uh so if someone told me they were
good at organic chemistry i would think they were basically a wizard or a sorceress and they could
do anything yeah and and they were capable of inhuman feats of of knowledge and productivity
I mean yeah I don't know what being a working organic chemist is like I remember the class
was a lot of like visualization and spatial reasoning and and stuff like that and that
stuff can definitely help you in software design I completely lack it but uh some people have it
and they use it to think about architecture or how code fits together or data structures or I
don't know just thinking abstractly about um structure can can be helpful so is that kind
what you're saying dave that you you can't just say like i combine the beakers and they make good
they they turn lead into gold so therefore i will turn crappy code into good code
you have to like pull the more generalizable skills out of your experience
i i think that that your story right now where you just said like because i'm good at these
these chemical spatial visualizations and like putting problems together in that field
that will mean that i'll be good at producing ruby on rails code for your company i think that
if i was hearing that story i'd be like uh okay i don't believe you i just i just can't see it i
can't really connect those dots oh man we have different ways of thinking about the world this
is interesting that's never happened before i i don't think i would just believe it if someone
was like well i've never done it but i believe that these skills will transfer but if they had
a convincing story about how they used it as like a way to frame how they thought about code i think
that would be appealing to me because i believe that experiences outside of code can affect how
you think about code and and give you metaphors and and kind of frameworks to solve problems
beyond just like big o and all the very computing specific stuff you know maybe i'm just in a
snarky mood right now but i'm thinking to myself if i were an interviewer i'd be like oh boy if we
hire this organic chemist we're going to be in for a lot of chemistry metaphors if if someone had
like a degree in literary analysis and they explained to me how that helped them deal with
like the meaninglessness of vastly written enterprise code i would oh man i'd be all over
that i would love that so much you know on the other hand i have worked with two maybe three
english majors as developers and they were excellent i mean their code was so easy to
read and understand compared to many others so maybe that's maybe that's a transferable skill
that's a really common example that writing skills transfer into coding skills because
it's communication you're communicating to a reader putting structure into stuff i i think
that applies to other things we just don't hear them as commonly yeah so i would i think if i were
the interviewee in this case i would mention it i would give enough context so that the interviewer
can know that it means that i'm an accomplished intelligent uh capable person but i would
probably not go much farther than that with this that's just what i would do well we kind of agree
i yeah i think you're you can't just put did this exam um and i think your job is to sell
your experience as as relevant to the field cool question answered yeah i think so let us know how
that goes yeah we'd love to hear about it i'm sure that there's a lot of different people and
some would be i'm sure a lot of people would respond differently to that one you know dave
where can people go if they want to hear more from us jameson they can go to soft skills audio
although i don't know why you'd want to hear more but if you want to ask us a question you can also
go there and fill out a little form and you can give us some information uh you can also find us
on twitter at soft skills eng follow us many of you have and that's the best way those are the
two best ways they're both the best also um we have gotten lots of stories recently of people
who have like really upgraded their careers um like they've found better jobs they've making
more money doing things they enjoy more with you know with people who are really impressive and
cool so that's been really cool to hear about and we'd love to hear more about that we also want to
hear counter examples if you if you tanked your career by following some of our advice
let us know or even if you just like did minor damage yeah you know tanked minor damage either
way i'm always on the lookout for things to feel guilty about so that would help me a lot
uh i think that does it thank you so much for listening we'll catch you next week bye
