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 195: Ad-hoc promotion and quitting a huge company with Charity Majors
We’re excited to have special guest Charity Majors on the show! Charity is the CTO and former CEO of Honeycomb. She has worked at Second Life, Parse, Facebook, and more. She blogs at charity.wtf. Dave, Jamison, and Charity answer these questions: I’ve had the role of tech lead informally for the past two years at a fast-growing tech startup. We were a team of 6 developers, and now we are 16. Recently, we had a department meeting in which the Software Development VP communicated that we have 3 teams and I was the tech lead of two of them. I was surprised. He hasn’t mentioned his decision of splitting the teams nor that I’ve been officially promoted to tech lead. I was expecting a one-on-one where he would “pop the question”: Will you be my tech lead? I asked him privately if that meant I would be officially promoted and would have my title changed. He said that he was going to have this conversation with the HR Manager and would get back to me, but potentially. He doesn’t spend time on one-on-ones, nor is he very good at managing people although he’s good technically. How weird is this situation? A manager tells his team that they now have a tech lead along some org changes. I haven’t been informed, haven’t had my title changed yet, and haven’t been offered a raise yet. Hi! I love your show and have been listening to it almost since day one. I was an engineer for about 10 years, and I’ve been a manager for about 1 year, and I love my team. They’re high performers, we have a high level of trust. I also like my boss! But the larger org has some issues, and in time-honored Soft Skills Engineering tradition, I plan to quit. I would like to stay in management. So I have these questions: 1) My employer is a very large public company. How much should I care about negative headlines and Wall Street’s opinion? 2) How long should I stay in my role as a manager before looking for a new job? 3) How do I message this to my team when I leave?
Episode 194: Leveling up through speaking and negativity
In this episode, Dave and Jamison answer these questions: Hey friends, thanks for such an entertaining show, I look forward to it every week. My question relates to ‘leveling up’ as a developer. I’ve been getting nice feedback for my work on projects and the blog post updates I’ve been writing along the way. This has been noticed by colleagues, managers and the local meetup organising committees in my city. I have now been asked to speak at a number of events internally and in the community. While I am very flattered they enjoy my writing I am not interested in hitting the local ‘speaking circuit’ and would prefer to focus on building, writing and mentoring without getting up on stage. Is it ‘ok’ to say no to speaking when it simply does not spin my wheels or is this a mandatory ‘thing’ I must get on board with to progress my career? I am a tech lead on a team where, for the most part, people are friendly, optimistic and professional. There is one engineer who is mostly upbeat and has shown real potential but in certain contexts, e,g, retros and the odd technical conversation becomes a crippling black hole of negativity. The person in question is quite young, relative to the rest of the team, has only ever worked at our company, they are well compensated and have great opportunities to work on exciting green field projects, every developers dream right? What could I be missing? I don’t want to lose this person but I can’t help but feel that they need to grow in maturity and somehow, despite pointed feedback, that’s not happening here. What do you think I should do to stop the chronic pessimism, which I’m afraid if not rectified soon will lead to more victims?
Episode 193: Playing the field and paying for speaking
In this episode, Dave and Jamison answer these questions: I’ve been recently looking for summer internships and I have had a couple of video interviews. I don’t consider myself an interview rookie since I’ve had my fair share but there is one question I can’t understand whether to answer honestly or not so here it goes: “Are you applying to other job opportunities?”. The question is kind of stupid since no one puts all of its eggs in one basket but on the other hand I’m afraid answering ‘yes’ will make it seem as if I don’t care about the company (spoiler alert: I don’t really care :)). How do I answer honestly to this question and at the same time make them feel like they are special? By the way, love the podcast! Hi guys! I just started listening to your show and I already have experienced a steep improvement from a puny 10x dev to 11x one. My question, if you’ll be kind enough to answer is: How do I convince my cheapskate boss to sponsor me flying across the pond to give a talk at a conference I was selected for. Should I sponsor it myself in case of a decline? Should I hint at a possible job quitting if I am declined (I am currently seeking a new job)? Should I go forward with the talk if I do quit and the content of the talk is largely about the job I did there in the last couple of years. Note, I am widely regarded as an excellent employee by my superiors and colleagues. I earn quite a bit less than my current value and I am currently back, looking for a job. That’s it from me, love you guys!
Episode 192: Giving feedback and messaging a team change
Hey, want to use Dropbox as your app’s production database? Well, check here. In this episode, Dave and Jamison answer these questions: Hello Dave & Jamison, first of all thank you for the show! I recently moved to a tech lead position and as such I will be asked by many people to provide feedbacks for performance reviews and promotions. Do you have any tip on how to provide good feedbacks, especially in the cases where you don’t constantly work with the interested people? Hello, guys! Thank you so much for the amazing content produced. I really enjoy the show. Thanks for the laughs and the knowledge.” I am a backend software developer working on a multidisciplinary team. There’s this other developer that really gets on my nerves. To maintain my sanity I am asking to change teams, and people keep asking me why I want to change. Should I tell my manager the real reason or is it better to say that I want new challenges? Maybe my manager can solve the problem and no one else leaves the team (I am not the first one to leave for this reason)
Episode 191: Overshadowed and demos and credit
In this episode, Dave and Jamison answer these questions: I’m an introverted person but am not afraid to present my work and have strong 1-1s. For the past few months, I’ve been working on a project with a coworker who is very extroverted and expressive compared to me. During meetings with higher ups to present our work and progress, he overpowers me in conversation unwittingly. Most of the time, I feel he does a good job but other times I notice that he makes claims without gathering all the data. I’m much more deliberate and will let people know if I’m uncertain about something; But he is willing to just say something outright then later apologize if he was incorrect. I want to make sure that in meetings, I don’t come across as weak. I’m pretty confident in my technical ability and am polite at work, but don’t think I come across as very approachable due to my lack of expressiveness. Is this something I should work on? Hey Jamison and Dave! I absolutely love your show and have listened to every episode. You guys keep me company on those commutes to work and keep me sane. Every quarter, we have an organization-wide demo. Usually, it’s one person demoing the feature - usually the person who has been working on it most recently. For some of the features, I put in a lot of hard work and time into the feature but was later moved off to another project after completing my part. Essentially, I wrote the foundation of the whole feature. However, everyone has long forgotten that I ever contributed to it and I only found out it was even being demoed on the day of. I feel really disappointed my efforts aren’t recognized, but is it too petty to care? From a career standpoint, I worry that the person demoing will get a lot more visibility from leadership and it will lead to faster career growth for them. What are your thoughts? Thanks!
Episode 190: Disorganized startup and leveling up the team
In this episode, Dave and Jamison answer these questions: My company is a startup and they’re super unorganized. I’m a junior-mid level engineer, and when I was onboarded, there was no documentation for how to run anything. I wrote a bunch of documentation and also made some PR templates to try and organize PRs. I’m super annoyed because things are constantly being messed with in our schema, and I don’t realize what we’ve changed until it correlates to a different issue that I’m trying to fix and then have to redo the fix because there’s this new change. What can I do to help my company? I’m a lead engineer at a small but growing startup. I work primarily on skunkworks projects. My teammate and I are feeling constantly underwhelmed by the performance of the rest of the engineering team, who are working on the core app. Their work causes limitation for us, makes the engineering team look ill-equipped, and we cant seem to make old dogs learn new tricks. How do we make it more apparent to the team, and the rest of the company, that it’s time to “level up” the engineering domain as a whole.
Episode 189: Building relationships and handling negative feedback with speical guest Jeff Leiken
In this episode, Dave and Jamison answer these questions: Hi, I’m a software engineer who’s recently been promoted to a technical lead. I accomplished this mainly through work ethic, dedication to improving my skillset, a couple of large/notable projects, and some minor internal networking. After going through the promotion process, it’s become apparent how valuable it is to establish strong relationships with peers and seniors in your field. What advice or recommendations do you have for establishing these relationships within a company and how would you go about seeking a more senior engineer or leader to mentor you? Also, thanks for all your hard work - been listening to your episodes for the past 6 months and finding them very enlightening! I just got my annual performance review at work. The overall rating was “meets expectations”, but I worked really hard this year and thought I did great work. I was hoping for a higher rating than that. Maybe worse, this means I got a smaller raise than I expected. The review contained some suggestions for improvement. I feel pretty demotivated by the whole situation. How do I get out of this funk? You can get in touch with Jeff Leiken at https://www.evolutionmentoring.com/.
Episode 188: Drama overload and agile ouroboroses
In this episode, Dave and Jamison answer these questions: I work in a charity as an iOS developer and there is so much drama in the office about anything. I am so scared to talk with my backend engineer about work that we created a non-company slack workspace. This is how we communicate, even though we sit right next to each other. Please send help. I work in a company that’s around 10 years old with 1800 employees that started implementing agile methodologies a few years ago. It was great and improved the work, but now all the agile coaches are pushing to have physical boards and doing things apparently just to justify their own existence. I agree we all should try new methodologies but shouldn’t it always be based on a problem we are trying to solve? And shouldn’t all the team be on board with the change instead of just doing it because the agile coach wants to?
Episode 187: Interview insanity and making up for lost time
In this episode, Dave and Jamison answer these questions: Hello there! To say things pretty directly, I hate the recruiting process in software engineering, especially coding tests on whiteboard during interviews. It makes me very nervous and I already missed a job opportunity because I could not handle my stress correctly. Plus I think that the problems asked in those interviews are irrelevant to the day-to-day job, which means that I need to study again sorting algorithms and tree balancing every time I want a new job. How do you deal with those interviews? Do you do heavy preparation? Do you think that the interview process is stupid too? Should the permanent access to StackOverflow be stated as an elementary dev’s right :D ? Thank you very much, keep on the excellent job :) I’m in my mid 30s and have been coding for about 20 years, I have a non-technical bachelor’s degree and have had a fairly varied career. I did freelance web development work throughout college, and then after college had a couple of different jobs as the sole in-house web developer for two different small media companies. After that I spent some time running my own web dev/design business with some partners, freelanced some more, and then finally decided to get on the career track about 4 years ago. At that point, I ended up taking a remote developer job at a small company of about 8 people with no real hierarchy or management structure and worked there for 3 years. About 6 months ago, I moved on from there to what now feels like my first “real” job at a tech focused company (still remote), and while I’m happy with the work and compensation, I’m realizing that I’m at the bottom of the software developer hierarchy and there are many people above me who are a fair bit younger and, I assume, less experienced than I am. I don’t mind being subordinate to younger devs, but I do feel like my career is a good 5 or 10 years behind where it should be because until now I haven’t worked in an environment where it has been possible to earn a senior, lead, or management title. I’ve been coding for a long time and am very interested in moving up the ladder, leading a team and working more at the product level. Do you have any advice for how I can accomplish this quickly and make up for lost time - especially considering I’ve only been here for 6 months?
Episode 186: First job negotiation and am I a senior engineer?
In this episode, Dave and Jamison answer these questions: Hi! I am 29 years old and a couple of years ago I decided to turn my career around by going from teaching history to frontend development. After 2 years of education I am now doing my first internship in small but established company. I have the feeling I will soon be offered a full-time position. How can I ask for the best job offer (salary-wise) accordingly to my age but few experiences? I don’t want to be perceived as ungrateful, nor be exploited and get underpaid. How do you know that you are a senior engineer? Not just the title you are given, but when do you really feel like one? Some people relate this to experience, but you can be coding or doing crappy stuff for 10 years so for me this is not the answer.
Episode 185: Fragile coworkers and soft demotion
In this episode, Dave and Jamison answer these questions: Hello! I am the only principal architect in my department. In addition to technical and delivery obligations, I am also responsible for mentoring of engineers. Recently, I reviewed some very lackluster customer facing presentation materials drafted by a junior engineer (for which I provided templates and talking points) and informed them this would need to be worked again from scratch. I received verbal confirmation that the effort was indeed lacking, and that they would take a different approach. Imagine my surprise when I was pulled into an HR meeting by my manager, telling me a formal complaint was filed for my being ‘belligerent’. Also mentioned to me was that this engineer would be leaving the company because they couldn’t possibly continue to work with me. Now might be a good time to mention we are a completely remote team and this is the first negative feedback this engineer received from me (due to having only been on the team for 2 weeks at that time). This individual has moved into a different group which I work with often, but now I’m concerned about having someone on the team who cannot handle direct (but professional) criticism. How do I handle this professional relationship going forward? P.S. this engineer is nearly 40 and we are consultants in 100% customer facing roles. Hi Soft Skills Advisors, I think I may have been ““soft demoted”” at the start-up I work at. I used to be part of the senior management of the company as the most senior technical member of the staff. However, due to a series of unfortunate mistakes on my part (both technical and managerial), I seem to be no longer trusted or included in any discussions or decisions. I feel like I’m demoted from my position in everything but official title. And yet, everyone in the senior management reassures me that they still very much value all my contributions. Is it time to take the time-honored soft skills advice and “quit my job”, or am I just being unnecessarily emotional and paranoid here and it will just take some time to rebuild trust? (I’m paid a good salary and still have my stock options, etc.)
Episode 184: Indispensable and IT cold war
In this episode, Dave and Jamison answer these questions: How do you quit when you’re indispensable to the team? I am the lead developer at a startup. I have a small team of 3 developers under me. I am essentially the “person who wrote all the code”. I have an offer from another startup for more money and more percentages of the company and they want me over there asap. I’m afraid to quit this startup as I fear that it’s not yet at a place where it could survive without me. I realize that sounds super egotistical but unfortunately I don’t have a successor ATM and none of the other developers are at a level where I could potentially train them to be my successor in the time frame I have with the other offer. The other sticky thing is that the current startup probably doesn’t have enough money to hire someone at my level for what they’d actually be worth. I, and the rest of the team, are severely underpaid, as this is a bootstrapped startup. Love your show, would love to hear your guys’ take on this. I recently interned at a local factory to help clean up some broken 20 year old databases. After remaking them, I quickly became a rising star and word spread fast of my aptitude. I was offered a full time salary position, in which I was able to negotiate for some special privileges and a cool title: software engineer. I am having an awesome time building little tools for various departments while learning different languages. I’ve been very fulfilled with the projects and recognition I’ve been getting, there’s just one problem: the IT department absolutely despises me. They see my sole existence as an affront to their entire structure. I am a part of the engineering team and work very closely with product and process engineers, which is apparently hurtful to their ego. Lately, IT has been actively obstructing every project I work on and refusing many requests, sometimes with obviously false excuses. I do not have admin privileges, I have limited internet access, I’m not even allowed to have my email password. It’s at a point where I start getting serious anxiety when I need to see IT (e.g. to install a framework or IDE extension). How can I navigate these awful encounters without letting it harm my view on the rest of the job? I am feeling like I need to wage war but I want to retain my golden boy status.
Episode 183: Terrible boss code and peer-to-peer mentorship
In this episode, Dave and Jamison answer these questions: I work in a small team under 10 people on a new project that should be shipping soon. I have a manager who is leading this project, and I’m the most senior developer on the team. My manager tries to help with the project by writing code, but does it rather poorly. When he wants to implement new functionality, he creates a new branch and brews his code in this branch for 2-3 months, constantly complaining how hard it is to write code in our codebase. After he is done, the resulting code is unreadable, unmaintainable and untestable. He doesn’t write unit tests himself (which is weird, considering he was working as a QA before for several years) and usually breaks good portion of already written ones. I always have to go to his branch and refactor his code so it’s at least testable, fix broken unit tests and write new ones for his functionality. He always makes it look like our codebase is hard to work with, though the rest of the team doesn’t have this problem. How should I deal with this situation? I tried speaking to him directly, but he is pretty stubborn and thinks that he is doing everything perfectly. I can’t talk to his manager, since we have a pretty flat company and his manager is the CEO who I don’t have a direct access to. I work in a digital agency as part of team of 5 front end developers with varying levels of experience. We don’t have a senior / lead / director, it’s pretty flat. I have been told by management that we need to work on peer to peer mentor-ship because each of us have been guilty at some point of spinning our wheels on some problem when we should have reached out. The problem is we all work on different projects, there’s never 2 ““fed””s building the same site, and each site kind of feels like it’s own unique bowl of spaghetti. If you have any pointers about breaking out our code bubbles that would be amazing! Love the show, I hadn’t given non technical skills much thought but you’ve opened my brain! Thank you!
Episode 182: Lunch and switching to product management
In this episode, Dave and Jamison answer these questions: My team often goes out to lunch; I almost always bring a lunch from home. They invite me to come with them, but it feels weird, since I won’t be purchasing a meal from the restaurant. Should I swallow (pun intended) my pride and go with them anyway, or decline their offer? I would bring lunch less frequently, but it’s difficult to predict what days they are going out together. I’ve been a software engineer for 7 years and it recently occurred to me that product management would be an interesting and fulfilling field that I’d like to give a shot. Is this something I should discuss with my engineering manager or director, or other product managers at my company? While I think it’s possible these people might be able to help me, my anxious mind can think of many ways that advertising I want help transitioning out of my current role could go badly. I also happen to be fully remote, so I don’t have many opportunities to bring these things up in more casual settings. I doubt I’d be able to get hired as a PM at another company without prior experience, so getting help from co-workers or management at my current company seems pretty important. Do either of you know anyone who’s made this jump? Any tips on getting help without pushing too hard or creating problems for myself?
Episode 181: Blocked by back-end and tired of coding
In this episode, Dave and Jamison answer these questions: I recently took a job at a start-up as the only front-end developer. The distinction of front-end and back-end is new to me as all of my previous experience has been full stack development. Most of my work can only be started once a back end developer has done their part. There is only one back end developer who just so happens to be one of the co-founders of the company. Because he can’t exclusively dedicate his time to back-end work due to his other roles with the company, I am left sitting at my desk writing to you guys trying to figure out what to do with all this free time I suddenly have. I’d like to stay busy and not just look busy. I’d appreciate any advice to help get me busy again! Hey Dave and Jamison, love the show. Quit my job twice since I started listening so I’m a super fan. Long story short, I think I’m bored with coding(?). I just see everything as moving JSON around. Putting it in databases or putting it in queues or on a screen. I’ve done mobile, I’ve done backend, I’ve done front end, and it all just starts to look the same after a while. As an industry I feel we’ve solved the hard problems and now its degraded to this. What do I do next? Do I find a software product where the JSON moving around excites me (for example, a social good or cutting edge product) Do I look at something very different like embedded dev or games dev? (No JSON there!) Or do I look to tech leadership or people leadership? These options appeal but I’m just five years into my career and 26 years old and of course no one takes me seriously, naturally. However, I have been very deliberate and been very intense about my career, but now I’m feeling a bit done with coding. Team velocity problems interest me more than JSON APIs. People interests me more than code. I’d love to hear any of your thoughts on this! Thanks :D Keep up the great work.