It takes more than great code
to be a great engineer.

Soft Skills Engineering is a weekly advice podcast for software developers.

The show's hosts are experienced developers who answer your questions about topics like:

  • pay raises
  • hiring and firing developers
  • technical leadership
  • learning new technologies
  • quitting your job
  • getting promoted
  • code review etiquette
  • and much more...

Soft Skills Engineering is made possible through generous donations from listeners. A heart with a striped shadowSupport us on Patreon

A speech bubble

Why should you listen?

Here's what listeners say:

Recent Episodes

Latest Episode

Episode 233: Manual unit testing and WFH demotivation

Download

In this episode, Dave and Jamison answer these questions:

Questions

  1. My (very large) company has an alternative definition of “unit testing”. Unit testing at this company refers to when a developer manually tests their code in whatever interface the code is associated with after they write it. An example usage would be a standup status update such as “I finished writing the code for ticket x I am just doing unit testing to make sure my code works”. My concern is that there is very little real unit testing at this company and the I think the misuse of this term makes it harder for real unit testing to become more prevalent. Is this worth speaking up about?

  2. Feeling Isolated and demotivated while working from home. With COVID 19 pandemic we have been working from for more than six months and looks like it will be another six months at least before we get back to work. We are already a geographically distributed team and with work from home the interactions within team have become harder. We do have once week team meeting but there are more than 20 people and it is usually a tech talk. Sometimes I go days without interacting with the team outside of slack/email. I have realized this tends to make me more distracted or demotivated. Interacting with team members and seniors within team gives big picture information, ongoing projects etc. that helps keep me motivated. I have tried proposing virtual happy hours or even meetings within small groups who working closely once a week or so. Understandably not everyone is enthused about virtual happy hours. Do you guys have any other suggestions?

Show Notes

https://www.martinfowler.com/bliki/UnitTest.html

https://www.amazon.com/Art-Gathering-How-Meet-Matters/dp/1594634920

https://threadreaderapp.com/thread/1304143989939949568.html

A smiling speech bubble

Episode 232: "Junior" developer and NDA'd

Download

In this episode, Dave and Jamison answer these questions:

Questions

  1. First I want to say thank you and I really love the show and all your helpful advice. I think it has made be become a better developer.

    I am a current junior in high school and the lead developer (intern) of the small non profit with approximately 10 college and graduate interns on it. School has recently started to push me away from the project (not enough time in the day) but I still want to be a source of help. I wrote a very significant portion of the code for the current application, however the founder wanted this to be shipped as quickly as possible and this led in a sense to a bit of a cobbled together mess of microservices and no documentation. My main problem is that although I feel I have the technical skills to lead the team, I really do not have much experience in terms of team management, especially in the case of leading a development team. During the main development of the application, it mainly consisted of me and this other developer writing the code. However now that they are gone, I am the only person (along with someone else who kind of has an understanding) with knowledge and familiarity of the code base. Sorry this is long, but I guess what I am asking is how can I (i) create a team structure that will not only prepare interns for real world development as well as making sure that the application remains after I move on and (ii) help build processes and structure that will allow people to meaningfully contribute to the code base.

    Also, just for more information, I have not yet added unit tests or code reviews. Most of this just usually became just as me.

  2. I work in AI startup and planning to change my job. My contract is full of NDAs about pretty much everything. How do I talk with companies and recruiters about things I do when I’m not allowed to disclose project details like technologies or libraries used, algorithms for data manipulation, or even where we take data from, bought or downloaded. I can’t say anything more than “I work on AI and we do music manipulation in a programming language”. What do I say?

A smiling speech bubble

Episode 231: Freedom for me not for thee and optimizing for growth

Download

In this episode, Dave and Jamison answer these questions:

Questions

  1. Hey Dave & Jamison,

    I have a problem with a more senior engineer in my project, I cannot really predict or follow his thought process.

    They introduced best practices about organizing code, Git branching, software versioning, etc. to the project. Which is great, because I like well-defined processes. And I followed those processes happily.

    Now, there are some occasions where the senior engineer violates one of the processes.

    When they do that I ask why, then they give me the reason and I nod because I think that make sense.

    Fast forward a little, and I also choose to violate the process the same way, for the same reasons. During the code review, the senior engineer rejects my approach because it “does not make sense”. SurprisedPikachu.jpg

    I tried a few times to challenge them in these situations but more often than not they either stood their ground or gave the “agree-to-disagree” nod which demoralizes me. So now, I’m inclined to just follow what they say if this situation happens.

    I understand that there is some nuance for a certain thing to go a certain way, but when this happens I am always left puzzled and spend time re-calibrating the idea/approach.

    What is the best way(s) to deal with these kind of people?

    Anyway, love the show and keep up with the good work!

  2. Do you think that a job that helps you constantly grow is more important than a job that promises titles?