It takes more than great code to be a great engineer. Soft Skills Engineering is a weekly advice podcast for software developers about the non-technical stuff that goes into being a great software developer.
In this episode, Dave and Jamison answer these questions:
After a decade as a Senior front-end engineer in companies stuck in legacy ways of working—paying lip service to true agility while clinging to control-heavy, waterfall practices—I’m frustrated and exhausted by meetings and largely apathetic, outsourced teams who don’t match my enthusiasm for product-thinking or improving things. It seems allowed and normalised everywhere I go.
How can I escape this cycle of big tech, unfulfilled as an engineer, and find a team with a strong product engineering culture where I can do high-impact work with similarly empowered teams? Thank you, and sorry if this is a bit verbose! Thanks guys. Martin
How do you judge your competency in a technical skill and when should you include it on your resume? Should you include a skills that you haven’t used in a while, skills you’ve only used in personal projects, or skills that you feel you only have a basic understanding of?
I’m a frontend developer and I’ve seen some job descriptions include requirements (not nice-to-haves) like backend experience, Java, CI/CD, and UI/UX design using tools like Figma and Photoshop. I could make designs or write the backend code for a basic CRUD app, but it would take me some time, especially if I’m building things from scratch. I’ve seen some resumes where the writer lists a bunch of programming languages and technical skills, and I often wonder if they truly are competent in all of those skills.
In this episode, Dave and Jamison answer these questions:
I think my team’s PM might hate me. Hate is exaggerating, but they often will give public praise to other members of my team on work they’ve done, and seem to be pretty friendly with others, but I have never gotten the same treatment. I have also not gotten negative feedback from them in the 3 years we’ve worked together, so I don’t really have any information to go off of here.
I don’t need everyone to like me, but it feels weird to see someone act nice with everyone else and relatively cold with me. I get along pretty well with everyone else on the team, too. Would you do anything in this situation or just try to ignore it?
I’m a newly minted senior engineer and frequently pair with other more junior engineers to help them when they run into issues. Along with my company-provided senior engineer hat, my manager has asked me to try to take on more of a vested role in mentoring other engineers.
One engineer I regularly assist seems to have anxiety issues. When I start reviewing their code or ask them about their debugging steps, they almost always start the conversation by telling me they’re nervous. I usually reassure them that we’re all teammates, we have a shared goal and there’s no judgement - only a desire to help them resolve whatever issue they’re encountering. While this does help somewhat, they continue to show clear signs of anxiety. I’ve also noticed the same behavior during team code reviews.
They’ve been here for over a year, and I feel bad that they still seem to be struggling. I’d like to offer some sort of suggestion or guidance. What’s the best way to approach this? Would recommending therapy be out of line? Should I talk to my manager, or would it be better to leave it alone entirely?
In this episode, Dave and Jamison answer these questions:
I would like your advice on how I can improve my communication skills. I realize that practicing is usually the best way, but I am interested in taking online courses or learning more on becoming a better communicator. However, I am currently taking courses in CS and would like to primarily focus on that. I’m wondering what your thought are, especially when it comes to investing time in either a community college or online extension course.
I have to make a confession. I am a job hopper, never staying longer at a job than a year. I am getting bored quickly, I always get the feeling of the grass is greener on the other side and I keep finding myself distracted from my current job always thinking of the next step, the next job, the next big thing.
This feeling is a double edged sword. On the one hand I know that I am aware that this repeated behaviour is not sustainable and healthy. On the other hand it helped me progress extremely in my career and climb the ladder quickly and now after five years of experience I landed at big tech in my dream job role. But I still get this old feeling of planning the next thing, finding myself distracted and losing interest and not being satisfied.
I want to stay at the job and keep earning the big bucks for my family. What can I do to get rid of the grass is greener syndrome?
In this episode, Dave and Jamison answer these questions:
I’m currently in the interviewing pipeline for an engineering position at a fairly large healthcare company. In light of the recent events surrounding UnitedHealthcare, there’s been renewed criticism towards the insurance industry as whole. I was interested in this position and the work culture seems good, but now I’m having second thoughts. If I were to accept an offer from this company, could it somehow negatively affect my career or reputation? I feel like I’m worrying over nothing, but let me know your thoughts. Also, hypothetically speaking, what would you do if you received a job offer at a company that recently had negative press?
Hi! I’m an internal applications engineer, and after a couple of years of propping up a couple of different small and midsized companys’ intranets with duct tape and cardboard, digging through old, unmaintained code that nonetheless runs the business, and trying to decipher the intentions and reasonings of the Developers Who Came Before, I have landed what is perhaps the dream position: the primary internal applications developer at my new company is retiring, and the business has hired me on such that we have a few months for said senior developer to catch me up and hand things off.
I’ve been brought through the basics; how to troubleshoot day-to-day misshaps, which clients need to be handled with care, and I’ve been shown the excel workbook that will make the finance department explode if it’s edited incorrectly. What other non-technical questions should I ask my senior before he leaves?
Thanks and thanks also for an awesome show!
In this episode, Dave and Jamison answer these questions:
Stefan
Help! Most of the time people ask questions about issues that already happened. I however, would like to prevent one.
I am a young Tech Lead and really love my responsibilities, team and especially my manager. With the help of your podcast I could even resolve my last issue regarding compensation. Of course I dutifully did my part and reallocated some of my payment increase to finance Jamisons yacht.
My very awesome manager “Bob” is so great that he has to manage 4 teams. Naturally, because Bob and those 4 teams are doing great, Bob gets rewarded with even more work. In his “free time” Bob is a parent of two teenagers which is also not necessarily known for being a stress free environment.
Lately I noticed that Bob is more stressed than usual. Bob told me that he wakes up in the middle of the night because he remembers missed TODOs in the job. I also see this change in his body language and general demeanour.
Now that a very critical project is coming up, Bob, as the go to person for more work has to allocate a significant time of his day to support this project.
I fear that Bob is on a path to burnout and this new project might be the last drop. I would really hate to get a different manager. Statistics claim it will probably be worse… Also I really wish for Bob to be well and health, too. ;)
How can I help Bob in his situation? How do I address those concerns with him without looking condescending? We have a good and open but not close relationship, that I would not like to ruin by overstepping my bounds.
Thank you very much. I love the podcast. You make me laugh and learn with every single episode. You rock!
I am a very young senior engineer at a big tech company and I think nobody really knows how young I actually am. I just turned 24 and usually in prior jobs other developers started hating me once they found out that I am this young and already in a senior role. Here at the current place, I have the feeling that all of the engineers in levels below me are already a lot older and have more years of experience under their belt. Also, I think they do not know about my age, because I never shared that in the recruiting process, nor later on. Usually people assume I am in my early 30’s and have a baby face, but when I tell them that I am a baby face because I am actually young, they become envious and things go south from there. Should I keep this a secret or am I playing too much into this?
PS: I am also already married and have kids, so that could make them assume that I am older.
In this episode, Dave and Jamison answer these questions:
What advice would you give for working with an ineffective leader whose input is crucial to your work? I’m a senior developer for a mid-sized non-tech company with probably 60-80 devs, and in the past year I’ve been working more with a VP of software who seems to still be involved in code details, getting pulled in to production issues, in-person code reviews, etc.
He’s a nice guy, but he seems like he’s being pulled in too many directions at once. When he schedules a meeting, there’s a 50% chance it happens on that day and time, and when we do have meetings, if we bring up questions and high level issues we need feedback on he’s quick to “take ownership” and say he’ll do X and Y. Inevitably, X and Y slip down the priority list because production issues and who knows what else, and we’re stuck waiting weeks on end for something that if he’d just delegated the work to someone else, we’d have long since moved on. But we still need his input to shape our work. How can we as lower-level developers (with a manager who isn’t involved in this project at all) help mitigate these delays?
I’ve recently accepted a new position after spending more than three years at my first job out of college. Currently, I’m a Senior Engineer at a large, corporate-like company (300+ people), but my new role will be at a much smaller startup (20-30 people).
I’m excited about the change but also a bit nervous, as I know startups can be fast-paced, and I’ll need to get up to speed quickly.
What advice do you have for setting myself up for success in this new role—both before I start and after I begin? I have a couple of weeks before my start date and want to use that time to prepare effectively.
In this episode, Dave and Jamison answer these questions:
I am a first time caller and full time listener of your show.
I was released from prison a year ago and I coded for 18 years straight on all sorts of stacks as part of my job requirements in the pen. Imagine the irony when I discovered what codepen was.
A dev told me about an opening for full remote/full stack web dev at their company. I’ve used the tech stack before but I have a non-traditional background to say the least. I’m not worried about being qualified but I have never worked in a team and I have always been responsible for production.
I work for a large retailer in a non-coding role. I’m also doing some freelancing on upwork/fiverr, but the pay is low and the jobs are not fulfilling. I was self-employed before I was incarcerated and I know how to beat the pavement and get small time work, but this is an opportunity to work at a real software house. I don’t even care if it’s a feature factory, I just have loved coding since I was 14.
What do I do? I am confident in my skills and ability to deliver under pressure (in a place that has pressures you can’t imagine). I have a cover letter, but a bad resume and no open source projects from this millennium. I do have a reference - a Captain I worked for said he was willing. However, the opportunity was unexpected and I have not prepared anything.
The dev who brought me the offer was a casual friend in IRC and he told me that my resume was mentioned in some meeting. I know you have suggested in previous shows that having someone get your foot in the door is the best way but I really think that feels gross to me.
Anyways, longtime listener of your show and first time caller. In fact, when I was in prison, a few years before I was released we finally got tablets with an incredibly limited amount of content. Your show was one of a few on coding but I really enjoy your take on the soft skills because even though I worked in a non-traditional environment, teamwork was always the focus and I listened to everything from square one (took me a long time to get there).
So thank you for your podcast you don’t know how many times I could sit in my cell listening to your show and disappear from my cage.
Sincerely, Names have been change to protect the guilty
Second time caller from NYC! I previously wrote in as an 18-year-old CS graduate (Episode 332).
I’ve focused intensely on work for the past 4 years, consistently working 60+ hours per week.
I always assumed that this approach to life would eventually bear fruit, but a couple months into turning 20, I’m realizing that I haven’t really done anything memorable besides work (which is a scary realization at 20).
While I like working hard and want to ensure the success of the company I work for, I also want to feel like I am living. How have you struck the balance between work and non-work in your lives, and how has that related to the culture of the company you were working for at the time? I should also mention the company I work for (early stage, well funded) does have a culture where it’s expected to work everyday, and 60 hours is approximately the minimum expected.
In this episode, Dave and Jamison answer these questions:
My company recently eliminated 1:1 meetings between managers and their direct reports. Previously, most people had these meetings every other week, and they were an opportunity to talk about career growth among other engineering things besides current work. They’re claiming the recurring meetings can be replaced with quick, more spontaneous calls when necessary. Although wiping meetings from the calendar does clear up more time to code, as a more junior team member, I’m concerned that this will negatively impact my career growth. It feels like career progression just got a little bit harder. What’s the read here? Is this a red flag? Should I start looking elsewhere? How can I navigate this changing environment and still make sure that I am able to progress my career?
A listener named Matt says,
I’d really like to move to a single team-dedicated backlog, where we use kanban and have work in progress limits, rather that the heavy release planning fixed-scope current model. I feel we would be more effective as a team that way (I’m one of many team leads in the company). Currently we operate in an agile-ish fashion but ultimately inside a waterfall process, driven from outside the technology team. Although I believe it would be a good thing, I’ve not actually worked in that way. Is it all it’s cracked up to be? Are there any issues of going to that model that I’m not seeing?
In this episode, Dave and Jamison answer these questions:
Marcus Zackerberg asks,
I work at a megacorp whose recent focus has been on reliability. The company already has mature SLO coverage outage response standards, but my org has taken it to the extreme this year. For example…
There is now a dashboard of “service health” that is reviewed by engineering leadership. In it, services are marked “unhealthy” permanently upon a failing check (think HTTP /health). To return to a “healthy” state, one must manually explain the failure with an entry in a spreadsheet, which must be reviewed and signed off.
Increasingly I feel this has the opposite effect, discouraging nuanced work to improve reliability and instead becoming “checkbox driven development”, as well as impacting our ability to ship on our existing roadmap items. Additionally, our tech lead is fairly junior and frequently fails to communicate the org’s expectations to the team, leading to us being under the gun of the reliability dashboard often.
Any advice on how to make the best of this situation?
Hi Guys! I’m a senior engineer at a mid sized software company. The company has had a couple of high level departures recently, and during that process I’ve come into the knowledge that my name is one of a handful on a list of “engineers to keep happy”. I feel like this information should be of use to me, but I’m unsure on how I should leverage it.
On one hand it’s nice to know I’m valued, but I think I’d rather be explicitly told that or better yet, receive dollars in lieu of praise. I’m also at the point in my career where I’m looking for staff roles, and the topic of promotion has come up several times with my manager. He supports me (and I believe him), but we agree that it would be difficult to make the case to the business.
What do I do with this new knowledge, and is there a way to benefit from it without accidentally triggering a preemptive search for my own replacement?
In this episode, Dave and Jamison answer these questions:
First! I recently listened to episode 178 (huge backlog of episodes to work through!) and Dave made the assertion (in 2019!) that 47% of all companies would be remote by 2023: wildly close, what else do you see in the future?
Second: my work situation continues to confound and external insight would be helpful! My boss and I have a long working history going back to an entirely separate company. I’m a high-ownership/high-drive Principal level IC and feedback has been lackluster. Takeaway from last years performance review would be best summarized as “I agree with your self review. End message.” I’ve been working to “manage up” and mentor (reverse mentor?) him, but he always makes snap decisions and then refuses to reevaluate after presented with more info. Coupled with his myopic view of our team’s scope and general preference for speaking only (not much for action), I’m trying to figure out how to get where I want to be without burning an old and historically very useful bridge! I want to work on big technical problems, instead I’m de facto manager of a team… I managed before and did not enjoy being responsible for people. As a principal I’m responsible for their output somewhat, but if they underperform I work with their manager and them to prioritize, and do up front work to incentivize their investment in what we’re doing… help!
What do I do when my teammate proposes a new architecture or framework in a new project? It might solve some existing problems but has a high chance to create technical debt and make the onboarding harder for new engineers.
How can I convince them to use the existing solution while still helping them feel comfortable sharing their opinion next time?
If I follow their suggestion but things don’t go well, how can I convince them to refactor the structure without them feeling like I’m blaming them?
In this episode, Dave and Jamison answer these questions:
My boss has been forgetting a lot of stuff lately — decisions from team discussions, action items from meetings, their own decisions that they then go against later, etc. They’re great overall, and this is definitely just a human thing… we’re not perfect. But how can I help them remember or remain accountable without feeling like the snitch from “Recess”?
Listener Gill Bates,
Hey! I started working in a big tech company recently and I feel like I am on a different planet all of a sudden. Before, I did only work in startups and small companies. I have joined as a senior developer and have a weekly 1:1 meeting with my manager, but also a biweekly 1:1 meeting with the skip level manager. The latter is where I am having problems. I don’t really know what to talk about in this meeting and fear that this is seen as disengagement. The first time I had the meeting, the skip level manager mentioned that he was sure I would have tons of questions and in reality I had none at all. I feel like, in my senior role, I must come into this meeting with good questions, but all questions I have, I am discussing with my peers or manager directly. So nothing left really for my skip level manager. I am starting to prepare fake questions, where I already know the answer to, just to seem engaged. It feels like a game. So please Dave & Jamison, tell me how to play that 1:1 skip level manager game.
Your feedback is valuable to us. Should you encounter any bugs, glitches, lack of functionality or other problems, please email us on [email protected] or join Moon.FM Telegram Group where you can talk directly to the dev team who are happy to answer any queries.