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
The Infinite Monkey Cage
Brian Cox and Robin Ince host a witty, irreverent look at the world through scientists' eyes.
The Top Shelf
ThePrimeagen and teej_dv are on a quest to find the best possible technical speakers and ask the best possible questions we can find. You all know ThePrimeagen can't read, so this is a great format for him to really shine. Teej is here to make sure that Prime knows who the guest is and also to interrupt Prime wherever possible
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.
Episode 135: Publicly Correcting Speakers and Forced Into a Dev Role as a Product Manager
In this episode, Dave and Jamison answer these questions: I went to an internal company developer meetup recently. The speaker was really new at the topic they were presenting and shared some incorrect information. I didn’t want to correct the speaker in front of a bunch of people, but I also didn’t want everyone at the meetup to leave with incorrect information. How can I be respectful to the speaker while making sure attendees aren’t misinformed? Thanks for doing the podcast! I think it’s great! I recently joined a new company as a Product Manager, this is my first non-development role after 5 years of development. It took me a lot of time to get to this role. During the interview they said I would be involved in development at the beginning of my role to get to know the system and not implementing my own features. After ramping up a bit, I was able to define a bunch of features, but management kept telling me that they are finding it hard to find people and they want me to implement the features myself. I have no problem doing it for my first project but I feel this is going to continue and 6 months from now I will still be working a as developer again. I can leave and get another Dev role but I am really excited about product and I want to continue in this career transition.
Episode 134: Boredom vs Money and Agile vs Long-Term Schedules
This episode is sponsored by Pluralsight. Pluralsight is hiring data scientists, machine learning engineers, and software engineers. Check out the jobs at https://pluralsight.com/softskills In this episode, Dave and Jamison answer these questions: I’m current doing nearly nothing at work (not by choice) and getting paid a king’s ransom for it, just to stay on the roster. I’ve never been in this situation before. Would I be foolish to give it all up just to not be miserably bored? I’m pretty sure this isn’t sustainable, and I’d get laid off in the next economic downturn before you guys might get to my question, but just curious what your insights are. How to deal with teams that are run as “Agile”, but management who want timelines and deadlines to steer the business? I’m at my second large software development company that’s following the agile/scrum ceremonies with weekly sprints that entail grooming/planning/retro meetings. Management keeps track of progress to align the efforts of multiple teams spread across the organization. I’ve noticed over the past year an increased desire for estimated timelines for when each team will be done with their portion of the project. This forces the team to groom and size stories months out ahead. These estimates end up becoming deadlines that need justification to be pushed back, which is common since as you get into the work you find more stories need to be added. I had a very similar experience at my last company. Both have 5-10k employees. I understand the needs of the business to plan ahead. So saying “it’ll be ready when it’s done” is not a good answer. However, it feels like we’re constantly falling behind arbitrary deadlines and in a constant frenzy to catch up. So….what do?
Episode 133: Herding Linter Cats and Surviving Until Severance Time
In this episode, Dave and Jamison answer these questions: How can I make my team be more proactive and go out of their comfort zone more? I recently started a new job as the team lead for a team of four developers. Each developer has their own pet things that they keep themselves busy with; one likes to configure linters, another has a long-running project they keeps to themselves, and so on. We have been tasked with a new, high-priority project which involves new technology and would require everyone to pitch in. So far, though, that has only happened when I’ve directly asked someone to do something. I absolutely do not want to end up in a position where I have to tell people what to do. How can I make them realize that this new thing should be their top priority, even if that means going out of their comfort zone? TLDR: My role and product are moving to a different country. I don’t want to relocate. I have to stick around at least another 3-4 months to get my redundancy package. In some ways this is great as I’m pretty unprepared for interviewing right now. On the other hand, this is terrible because I’m pretty unprepared for interviewing right now. How do I keep morale up, for me personally and the wider team during this period?
Episode 132: Should I tell my boss I'm planning to quit and keeping tech talks going
In this episode, Dave and Jamison answer these questions: Recently I was approached by a manager and informed that I needed to decide if I wanted to stay at the company or not. I initially said I would like to stay, and was told there was some negative feedback from coworkers I’d need to work on to do so. I agree that these were issues I need to work on to become a better engineer, so I’ve engaged in something like a performance plan with her over the last few weeks. But I’ve decided that I don’t want to stay after all, and I’ve started sending out applications. I don’t want to burn bridges when I do end up putting in notice, but I also would like to continue working with her on these issues, and I’m worried if I declare I am leaving that will end. So my question is: should I tell my manager I’ve changed my mind, or stay quiet? We used to have regular “tech talks” in the office - opportunities for people to share something they find interesting that doesn’t have to be work related but usually is tech/development focused. The talks were 30-45 minutes in length, and there used to be free food (at a place that doesn’t normally do that kind of thing) I wasn’t here at the time when it last fizzled out, but used to give similar talks at my last company and I’m interested in starting them up again here. People say they’re interested now but the novelty of free food eventually wears off - do you have any suggestions as to how to sustain people’s interest in attending giving talks? I might be able to convince a few people I work more closely with but there’s 60+ or so technical people in this office I’m still getting to know.
Episode 131: Coworkers with stinky feet and Was my salary expectation too high
In this episode, Dave and Jamison answer these questions: I have a question - I sit in a desk with 3 other people. One of those people does a great job of personal hygiene…the other two not so much. I have dropped a couple of hints about it (I mentioned it is a good idea not to wear the same pair shoes/trainers every day so you’re feet don’t start to smell). Some days, my stomach will churn from the smells that inevitably waft over. What should I do - I am worried if I tell my boss to talk to them, he will mark me as a troublemaker/overly sensitive. To make things worse, one of them sits opposite and puts his feet under my desk, so the, let’s be frank, absolutely awful stench is right under my nose! :? It’s not just feet by the way, we are talking the full BO experience. I was at a interview recently. When being asked for expected salary. I mentioned a number lot more than what the company was expecting. It’s already been a week and I haven’t received a response from them. I really really love the company and the project they are working on. I would love to to contact the HR personal and tell that I am interested in the position even if it means less money. How do I approach the situation? I don’t want to mess it up more than I already have. 🙁
Episode 130 (rerun of episode 87): Stand up and fight! and Metrics
This is a rerun of episode 87 from December 14, 2017. In this episode, Dave and Jamison answer these questions: ‘I’ve been working on a project for the past year with two other senior developers. One of them is the lead, and the other, is my peer. We all have a lot of respect for each others opinions and resolve our engineering disputes amicably. My problem is that sometimes my peer will just give up saying ““have it your way”” etc. I want to have it out with him and evaluate each solution on its merits. I’ve considered saying ““STAND AND FIGHT YOU MANGY CUR””, but then looked up ““Mangy Cur”” and decided against it. How do i get him to be more vocal about his opinions? (so that i can prove to him that i’m right) I like the idea of measuring things, but I also feel like work “metrics” are easy to game and hard to make indicative of actual quality work being done / product being produced. In particular I worry when the data collected leads people to choose work that will bump stats rather than lead to better end user experiences / product / maintainable code. What kind of data do you think is useful to collect in terms of developer activity? Can you share some examples of ways you’ve been able to assess your own and your coworkers productivity? I’m interested in this both on a team level and a personal one. How can I get better if I don’t have a way to track what “good” is for myself? Is trying to turn the complicated and messy thing that is what I actually do all day into a trackable, data driven domain a fool’s errand?
Episode 129: Office romance and What to say during one-on-ones
In this episode, Dave and Jamison answer these questions: I recently started working at a small dev shop. Somewhere along the way I may or may not have started seeing a coworker outside of work. It’s really been great but there are no clear examples of how the organization would react to something like this. We have fairly lateral positions and there are no written policies or anything in the handbook. Even so, we’ve been doing our best to act “business casual” when we run into each other during the day. We don’t work directly but it’s a smaller company so the chance is pretty good that we eventually will. It’s been fun to navigate so far but wondering what your take is on this/the pros and cons of telling trusted coworkers or management. Thanks!! I’ve been working as a software engineer for several years now. In my current job I have fortnightly one-to-one catchups with my manager. My problem is that I very rarely have anything to say. My work is going fine, I’m happy enough with my job, and I don’t feel like I really need help with anything. I feel as though not having much to say reflects poorly on me, giving the impression that I’m uninterested or that I don’t value my managers input. What is it we should be talking about?
Episode 128: Finish The Degree In Poverty? and Hiring Insecurity
In this episode, Dave and Jamison answer these questions: I’m working for minimum wage as a full Systems Administrator at a State University while I’m taking classes. I really like working here, but I need to make at LEAST 40K /year to justify this level of effort for much longer. I just got offered a job two hours away for 80 - 100K as a System Administrator at a smallish ISP. The same day my boss told me he got approval to hire me on at 45K in 3 - 4 months. If I wait and stay I’m not making what I feel I’m worth, but if I leave I’ll make WAY more money and probably won’t finish my bachelor’s degree. I already have 5 years of experience as a ““system admin”” but I want to move over to technical project management in the next 10 years. I think I should stay, make less money, continue growing my relationships in the Scholastic Network, and finish getting my Bachelor’s degree. That way I can get past HR checks to become a Project Manager somewhere else. What should I do? I’ve recently become the technical lead at my company. I need to build my team more but am struggling with one thing. How do I overcome the fear of hiring someone better than me who could potentially overtake me as the team lead? Is this a common fear among leaders? I want to build an effective team of high caliber developers. But I can’t do that if I let my ego and insecurity get in the way.
Episode 127: Leaving a Job I Love and My Role Is Being Eroded
In this episode, Dave and Jamison answer these questions: Hey guys, I love the show! Thanks so much for keeping episodes coming every week. Some background: I work for a small, established company based in a small city with a growing tech scene. We have about 20 employees, 5 of which make up the engineering team and it’s been a great experience. My role is primarily being a full stack developer working on our web application, but since we’re a small company, I’ve been able to explore some other responsibilities like analyzing data for the marketing team and working with the sales staff to build custom solutions for select clients. I started working here as an intern while still in college almost 6 years ago. I feel my initial salary out of college started a bit low, but I’ve received an 8-10% raise each year I’ve been a full time employee (without having fight for them)–so I think I’m catching up. My question is, will I be stunting my career or making myself seem less hirable by staying here too long? I’ve clearly found a great place to work so leaving here would be difficult. I’m also concerned that I’m beginning to run out of skills to acquire here. It sounds easy to leave a job you hate, but how/when should you leave a job that’s this good to you? Hi Jamison and Dave, tl;dr: The role I was originally hired for is slowly being eroded - what should I do? Longer version: I have been working for my current company for a little over a year now. Things were going really well at first, I liked the team I was on, the work (backend) was interesting and I was learning a lot from my colleagues. Unfortunately, due to corporate machinations, my team was dissolved as part of a reorganization and scattered to seperate, mostly frontend focused, teams. Originally I was told that I would still be doing effectively the same type of work on my new team as on my old, and this has been mostly true. However, over the course of the last few weeks my new manager has gradually been announcing changes in the direction the team is taking as a whole and talking to me specifically about working more on frontend related tasks and upskilling, as I have almost no frontend experience. I have tried to make it clear that I have no interest in doing this but my manager is still pushing for it. I am currently still doing mostly backend work with a little frontend, but I feel like my days are numbered. There are other teams with a more backend focus, but I feel that my manager partly wants to keep me in the short term for some necessary backend work and in the long term is hoping I will acquiesce on doing more frontend work. How should I navigate this situation? It feels like I sinking in quicksand Thanks
Episode 126: I'm underpaid and Game Industry Bonuses
In this episode, Dave and Jamison answer these questions: One of my friends recently was hired at a salary 20k more than my own, even though we are at the same level. This caused me to re-think whether or not my company is paying me fairly and planted seeds for making me leave for something better. So the question is: how does one gauge “average salary” (other than at say for example glass door.com) for one’s city and should I interview for a higher salary and come back and ask for a counter offer? How will I be viewed if I did such a thing? I’ve been an engineer in the video game industry for 10 years. I’ve worked for 4 large game studios and at each one the story has been the same. Once it comes time to release our game, the crunch time kicks in. Often the need to work overtime is implied, but on my current project the company president directly spelled out that ALL engineers would be working a minimum of 60 hours per week for AT LEAST six months. In the past I’ve chosen to jump ship before it gets that bad, but I really wanna see this project through to the end. We’re all salaried employees and so far we’ve received no compensation for our overtime hours. No comp time or anything. The only carrot that has been dangled is that ““it will be taken into consideration during bonus time””. How much is reasonable to expect as a bonus for this much overtime? 10% of my annual salary? 50%? A firm handshake and a swift layoff? Thanks guys for any advice you can give!
Episode 125: Brainstorming sessions and Slack Ettiquette
In this episode, Dave and Jamison answer these questions: Hey guys! Do you have any tips for making ““brain storming sessions”” more bearable? In my experience, I’ve found that it’s very hard to keep this type of meeting productive. I don’t think this is necessarily anyone’s fault, and I love the idea of making sure all sorts of folks have a path to contribute, but many times when I’ve seen these types of meetings organized, many participants don’t have enough context, or subject matter expertise to produce genuinely helpful ideas. I think it’s really powerful when cross-discipline teams collaborate well on a project or feature, so I guess I’m wondering if there are practical ways to generate the culture of trust and mutual respect that is needed for this to actually work. First time question asker, long time listener here. We have a Really Important Problem at work: in Slack, people tend to use @channel instead of @here. What are some strategies for educating everyone that they should be using @here and not @channel? I especially don’t want anyone to feel shamed or called-out in the moment. Thanks!
Episode 124: Pair Programming Pain and Side Hustle CEO
In this episode, Dave and Jamison answer these questions: I joined a new team that has a different way of working, which has exposed a lot of my shortcomings. On my previous team, collaboration was limited to discussions around architecture and strategy; after reaching consensus, we’d implement the components independently. I was very comfortable with this because I don’t have good intuition for how to interact with others. On the new team, we pair-program. Teammates have pointed out mistakes I’ve made while pairing, such as trying to control the mouse when they are in the middle of doing something or investigating something on my own computer without communicating what I’m doing. On this team, we are also expected to be much more engaged in group decision-making. As a result, I’ve made tons of mistakes in how or when I pose questions. Each time I make a mistake, it increases my self-loathing. I tried telling myself that I didn’t have bad intent when I made the mistake and the only way to grow is to make mistakes. I also told myself that this self-loathing doesn’t do anything for the team. I also do a personal post-mortem on each of my mistakes because I thought that would help me move on. These approaches didn’t work and my confidence has dropped substantially. I know it’s essential for me to learn how to work effectively with others instead of staying in my comfort zone of heads-down coding. Do you have suggestions for how to get through this learning process without letting it affect my self esteem and motivation? Hey Soft Skills Engineering, Love the podcast! You’ve helped me understand so much about the software engineering career field that I probably would have otherwise learned the hard way. I’ve been working at my current job for almost 4 years. The pay is very much below market (it’s a non-profit), the work is too easy, I can finish any task in a couple of hours, but we are given an automatic 1 week+ deadline to finish anything, and I’m much more technical than any of my co-workers, to the point where I can’t even have nerdy conversations with anyone at work. However, I’ve stuck around because the job is pretty much stress-free, I don’t have to think about work at all outside of work hours, and all the free time allows me to take on side-projects and learn new technologies, including every level of software development. With all this free time, I’ve started a company. In the last few months, I’ve managed developers, designed a system using blockchain tech, designed and implemented a database, learned the ins and outs of AWS management and server-less development, built a REST API from scratch, developed a full front-end in React/Redux, and learned a ton of other things. Since I’m in the prototype phase, my startup hasn’t gotten any revenue, and I’m aware it might take awhile to get any revenue if it ever does. I need to pay bills, and I need to start thinking about my financial stability. So I think it’s time to get a new job, even if it means not having as much freedom to work on the startup. I’m not sure on how to approach my next step. I want to continue working on the startup after I get a new job, but I’m aware that employers might not be fond of “CEO” on my resume when there’s no end-date on the position, because I might leave at any time if my company grows. If I don’t put anything about my company on my resume, then it seems like I have nothing to show for all the technical skills I claim I have (since all the learning, management and implementation has all been for my company). Do I put anything about the startup I’m working on in my resume? If not, then how would I showcase all the experience and skills I’ve gained by beginning this startup? Should I just keep getting by paycheck to paycheck while I build the company? Thanks
Episode 123: Salary Promise Fail and Slacker Coworkers
In this episode, Dave and Jamison answer these questions: Great podcast! Love what you guys are doing and very happy that you are doing this for such a long time! Here’s the question. I started to work in a Startup a year ago. When we were negotiating the salary we agreed on amount X, and CTO promised that after a year it will be increased. He did say the exact sum. So, the year has passed, I followed up CTO about the salary raise, and he delegated the task to the manager, who decided not to give me a raise. When I asked ‘why?’ he said that I am good at negotiating my salary and I’m getting what the market is offering. I don’t feel bad about not getting more money, but the fact that the CTO break his word concerns me. I don’t think I can trust this company when they are promising anything and I started to care less about what I’m doing here. Am I delusional that a programmers salary has to increase even by 2% on a yearly basis and how to find a way to trust company in the future? Or just drop this and take the default SSE case - look for another job? Thank you for your answer. Hi Dave and Jamison, Absolutely love the show. I share an office with a peer who works on my team. We are both early in our career and are lucky to work under a very hands off manager. However, I feel my peer is taking advantage of the situation and is slacking off. He is rarely in his office and often states that he is ““working”” from home. When he graces us with his appearance in the office, he asks the most basic questions. Granted, those questions are internal and specific (not easily Google-able), but still, I feel he should have known the answers after a year on the job. He intentionally exploits our monolith’s slow builds by running full builds all the time and complain that it is slow. Then plays video games in the office until the build is complete (about 4 hours). Then makes a minor change in his feature code and kicks off a full build again, even though he could build incrementally (about 2-3 minutes). What do you recommend me to do? Should I spend time and energy to answer his lifeless questions? Should I confront him?
Episode 122: Too Much Process and Negotiating Salaries with Multiple Companies
In this episode, Dave and Jamison answer these questions: Is it just me or does systems like Jira and TFS get managers to go crazy on processes? We have TFS and management has created a convoluted mess of processes that takes forever to learn and gets changed on a whim to be replaced by an even more convoluted process. Every time I finish a large feature and need to merge it in, I have to run around asking ten people on what process changed since there are all sorts of permission denied and other strange error messages. In my previous job, same with Jira and Jenkins. As an engineer, do managers really need these crazy processes that get in the way or am I naive engineer who doesn’t really understand the value of these processes? Just wanted to preface by saying that I absolutely love your podcast. It’s definitely helped me mold into a better developer and team player! My company is having a tough time raising our next round. In light of this, I am actively looking for my next position. Financial stability and growth is my biggest concern as I am planning to get married, buy our own place, and have kids. My goal is to interview at multiple companies and get competing offers. From a hiring perspective, I can definitely see how companies and see this in a negative light. How do I navigate salary negotiations so that I can get the best deal (financially) without being stereotyped?
Episode 121: Working Remotely Without Hating It and Managing Rotating Engineers
In this episode, Dave and Jamison answer these questions: I used to work totally remote, but found myself absolutely hating it. The lack of office culture and human interaction. The problem is that in my area there are few local development jobs that match my skill set. I work in a large but heathcare heavy town, and their tech does not blend with my skill set. All to say. When it comes time to find my next job I’ll probably be looking for remote again. How can I come to love remote jobs, or at least survive? Maybe my previous companies remote culture was terrible. Is there any advice you can give when evaluating a remote culture at a company? Love the show! I had a question on how to effectively manage of team of engineers who have only partial allocation to my project. I am a project & technical lead for a team of ““8 FTE””, which is composed of a rotating cast of engineers who are allocated to my project in small percentages (most commonly between 30-80% of their time). This has a lot of challenges which you can imagine, but the one I am most interested in your thoughts on is the struggle with other projects about ““whose deliverable for a given engineer has priority””. As an example an engineer with 50% time on my project and 50% on another project will give me feedback that his immediate tasking between projects is unclear, he knows he has to do both workloads but feels they are uneven, or he is under more pressure from one project than the other. My company stack ranks during performance reviews and competition between leaders of matrix organizations (such as myself) in particular is fierce, so discussions between projects on how to effectively tackle this problem does not yield constructive agreements (in my experience). I’m at times guilty of trying to ““squeeze”” more than my designated allocation out of engineers to deliver on agreements for timing, scope, etc. Any thoughts are appreciated!