Soft Skills Engineering - Episode 140: Should I apologize for my bugs after I quit and should I become a project manager
Episode Date: January 14, 2019In this episode, Dave and Jamison answer these questions: Shan writes: “Awesome podcast! I’ve used your advice to better communicate with my employers which has been super helpful. ... I recently was working as an intern at a company where I did quite a bit of significant work. I left to pursue a Master’s in CS. I set the expectation that I would be available for questions, but not bug fixes during at least the beginning part of grad school. The company said that was totally fine and they would take any amount of work I could give them. I’ve noticed some bugs that have to do with what I was working on. I feel really bad for my team having to work on those bugs while I’m not. It is getting to the point that it is distracting me during the day as I see emails or Slack messages about them. I want to help them, but I just don’t have the time. I am also worried that the reputation I built up of being a solid engineer is damaged. Should I apologize to my teammates that have to work on my now legacy code? I have this feeling of having abandoned my team. Any thoughts on how to mitigate those feelings? I work as software engineer at a ~10 person software agency. During my last review my manager rejected my salary raise proposal arguing that I reached the top level for my current position. He said to get a raise, I would have to act as project manager to get commissions for new projects I acquire. I feel conflicted, since even though I like the idea of upping my game, I do not know much about handling this kind of situations with clients. What is your recommendation for developers getting out of the world of code and into the world of people? Bonus question: Ideas on how to get new projects from clients?
Transcript
Discussion (0)
It takes more than closing 45 open tabs about the CSS spec to be a software engineer.
This is episode 140 of the Soft Skills Engineering podcast, and I'm your host, Jameson Dance.
I'm your host, Dave Smith.
Soft Skills Engineering is a podcast where we answer your questions about all the non-technical parts of software development,
and we talk about the CSS spec, I guess.
It's complex.
You know what CSS stands for.
I thought I did until you asked me that question.
I'm like, this would be a really boring answer.
i don't know what the c stands for but the rest of it stands for soft skills clearly
oh okay c soft skill css soft skills that's what it stands for recursive soft skills acronym
yeah okay got it all right it's all simplified we have some wonderful patrons to thank do you
want to talk about those folks yes thank you to those who are contributing at the level that
gets them a shout out every week on the show they are chris hogan nick kantar zach granin
Matthew Wodowicz, David Jackson, Arno Engelin, Fedor Rusak, the Agile Ventures charity,
Sonic the Hedgehog, and Sean Clayton. Thank you so much for your contributions.
This episode is sponsored by Pluralsight. Pluralsight is hiring software engineers,
data scientists, and machine learning engineers in Boston and Salt Lake City.
Go to pluralsight.com slash soft skills to see what job openings are available.
All right, we got a comment from a listener. It's, hey, sorry about this.
lately i've begun to notice how much people say hey and it's driving me crazy i don't know if i
didn't notice it before people have just started saying it more a colleague will start explaining
something and when he says my module says hey the value blah blah blah i zone out after the hey
how do i be not so annoyed by this hey in my mind every time someone says hey i want to burst out
into a song this will be me interpreting the lyrics by adding melody your module says hey
the linux kernel says hey they all say hey we all say hey please help i think this is a this
is like might be a beatles reference hey hey hey no i'm thinking you say hello i say goodbye you
say goodbye i say hello hello hello anyway okay yeah this is not my podcast clearly i had to pause
your podcast to type this question after two hey's well i so now i'm wondering if he's talking about
us. I think that's what that means. That's what the last sentence means. Hey. So I edited this
podcast for like 100 episodes and I got to know intimately all of my verbal tics and I neatly
snipped them out. I say um a lot. There's stuff I notice. I get terrified. So who says hey? Is it
me or you? I don't know. Maybe this is a recent tic developed in the last 40 episodes. Well,
let me just say this. Thanks, listener. Now I am going to suffer every time I hear the word hey
or say it. When I was 11, my 10-year-old cousin told me that I said like too much and that ruined
my life for a long time because I didn't know before. And then I knew and it hurt every time
I said it. But you couldn't stop, could you? I couldn't. All I noticed was after I said it,
oh yeah i did say that ouch a little pain thank you for that gift we will try and get better
i think the answer is you just complain to everyone and then they all improve their speech
so hey i have a comment about this
sorry hey counter all right let's get to the next question okay sorry that was we read that one first
because we can't help you we'll read questions that we can help answer now good luck do you want
to read it dave sure this comes from a listener named sean who says awesome podcast i've used
your advice to better communicate with my employers which has been super helpful i recently was
working as an intern at a company where i did quite a bit of significant work i left to pursue
a master's in cs and i set the expectation that i would be available for questions but not bug
fixes during at least the beginning part of grad school the company said that was totally fine and
they would take any amount of work i could give them i've noticed some bugs that have to do with
what I was working on. I feel really bad for my team having to do work on these bugs while I am
not. It is getting to the point that it is distracting me during the day as I see emails
and Slack messages. I want to help them, but I just don't have the time. I'm also worried that
the reputation I built up of being a solid engineer is damaged. Should I apologize to my
teammates that have to work on my legacy code? I have this feeling of having abandoned my team.
Any thoughts on how to mitigate those feelings? It sounds like, Sean, you did the part of quitting
your job where you go get a different job but you didn't do the part where you tell the first
job that you don't work there anymore you're a grad student who also has a part-time lab job so
i know grad school can be pretty intense so i imagine it's it's well over 40 hours a week if
just 20 of it is going to that lab work maybe like 60 or 80 hours a week so i think it's pretty clear
that it's not a reasonable expectation to work another job on top of that but i mean the way
sean set it up was sean said i'll be available for questions and then found out oh crap all my
code is broken so i mean it doesn't sean doesn't say that they actually asked him questions
specifically though it's just like i get all these messages or emails or something maybe that means
messages or emails specifically about my stuff i'm guessing it's just like notifications like oh
here's another bug sean's like yeah yeah if you're just hanging out in those slack channels or you're
subscribed to all the email chains then you're gonna see a lot of chatter but i've i've never
done that after quitting a job yeah i think i think you need to cut the chatter here so
i don't normally suggest this course of action but i think head in the sand is maybe the best
approach here i would say even more than that i think you need to go back and tell them hey
my expectations around how much time i would have to contribute to this were off and now that i'm
into grad school i realize it's just not going to work out yeah and like i think that the action
you have taken is that you don't have time to work there and you just need to communicate that
clearly and you're feeling this dissonance between it's not possible for you to fulfill what you
think the expectations they have for you are so that's causing some stress stress and anxiety
but if you just tell them hey i actually don't work there anymore sorry i can't help you then
i think a lot of that anxiety will go away i've been in this situation a couple times on different
sides once when i was a contractor i basically quit a client and i did it softly i didn't want
to work with that client anymore um and there were a bunch of reasons why but one of them was
time constraints so i kind of mentioned like i don't have as much time and i've got to spend it
doing these other things but i didn't hard and fast say and i'm not gonna bill you because i'm
not gonna work anymore there so they left kind of with this expectation that i would be stepping
back but still around a little bit and after a couple weeks i had to just own up and say hey i'm
I'm not doing anything like it's done.
I've enjoyed working together, but I'm, I'm moving on to other things.
And it was totally fine.
I was, I was worried.
I think my worries were a little bit different.
It was more like, I didn't want to let them down.
Not like I didn't want to ruin my reputation for quality work with them, but it was the
similar place of, I felt like they had expectations for me and I was feeling stressed because
I wasn't fulfilling them.
And it all went away once I just said, you know, I, I, I can't, this is the reality and,
and it'll be better to be more upfront and clear about things.
But did you make sure to keep Slack notifications turned on from that company
so you would be aware of any bug you had written that manifested?
No, heck no.
Okay.
Never.
Just making sure.
I fight to keep Slack notifications for my current job out of my life.
The other situation was working on the other side
where I was working with someone else,
and they were struggling to deliver because of some life things that they had.
And the thing they were working on was very low pressure.
There weren't time constraints, but it was causing them a ton of stress
because they had things that were making it so they couldn't produce it.
And eventually they just sent an email that was, I think, the product of a lot of stress
and said, hey, I actually can't do this.
And it was totally fine.
I appreciated them saying, I cannot do this.
The working arrangement we had meant it didn't really cost anything.
It was kind of, it was a pure positive to me that they're, they were feeling better and that they were clear about what they would or wouldn't be able to do instead of, uh, I would hate it if they were like ruining their life to finish my stupid feature or whatever thing they're working on.
Yeah.
Yeah.
So I don't know.
I think you just got to tell them and then move on with your life because you have moved on with your life already.
and it shouldn't be too bad because from the question i gather that they haven't actually
come to you with questions anyway you're just seeing these side notifications coming to you
and you're worrying that oh crap my stuff is breaking and i need to get on it and fix it
and i feel bad leaving it broken right yeah sean's also worried about the reputation
yeah i don't think i don't think there's anything you can do to influence that after moving on
I think the circle of software life is that you leave and then eventually someone who joins after you ever worked there curses your name as they read through your legacy code.
That's right.
And that's, if you can do better than that, then you've beaten the game.
That's just how it works.
And also, I think as engineers mature, they get a little more context, having created more legacy code themselves to figure out like, hey, maybe this person was busy, not an idiot or whatever.
Or maybe the fact that the requirements have changed in the past 10 years means that this decision they made 10 years ago wasn't actually horrible.
It was just the best decision at the time.
Yeah.
But I wouldn't be worried if you feel like you produced value for them.
I don't think people are going to be like, that jerk, Sean.
How could he do something so stupid as to write a bug in his code?
It's good.
It's true.
And this, I think, is a good opportunity for you, Sean, to internalize this notion, this empathy, right, for next time when you stumble upon crappy code left by coworkers who are no longer with the company.
Now you can say, yeah, I've done that, too.
It's cool.
We're all in this together.
Yeah.
But, you know, but really, if you want to trace this all the way back to the root cause, it's because you wrote bugs, which means you need to purchase services from one of our no bugs driven development coaches.
which we've proposed this new methodology a couple of weeks ago and i think it's a great idea
uh it just so happens that dave and i are the only two coaches certified by the no bugs driven
development consortium yeah and those certifications do not come cheap i will tell
you i've had to write a lot of bugs before i get them all out of my system
yeah you know i i've quit a lot of jobs jamie's and i know has too
and i don't i can't think of maybe the same amount as you even though i've worked a lot
less time i think that might be right i think i've quit about five or six jobs and i can never
remember being aware of bugs after i left i know they were there i know i wrote them because at the
time i wasn't subscribed to the no bugs driven development methodology yeah that was that was
in your unenlightened yeah it was a long time ago but uh i never have had one follow me and i think
maybe only once i've even had a question come up and i will say on the other side of that coin where
i am at a company and someone has left and left us with bugs one time we sought out that person
to bring them in to see if they could help us fix it and you know what they didn't we ended up having
to fix it ourself and like they just couldn't figure it out and i realized like if you take
someone who has left the company they're slowly their brain is purging all these now irrelevant
memories and they're just not going to be that helpful and you know they wrote the bug in the
first place, probably because of some false assumptions. And then now they're forgetting
stuff. And then you try to bring them back and help. They're just not going to be that helpful
anyway. So you're just kind of on your own. And I think that's pretty common. I've asked one person
or my team has asked one person for one question when they already left, but I think it was mildly
helpful. It wasn't outrageously helpful, but I agree that it's not like, I don't think it's a
fixed assumption or a common assumption rather to say people are responsible for maintaining
their code after they leave yeah no for sure and i think companies expect when you leave you're just
going to go and we're going to deal with it and i've never had that blow up and become a major
issue that's why they don't pay you anymore we're cutting you off yeah i guess i don't know maybe
you're on retainer or something that's that's the thing that yeah sometimes happens yeah i have done
that i have stayed back for a couple of months um with like an hourly rate and uh i was actually
but actually in my case it had a very specific target objective like we were trying to transition
ownership of a piece of software we had developed that we were selling to some other company and
i was the one with the most expertise on the software and so i was helping lead the transition
and i quit you know right before the transition was happening but i stayed on in order to help
facilitate the transition and that was more just for continuity of that of that transaction
and not so much just to stick around to fix bugs.
In fact, I didn't fix any bugs.
I just stuck around and helped transfer the software.
So even in that situation, it's like,
yeah, the company maybe could have done it without me.
So yeah, I would feel,
I would do exactly what Jameson suggested,
which is what I always do.
And I would go straight back to that company and say,
I thought I could help.
I just don't have the time.
You haven't asked me any questions anyway.
So let's end the relationship now.
It's been great working with you.
Maybe we'll work together in the future
when i'm done with my degree yeah that sounds great and when i'm a master when i have my
master's degree i'll come back and i this time i won't write any bugs that's one of the courses
yeah there's some advanced math involved that's why they don't teach it until the master's level
exactly we're really good at distilling it down though without needing a master's so
yeah be sure to take the no bugs driven development graduate course
while it still exists because we're coming for them they're not licensed
we have an army of attorneys waiting in the room
yeah they've been trained in the legal equivalent which is no lose case driven
legaling what's the verb there litigation
no loss no loss driven litigation methodology yeah it applies to lots of things the best way
to win cases is not to lose cases you've hit at the core of the genius we're gonna branch out to
sporting sporting events too you know like scoring points i think they actually already
are pretty established in there because they talk a lot about just wanting it more and that's
really the key to the no bugs driven methodology is you just want to write
bugs less and then it happens.
It's kind of like the secret.
Are you familiar with the secret?
Oh,
I am.
Okay.
Well then we don't need to explain to people.
That's like the most,
the most poorly named concept ever.
Or genius.
It's called the secrets.
You want to know about it.
And then you find out you have to buy this book and buy this DVD set.
I don't know.
But then everybody knows about it.
Yeah, but you're part of the secret club.
That's true, that everyone else is part of too.
Yeah.
All right.
All right.
I think we answered the question.
Clearly we did.
We would like to bring you a message from our sponsor for this show, Pluralsight.
I knew that I was not great with CSS, but thanks to Pluralsight, I got to learn exactly how not great I am with one of their Skill IQ skill assessments.
I was not surprised to learn that 50% of engineers are better than me at CSS.
Listen, Dave, I've got some bigger numbers.
71% of engineers are better than me at CSS, according to this assessment.
So there's some nifty stuff going on when you take it, besides the shaming it did to me.
The algorithm adapts the difficulty of the assessment to how you respond.
So if it's too tricky, if you get a lot of answers wrong, then it makes the questions easier and vice versa too.
and they're using item response theory, Bayesian stats, machine learning, data science, that kind
of stuff. I could tell it was dumbing the test down for me the more I took it.
So we're talking about this, first of all, because it's kind of cool to learn where you
are lacking. But also Pluralsight is hiring to work on this kind of thing. They're hiring folks
to work on machine learning, data science, and engineering. That's right. So I actually know
a few people who work at Pluralsight, and they say that it's a really great place to work.
They have openings in Salt Lake City and Boston, and Pluralsight was voted the 18th best company
to work for in the U.S. by Fortune magazine. If you want to check out the open jobs, go to
pluralsight.com slash soft skills. That'll take you to a special page just for soft skills
engineering podcast listeners. That's P-L-U-R-A-L-S-I-G-H-T dot com slash soft skills.
Check it out. Thank you, Pluralsight. On to the next one. I'm going to read it.
I work as a software engineer at a 10-person software agency.
During my last review, my manager rejected my salary raise proposal,
arguing that I had reached the top level for my current position.
He said that to get a raise, I would have to act as a project manager
to get commission for new projects I acquire.
I feel conflicted since even though I like the idea of upping my game,
I do not know much about handling this kind of situation with clients.
What is your recommendation for developers getting out of the world of code
and into the world of people?
bonus question ideas on how to get new projects from clients well i have news for you you have
not reached the top of your salary at your current position wait no sorry you have reached the top
level for your current position you're just in the wrong position
so sorry okay so i'm gonna be a little you know we haven't said in a long time
what quit your job quit your job quit your job and get a new one used to be our theme music
yeah so this this might sound a little snarky but if you've topped out at an agency you're
performing well you like engineering it's probably time to go check out other job opportunities at
not agencies look for tech companies companies whose main business is software development
and product development. Companies that aren't cranking out websites and stuff for 10-week
projects that are over and you turn it around from zero to done in 10 weeks and then you
walk on to the next project. Companies that actually run long-term software development
product efforts. And I think you'll find that if you want to make more money, you can very easily
by stepping out of the agency ecosystem and into the software product development ecosystem.
I want to be clear about the alternative here, too. This is a move into sales, not just project management. I mean, there will certainly be some project management involved, but they're offering to pay you on commission based on the new business you acquire.
And if that's what you want to do, that's fine. That's not what I want to do. And that's very different from software. So I think you have to realize that's the decision ahead of you. It's a career change into sales with some project management involved in it as well.
Yeah, I mean, you really read between the lines here. And another way to say what the boss said was, I'm not going to pay you more. But if you want more money, go bring in more business to our company, and you'll get a portion of that business as compensation. So he's basically saying, do what you want to do, bring more money to the company, and the company will give you some of that money. And that's actually pretty reasonable thing to do. Right? Like, and it's a pretty reasonable thing for your boss to say, because it means he doesn't have to generate any new new money for you, right? It all comes from you.
But at the same time, I think there's probably greener pastures for you.
Yeah, I want to be clear that I'm not saying sales sucks.
I'm saying I would be miserable doing that.
So I'm kind of answering with that perspective, especially moving into that field without prior experience.
There's there's got to be people already trying to do that at the company.
And now you're competing with them with while trying to pick up the skill set.
I don't know. This does not sound like my jam.
i don't think this sounds like this listener's jam either because i think the boss basically
stonewalled the raise and said if you want more money you're on you're completely on your own
i don't like it if you want more money i know a guy who's got a great deal on some real estate
property i i guess you could watch glengarry glenn ross i believe that movie is about sales
and that's never heard of that what is that always be closing that's the source of of that
and coffee is for closers no i know that i know those but i haven't seen it either i've just seen
like two minutes of it on youtube okay and i also don't know anything about sales so there you go
that's the sum total of my sales advice so surprise we're guiding you away from this
yeah if you want to do it um go get advice that's about how to be better at sales
but i would not want to do this and i agree with dave that there's there's a much higher
salary ceiling at a pure tech role at a pure tech company, purely tech company, not, not at an
agency. Now, having said all that, Jameson, you do have some experience drumming up clients when
you were doing freelancing, right? Yeah. Yeah, that's true. Share your great wisdom. I have
thought about at the time I was thinking about expanding that to become more than just me. And
then and then it'd be even more drumming up clients it was hard for me because i don't naturally like
to brag about how awesome i am and it turns out sales is a lot of telling people how great of a
job you'll do at things and and that i struggled with that a little bit the other thing that helped
was having sort of a public reputation as someone who knows things about tech through podcasts
and twitter and conference speaking and stuff like that so i think that would help i know a lot of
agency branding work is around establishing your agency as someone that produces really high quality
work some people focus more on the technical side so there are agencies that try to get known as
kind of ruby on rails experts and speak at a lot of conferences or they pick a problem like testing
and focus on that so that's kind of more technical sales stuff maybe there's some integration there
between things you're interested in and ways to bring in more clients but again those are the kind
of problems you will spend your day thinking about and if that's not what you want to think about then
don't do that if you want to build systems and write code then get a job that pays more doing
that because you can my i have a gut feeling that's not backed up by any data though but maybe
i should say it out loud to make it explicit i feel like salaries at tech companies are generally
higher than at agencies is that yeah does that align with your gut dave your guts point in that
direction my data gut says that's i think that's true and it that's actually based on uh several
anecdotes from people who have entered the industry from no from a position of no experience
and they've gone into agencies and they've shared with me their salaries and probably half a dozen
folks that i've followed and then you know as they progress and become successful they move on and
make a lot more money i'm sure there are exceptions too yeah yeah for sure but generally i think that's
pretty well accepted and yeah i think also just to drive that point home without without data but
when you consider the the more guts put some more guts in there in the absence of data we're going
to fill in with guts just just consider the skill set of a of a stereotypical agency developer you
know it's typically a little narrower than a product development team who's got to run
who's got to build a product from scratch run it for potentially years as opposed to an agency
typical agency projects are like media driven their marketing their website static content
things like that you know maybe some wordpress plugins here and there but it just doesn't involve
typical full cycle engineering skill sets that are often common in these more like prominent
tech companies it probably depends on the agency i mean i know there's some
there are some contracting shops that that do a little bit more dev for hire work and then i think
there's also i might argue the opposite point where with an agency since you're jumping from
project to project you might do wildly different things from each project where on a product team
long term you you focus a little bit more on a tech stack in a problem domain for sure that's
absolutely true you get locked i mean there are lots of trade-offs but i do agree that the salary
just gut feels a little bit higher in away from agencies in general and to be fair i'm i'm actually
thinking more of like media marketing agencies you know ad agencies that kind of thing not so
much about dev for hire contract work where you'll have you know ios experts that are building mobile
apps as their main you know main source of work for companies that may contract with them for
years. Like that, that's effectively the same as product development. I'm thinking more on the
other side though, like these media, media companies. Yeah. The other question, this question
asker asked was, what is your recommendation for developers getting out of the world of code and
into the world of people? And I think that's an extraordinarily valuable skillset, no matter what
you end up doing, being able to talk to customers more or talk to business people more, or, or even
understand salespeople more and what their motivations are. I think that would serve you
well, no matter what you ended up doing. Even if you decide to focus purely on software or purely
on this move to project management. Yeah, for sure. And I think that's a bit of a false dichotomy.
You don't have to get out of the world of code to get into the world of people. You'll be a more
effective engineer if even if you stay in engineering, like Jameson said, by developing
your communication and people skills. Absolutely true. Yeah, I think that's the thing you can just
do by asking questions and being interested in it. If you have a project manager, you can kind
to ask them why they do things or what what they're trying to solve when they do certain
things not in like a i know how to code so every problem is easy even problems i know nothing about
way it's kind of the engineer's disease we we get sometimes but just a genuine curiosity way
there's there's a lot to learn from people that do this more fully yeah and unlike engineering
skills my people skills are not something that i have set out to explicitly train so i don't
actually have great advice for how to develop these kind of things which is a little ironic
given the name of our podcast but oh shut it down the truth is out we have no idea what we're doing
i i don't know very much about project management but i know enough to know it's hard and it's deep
it's a complex domain and i like learning more about it because i feel like i'm very weak there
And there are smart people that I kind of follow and talk to online that I learned from.
But I don't have, like, Jameson's five weird tricks to get better at getting clients or running a project or anything like that.
Yeah.
You won't believe number three.
It's silent.
It cannot be spoken out loud.
You have to license our, you have to license number three.
I was talking more about great magic, but you're talking about, like, legal magic.
Yeah.
Is there a difference, really?
Suspiciously complex contracts are indistinguishable from magic.
Exactly.
Didn't Arthur C. Clarke say that?
Yes, he did.
Arthur C. Clarke, who in an alternative universe was a lawyer.
Yeah.
All right.
Have we answered the question?
I think so.
Good luck.
All right.
What can people do if they want their own questions answered?
Hit us up on softskills.audio and click on ask a question where you can fill out a form
with as much or as little information as you'd like.
Thank you so much to those who have filled out that form and given us an unending list
of questions that flow in every week we really appreciate you what can people do if they want
to support the show go to softskills.audio click support us on patreon or just tell people about
it share it share it with your friends enemies people you don't even know but be careful
approaching strangers yep all right catch you next week
