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.

Similar Podcasts

24H24L

24H24L
Evento en línea, de 24 horas de duración que consiste en la emisión de 24 audios de diversas temáticas sobre GNU/Linux. Estos son los audios del evento en formato podcast.

CppCast

CppCast
Every two weeks, or so, we sit down with guests from the C++ community to discuss the latest news and what they have been up to. Find us at cppcast.com

The Infinite Monkey Cage

The Infinite Monkey Cage
Brian Cox and Robin Ince host a witty, irreverent look at the world through scientists' eyes.

Episode 171: Unwilling mentorship and tortoise vs hare DevOps

August 19, 2019 31:38 27.62 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: Hey guys, love the show. I’m starting to realize that our QA engineer lacks some skills required to do their job effectively. It’s now starting to affect my work and I can only see it getting worse. I’ve tried approaching them about their work and given them some pointers on how they can improve. I’ve done several pair programming sessions as well. They are a bit stubborn though and I don’t think they will change until things get a lot worse when they realize their mistakes first hand. We are a small team and I’m the only other member of the team with automated testing experience. Should I be having a discussion with my manager about this? The company is pushing for more automated testing and if the problems are addressed now it would be easier going forward. I’m hesitant to say anything in case I open up a can of hate worms though or get them fired as they are a nice person. P.S. I’ve only been here a couple of months so moving jobs won’t be an answer for me on this one ;D Greetings from Germany, I am coming from the Infrastructure side of things, and we are a team of engineers with 0-3 years of experience getting into DevOps (tm). Often we encounter new tech-stacks that involve a lot of concepts to learn (like AWS, Elastic, CI/CD, System Provisioning). The way we approach these topics leads to some conflicts. Most of my colleagues like to jump into the water and set up production systems based on a mix of trial & error and copy pasting examples form StackOverflow. I on the other hand try to do things a bit slower by learning the basic concepts and applying them together with examples to get a deeper understanding of the system. My approach is slower but often leads to more robust and thought out systems. However it leads to my boss and my colleagues often eyerolling me for seemingly “overthinking” it. But I also see the appeal of the other approach, since it allows for fast results and pleases the stakeholders. But I see a lot of issues and often time consuming restructuring projects coming from that. Should I just give in and swim with the stream while i suppress my inner nerd cracking down on things? Loving your Podcast btw and recommend it to all my fellow tech nerds. :)

Episode 170: Code rage and code review etiquette

August 12, 2019 36:07 36.97 MB Downloads: 0

Vote for Soft Skills Engineering on the Hackernoon Noonies awards for best Dev Podcast! In this episode, Dave and Jamison answer these questions: How do I stop getting angry at other peoples’ code? Often when solving a complicated problem or implementing a feature, I have to modify or at least use systems designed by someone else. Often I find myself thinking ““Why did they do it like this??? This is so dumb!”” and literally getting mad in my chair. This happens no matter who wrote the code, and occasionally I discover that the author of the code was in fact Past Me. I know logically that everyone codes the best way they know at the time. So how do I avoid such a visceral reaction? Is this a common problem? Is this why many programmers seem to be Grumpy? My frustration often derails my focus and makes problems take longer to solve than they need to. What is the right etiquette for a code review for a pull request? I recently had an amazing code review. The reviewer pulled my branch, make a branch for changes he suggested and those changes all led to better and cleaner code. I felt the reviewer really tried to understand my design and test every suggestion before he wrote it. I felt that my code really got respect from the reviewer. However, a lot of my code reviews are just passive aggressive nitpicking like the comment formats are not right, the variable names aren’t clear enough. The worst was when I got a comment saying “this is already implemented” which after hours of figuring out what it meant was a different thing that would not work in my case. It seems like people have different ideas of what code reviews are and the etiquette and the expectations for it. As a reviewer and a reviewee, what should ideally happen in a code review process? Right now most code reviews are exhausting and infuriating experiences.

Episode 169: Conspiracy theories and flexible schedules

August 05, 2019 31:36 37.3 MB Downloads: 0

Vote for Soft Skills Engineering on the Hackernoon Noonies awards for best Dev Podcast! In this episode, Dave and Jamison answer these questions: One of my co-workers at the software company I currently work on has an ‘uncommon’ set of beliefs that include, among many other things, a strong mistrust of mainstream science. He is currently very concerned about the effect that Wi-Fi signals have on our health and wants the company to make some changes to our Wi-Fi hubs and our devices’ wireless connection usage. I’ve found in the past that it’s not easy to have a conversation with him about this type of topic. How can I be respectful to him and not undermine our work relationship while not giving in to connectivity inconvenience based on fringe-science beliefs? Hello! I love the show! The humor interjected into real advice (or real advice injected into humor?) makes thinking of boring and scary things like coworker relations or quitting your job sound fun! Everyone should resolve conflict and/or quit! I just started a new gig and I’m running into a situation I haven’t before. We have flexible work hours, but, unlike at previous jobs, people actually use them! I am meant to be pairing with another dev who is working quite different hours than me. I have a couple questions. 1) How do we communicate about this clearly? I tried to set expectations at the onset, but it seems we missed the boat. I asked when he works, told him when I work, and it didn’t seem this far off. But on a day we’re supposed to pair, he’s here an hour and a half after me, which means I’ll leave an hour and a half before him. 2) How do we make the time together the most effective? How can we turn about six hours of work into something meaningful, given normal distractions of meetings, bathroom breaks, etc?

Episode 168: Self-snooping and work from home jeopardy

July 29, 2019 31:00 31.28 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: Hey there. I don’t program I administrate in IT but you’re my favorite podcast, awesome job, never stop. I ran into a crazy situation that is WAY above my soft skills ability to deal with so I am seeking wisdom. I was working with someone from HR on a OneNote syncing problem. I asked someone to log in and let me look at the notebook in question that was causing an issue. I saw what I needed and then randomly clicked on another notebook so the problem notebook wasn’t open as I was trying to fix it. Later I approached the HR person to show me how they do something in OneNote. They opened OneNote and the page that opened up was MY employee records! OneNote syncs which page was opened last, which means the page I randomly clicked on when they were logged in on my computer was my employee record, and they knew it! They confronted me about it (not making too huge a deal about it). I tried to explain how I just clicked randomly and I wasn’t snooping, but it felt like everything I said only dug me deeper. I’m having trouble staying in the same room with them because of the shame (entirely internal) and I’m worried if I ever need to look at their PC again they will want full visibility to make sure I’m not snooping (not ideal). I want to make this right, but all I can come up with is honor based suicide rituals. What do I do? Your faithful listener, Stefan I’m an engineer in a small start-up. I work half of each week remotely, half in-person, as do the other engys. One of the other engineers is exceptionally skilled and experienced, way more so than I, but they are not very communicative when working remotely. The leader (understandably) becomes quite nervous as a result, especially since minor health issues have kept this engineer from working full throttle for a couple of weeks. What, if anything, can I do to help the leader trust this engy who doesn’t like to chatter on slack? I think they whole-heartedly deserve trust, and their work is already the backbone of this product. Part of the reason this matters to me is that the leader has expressed wanting to reduce work from home days to alleviate this issue. I love my wfh days, and I have been told that I communicate plenty well when working remote. How can I help alleviate the leader’s fears to protect another engineer’s independence and protect my precious precious remote time?

Episode 167: Foosball culture and giving feedback to geniuses

July 22, 2019 35:08 31.32 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: We’ve all been on that tour of that local startup that is showing you around their office pointing out all of the amenities. “Over there? That’s our foosball table!” You notice no one is playing it and the table and players all look very new and haven’t seen much action. You get down to the interview and at the end they ask you if you have any questions for them. “What is the company culture like?” to which they respond: “Did Derek show you our foosball table?” My question is what are the ways to ask this question without actually asking it? No one will respond to a direct inquiry saying: “Culture? Our culture is pretty garbage. You actually probably don’t want to work here at all, if I’m honest…” I’ve yet to find a good way to ask this question and wondering if you have any suggestions here. Love the show - keep up the good work! I have been lucky to have leadership opportunities in the past where I was responsible for the career growth, engagement, mentoring of a handful of team members. I recently started a new job where I am outranked by a recently promoted employee who is brilliant, but lacks some leadership qualities. To make things more awkward, this person does not take feedback well. However, I think I may be able to provide some feedback to help this person grow as a leader. Have you ever been in a similar situation? How would you approach this?

Episode 166: Not the intern and fighting at work

July 15, 2019 34:09 30.23 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: I’m so glad I discovered your podcast last week! You guys are hilarious (I laugh to myself in the car) and you talk about issues that I have thought about since coming into the “adult world”. I’m a new CS grad and have started as a new hire at the company I interned with last summer. I’m on my third week of full-time employment but I still feel like an intern. One of my supervisors even jokes and calls me an intern. I know it is a joke, but I feel degraded. I’m the youngest (at 22) and the only woman on my team surrounded by people who have been on the program for 5+ years. The people around me are VERY technical. I have slowly been getting information about what the program does, but it still isn’t clicking as fast as I want it to (compared to what I had experienced in my time at university). I have no experience in and have not learned any of the concepts they have been talking about. I feel that my CS degree does not matter and I feel that I am not competent enough and don’t deserve my place at this company; I’m not as technical as the other employees. I feel that since I have said I have my degree in CS, people expect me to learn fast and be “technical”. Am I setting myself up with unreasonable expectations? How can I prove to myself and to others that I deserve to be a part of the team and the program as a full-time employee? My team works closely with another team, and the manager of that team is…difficult. Most of my interactions with him have resulted in him getting defensive and frustrated, and nearly become arguments. I try pretty hard to remain polite, but we usually don’t accomplish anything. I’m not sure that I want to mention this to my manager, or to his, because I’m worried that word will reach him that I ““tattled””, which will just make things worse. He’s also more senior than me and has been at the company longer, so if this conflict does escalate, I feel the company would probably take his side. I otherwise really like this job, so the age old advice of quitting is not an option here. Besides just trying to avoid any interactions with him, what can I do? Thanks for much for the help.

Episode 165: I don't play videogames and quarter-career burnout

July 08, 2019 28:34 29.13 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: I recently joined a startup. After joining I realized most of the engineers are gamers. They play games during the lunch hour, and if we end up having lunch together, everyone is talking about the game that they are playing or some news in the gaming circle. As a non-gamer and introvert, I find it different to join in their conversation. How can I join in, or bring the talk back to something else? I’ve been working as an Android Engineer for 7 years from the beginning of my career. I loved my profession but things started to go not so well with reaching of the senior level. Coding tasks became boring because I knew how to solve them before starting. Most of the time I was helping less senior engineers but it didn’t give me satisfaction. I tried to solve the problem by quitting my job. I joined a company with a team of only senior engineers hoping that it meant more challenging tasks. Things did not improve. Tasks are still boring and I don’t learn anything new from my colleagues because they are around the same tech level as me. I don’t think I’m burned out because I still enjoy programming when I need to use my brain for solving a problem. I don’t want to move to management because I like coding more than people. I don’t want to switch to another tech stack because it means a pay cut and I think that I’ll get bored again in a year or so. Is it some kind of quarter-career crisis? Is there a way to be an expert at the field and still like your job?

Episode 164: Fear of firing and disengaged teammates

July 01, 2019 31:15 31.92 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: Hello, First of all, I love the show, thank you so much for the amazing work! I always think I’m going to be fired. I’m an extremely anxious person so I feel the need for constant feedback and for someone to tell me everything is alright. Minor problems send me into absolute despair. How can I deal with such anxiety? I frequently ask my manager during 1x1s if everything is alright and how I’m performing and he almost always says things are going well. In our 6-month performance reviews I get more detailed feedback on what I’m doing well and what I can improve. This makes me feel less anxious because I know exactly what my boss is thinking. Even if something has to be improved, at least I know it. Are there any indicators I can use to tell if I’m about to be fired or if my manager is happy with my work? I’ve told my manager about my anxiety and that I’d like constant feedback. That has helped, but I was hoping to get more detailed feedback. Preferably this feedback would make me able to tell, in a scale from 0 to 100, how well I’m performing. Thank you very much! Hey Dave and Jamison, love the show your insight. I have been having a problem on my team that I hope you can help with. We are a team of engineers that have internal customers. It’s a bit of a back end of the back end role. The problem is NONE of the other engineers are customer focused. They don’t engage with the real needs of our customer teams. Tickets come in, they do what’s in the ticket as it reads exactly and we end up with requirements getting lost, tickets needing to be reopened and our reputation going down the tubes. I have taken it on myself to engage with the customer and help them out. BUT, now I have become a glorified customer service rep and I can’t do much of my own work because I’m passing messages back and forth between engineers who don’t like to talk to their customers. My manager says the team needs training and he is going to work on it with them, but this has been going on for months. Should I take the Soft Skills advice of ‘Quit your Job’, or continue being a middleman?”

Episode 163: Sounding a warning and negative Glassdoor reviews

June 24, 2019 34:05 33.92 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: I recently joined a new team to help rewrite a batch job whose source code has long been lost. After taking some time to learn the tech stack and the business problem, I realized that the current approach will not let us meet our nightly deadline. Even a very generous back of the envelope estimate suggests that we’ll miss it by two orders of magnitude. I have some ideas on how to maybe fix this… buuuttt… I brought my concerns and calculations to the lead project engineer who dismissed them outright. They did not offer an explanation for why I was wrong, even when I asked for one. I started a proof of concept to illustrate my point, but there were some weird conversations that suggested that I should just drop the issue. I know how to make a technical argument about my concerns, but apparently that isn’t enough. How can I get fellow engineers to at least take my concerns seriously, not just for this project, but generally? I’m only 3.5 years into my career, so is it just a seniority thing? Hi! I’m a software engineer and I’m currently looking for my next job. It will be my second-ever job, so this means this will be my first time putting the Soft Skill Engineering advice (““quit your job””) in practice. Woo-hoo! Anyway… Browsing the job offerings I often check Glassdoor to see what people are saying about the given company, and I found a lot of negative reviews. I imagine sites like Glassdoor are negatively-biased, but these reviews left me wondering if there is any way I can investigate how good or bad working for the company would be. Maybe through some questions during the interviews? Any idea? By the way, I love the show, keep up the great work!

Episode 162 (rerun of episode 113): Quitting Your First Job and Too Many Responsibilities

June 17, 2019 32:59 35.5 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: How do I quit my first job if I’m working with a manager I love? I started my first full-time job about two years ago and I’m starting to think about looking for a new job, both because I am ready for new challenges and I’m ready to move to a new city. I have a great working relationship with my boss, so a part of me wants to tell her about my interest in finding a new job, both so that I could use her for a reference and also so that I can be honest with her about my intentions. She’s been a great boss and mentor to me, so there’s a part of me that doesn’t want to jeopardize our working relationship. But another part of me feels like I might be jeopardizing my presence in my current office if I make it clear that I am looking to move on, especially if my job hunt doesn’t go as smoothly as I hope. How do you deal effectively with rapidly increasing work responsibilities? My technical lead was recently promoted to management. Being both ambitious and the only Sr. Engineer without retirement plans in the next 4 months, I immediately stepped into the power vacuum and inverted a binary tree faster than all my coworkers to establish my position as new tech lead. After a few months the other senior engineer on my team retired, and I’ve ended up holding the bag for my new job responsibilities, my old responsibilities as a Sr. Engineer, AND the departed Sr. Engineer’s responsibilities. I told my manager how much was on my plate and that I was afraid my work output would suffer, and her response was to throw money hand over fist at me and promise to backfill both Senior positions within the next 12 months. How do I get through the next 18 months without losing all my hair? Are there any strategies to make sure the team doesn’t go up in flames when I forget about a key deadline? Or at least position myself so that nobody can tell it is my fault until I can make a subtle getaway in the brand new Ferrari I’m going to buy?

Episode 161: Trapped as a QA engineer and trapped as a generalist

June 10, 2019 31:15 27.07 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: Hey guys, I’ve graduated with a CS degree 8 years ago, but due to circumstances I accepted a QA job because I wasn’t getting any other offers. Well 8 years later, I’m still stuck in QA and would love to move into development. I tried transferring within companies and applying to developer jobs, but the QA brand is holding me back. Any advice on how I can become a developer when I’m pigeon-holed in QA? Hi folks! I need your wisdom! Please help. TLDR: Senior as a Programmer, Junior as a Mobile developer. When I first came to my job as an intern, my manager asked me what I wanted to do more - backend stuff, testing, or mobile development. I went randomly and chose the latter. It became my profile and I’ve grown to really like it. Over the years, life has thrown me back and forth, I’ve been on multiple different projects not related to mobile, so now I can do… everything? Or rather, nothing. I know a little bit about .NET, a little about web development, writing Visual Studio extensions, IoT, machine learning, Unity game dev.. This is good because I can now quickly learn new things, know a lot of tricky stuff, know how to communicate with customers. I have a decent salary and good feedback. But the huge downside to that is that I stayed exactly at the same level of mobile development as I was 3 years ago. I know basic stuff, a little bit of advanced stuff, but I have zero experience in all the ““hot”” things like RxJava, Dagger, Kotlin. All the job vacancies I’ve seen require a strong knowledge of something particular: be it Android or iOS development, backend or frontend. I’m suffering from a huge imposter syndrom - yes, I have all the ““good”” programmer qualities, I’m smart, but I have no advanced or even medium knowledge in anything. What can you advise me? Huge thanks and… love the show! ❤

Episode 160: Non-manager 1:1s and throwing away dev learning

June 03, 2019 25:23 24.74 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: Is it weird to have 1-1s but not with my ‘manager’? Management is planning to start holding ‘1-1s’ every 6-8 weeks for the development team. The purpose of these 1-1s: ~ ‘So you can talk about non-technical things, any issues with the team or things that are making you unhappy.’ But these 1-1s be with someone who is nominally ‘HR’, not our manager. Since it’s a tiny company, their responsibilities cover things like accounting and sales support. This person doesn’t have any people management or software product development experience, nor any experience in our product domain, and won’t really be our ‘manager’ going forward. Maybe I should just 🎶 quit my job 🎶 🕺. Then I’ll have new and unfamiliar problems to worry about 😅 Hello Jamison and Dave, I have a question on career progression, tech skills and moving into a new role. I’m a career switcher who has spent the last four years studying to move into a developer role. Over the last year I’ve been working on a technical project that has been delivered on time, under budget and ahead of schedule, a huge win for me and the team. However, now that it’s done my manager’s manager is looking at how the team is structured and who we need to hire. He has come to me and my manager to ask if I would like to move in to more of a Project Manager / Business Analyst role as I have done such a good job of the project roll out this year. I’m good at that kind of work, I do get a kick out of it, but if I don’t push forward to move into a developer role have I wasted the last four years retraining? Should I take the role and continue to push to be a full time developer on the team, or accept my fate but use the skills I’ve gained to be a better BA?

Episode 159: Rejecting candidates and corporate image obsession

May 27, 2019 27:22 21.55 MB Downloads: 0

In this episode, Dave and Jamison answer these questions: I’m a hiring manager and sometimes have to say no to candidates who interview with us. How do I reject them kindly? In my current company, they only care about reputation of the company. They don’t care about their employees or values, they prefer to invest in other things. One time the CEO asked everyone in the company to create fake accounts in order to vote for the company for an Award. By the way, we received the award. But I don’t know how to feel about this company non-existing values.

Episode 158: I accepted a counter-offer and stayed and dealing with engineers who exaggerate their contributions

May 20, 2019 27:10 23.51 MB Downloads: 0

This episode is sponsored by the O’Reilly Velocity conference. Register today and use discount code SKILLS for a 20% discount: http://velocityconf.com/skills. In this episode, Dave and Jamison answer these questions: I was unhappy at my job despite having a great manager, so I started interviewing around. Then my manager helped improve things considerably, but I ended up getting a job offer that was for a much higher amount than I’m currently paid. My company gave me a counter offer that I accepted, but now I feel like I somehow betrayed my manager and don’t know how to stop feeling guilty. How do I come back from a touchy salary negotiation incident like this and make things feel like they’re normal again? Compared to a smaller company which I used to work at, this new big company I’m working at seems to require more storytelling around the work that I do. I see people getting rewarded for exaggerating the effects of their work and being excused for their missed deadlines when they complain and blame the codebase. I hate to play this kind of game and would rather divert my energy on improving as an engineer and getting more code written. </rant> With all that said, I do understand the need for this and think it’s a valuable skill.

Episode 157: How to deal with a consistent low performer and my architect wants me to switch from Ruby to Java

May 13, 2019 33:08 26.13 MB Downloads: 0

This episode is sponsored by the O’Reilly Velocity conference. Register today and use discount code SKILLS for a 20% discount: http://velocityconf.com/skills. In this episode, Dave and Jamison answer these questions: I became a manager a year go. I took over someone as my direct report who was not performing well at the time. On my first day, I gave a motivational chat to welcome him again to the team and continued to motivate him. But after 1 year, he is not improving at all. I give him clear feedback and set expectations but he just doesn’t change. This got to a point where it is stressful for both of us. And since I spent so much time on just for this issue, I fear that it adds to the stress and may affect my decisions. What should I do? I’ve just join the company as a Ruby/RoR developer. After half a year the architect presented new way of developing the product and said that from now all new features will be writen in Java/Spring Boot and we switch to micriservice architecture. But I don’t like Java, don’t want to switch (I have 6 year expirience with Ruby), what should I do?