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 240: Under-leveled in the big leagues and pushing back
In this episode, Dave and Jamison answer these questions: Questions I became a software engineer 4 years ago after graduating from a bootcamp. I then worked a few software jobs in middle America. About a year and a half ago, I got a job in a well know tech start up and moved to a big city with heavy software/tech presence. Before I moved, I suspected I was good at software engineering, and after working in this tech startup “in the big leagues”, I confirmed my suspicion by quickly becoming the go to engineer for the team. I just finished a project that delivered a major tech component of our core system, and received lots of kudos. Because of this I suspect I was mis-hired for my current level; this is the first job that I can compare myself with more than 10 software engineer peers, and evidently I am above average. I used to tell myself I was not that good because I didn’t work at a “real tech company.” I am pretty certain I will get promoted in the next cycle, but how can I land my compensation to be above average in the pay band as well? Should I share my feeling that I was mis-hired in my current position? How do I push back the work I do not really want to do while still being a team player? My manager assigned me a project that I do not really want to work on and when I try to push back, he said he finds me the best person that suits this. I ended up doing it since I want to be a team player, but I don’t believe it will benefit me in the long term in the team. How can I push back to my manager in other occasion in the future? Thanks for your podcast, it has been very amazing.
Episode 239: Hustle and patents and toxicity
In this episode, Dave and Jamison answer these questions: Questions Really love the podcast. Keep it up! I’m in a senior role at a software company and have been here over 5 years. I have come up with a SaaS product idea after finding a problem in my company’s engineering process and started working on it. It solves a niche problem in general software development so it isn’t related to my company product. I would like to use this product at my current company both to help me manage the technical issues at my current company and to help validate and grow the idea. Should I have any concerns with what I’m doing? Can my company claim my idea as it’s own? What should I be doing now to protect myself? Any other things I should consider? Does it make sense to validate a new side hustle idea at a company while working full time at said company? Please help soft skills wizards: Junior eng at a huge conglomerate, quit mid-patent process (OK I HAD A PRODUCTIVE TUESDAY A MONTH AGO and I’m pretty good with mermaid.js). If they come back with a job offer post-departure, since I am the sole inventor on this patent, how do I properly handle this one? My manager was…. extremely toxic and every attempt that was made to move was botched either by CoViD-19 or my chain of command. I don’t think I could feasibly have a positive interaction with my former manager and working under him has had a significant impact on my mental health. But…. I loved my work. I loved some of the people I worked with. Sometimes it being a huge conglomerate had its upsides as well: I was able to bend the rules as long as the bureaucracy had prevented someone from implementing the visibility that would have demonstrated the rules were bent. If they give me an offer to return as a junior architect I would be very tempted to do so, but would be afraid of being anywhere near my former manager, director or VP.
Episode 238: Naughty team and quitting after 2 weeks
In this episode, Dave and Jamison answer these questions: Questions A few years ago, my current company did a big no-no which turned into a scandal that made national headlines. When I was considering joining, I said it was important for me to feel ethically aligned with my work, and asked about how things had changed since The Incident. They told me they stopped doing bad things, and I accepted the offer. Well, during my time at the company, it has slowly been dawning on me that my team is THE TEAM in question. I finally gathered the courage to ask a coworker, and he confirmed that this was true, and that there’s more designs coming down the pipeline that he and other devs are uncomfortable building. He brought it up with our manager and he was basically told “business is business”. As devs, we don’t make the decisions. And our golden handcuffs are really shiny. Should I leave, stay and try to influence change from the inside, or stay and maybe be a whistleblower one day if need be? I think I made a horrible mistake. I gave up an undesirable job for a fairly large tech company, and joined a Drupal agency. These two weeks have been the longest year of my life. I haven’t written one line of code, and the Drupal admin is incomprehensible. Since it’s only been a (relatively) short time here, how do I get back in the job market without looking like a chump? Do I remove it from my resume? Do I own it like a hideous tattoo? What do I tell hiring managers; whether its a gap in my resume, or that I want to leave after only 2 weeks? Any and all help is appreciated. Thank you!
Episode 237: Salary vs tech stack and how to quit an ad agency
In this episode, Dave and Jamison answer these questions: Questions I am REALLY into music. I mostly get paid to listen to Spotify. With this in mind I decided to apply for a new job at a “globally leading audio technology company”. The job would be paying a lot more. About 30% more minimum based on the advertised salary range. However, I hate the stack being used! I have been given a homework assignment to complete, but it has not been an enjoyable experience. I enjoy my current job, however the company doesn’t seem as stable, and their are complications with tax/benefits which i won’t get into. So to summarize, should I take the classic SoftSkills engineering advice and quit my job for a sweet pay check and an interesting industry, to suffer the stack? Maybe I will learn to love it? Any advice? I’m at my first developer job at an ad agency, and on a regular basis I and my co-workers are working well in excess of the 40-50 hours a week (closer to 60+). On many occasions we work the weekends as well. I’ve worked on websites, a couple of apps within a proprietary system, banner ads, and html emails. I’ve learned as much as I’m going to at this job. There are no code reviews, no training, and no on-boarding. I no longer want to work at the agency, but I can’t afford to just quit my job. Given the perceivable lack of transferable skills(recruiters have said this to me, ie no product experience), what are some of my options? Mind you, I also don’t have a fancy CS or CS-related degree that I can leverage. Show Notes https://en.wikipedia.org/wiki/Knuth%27s_up-arrow_notation http://boston.conman.org/2003/12/02.3
Episode 236: Making mistakes and Lowball offer
In this episode, Dave and Jamison answer these questions: Questions Can you talk about making mistakes at work? How do you handle it, how do you frame it when you talk about it, do you try to minimize or be honest about it, how soon is it to pretend nothing went wrong and you’re doing great, etc. Thanks! Hello there, Huge fan of the show here, I often laugh hysterically listening to it on long commutes and people think I am on drugs. I just finished grad school in a foreign country and i am in the middle of negotiating a job offer with a company whose field of expertise is my passion. All seem to be going well and i have a feeling that the company is hugely interested in me. HOWEVER when we arrived at the salary subject i found that WAN… WAN… they want to pay me a fresh graduate salary even though i have 3 years of part-time and 1 year of full-time development experience abroad; i know their decision is not based on my skills as i did not even have to do a technical test (we mainly talked about the tools i used in the past and the work i did related to that field and it was convincing enough). As i see the situation, I have 2 options of either take their offer and use it as a learning experience before switching to a well paying company or say No and go on Vettery? Let me know what you would do in my case. Merci Show Notes Patrick McKenzie’s article on salary negotiation: https://www.kalzumeus.com/2012/01/23/salary-negotiation/
Episode 235: Bus factors and toxic time bomb
In this episode, Dave and Jamison answer these questions: Questions I work as an IC in a team which owns 3 very different and large parts of the system. Our team is 4 experienced engineers and 1 intern. Historically each person was assigned to a single part and, as you might expect, we have a bus factor problem. With this layout we’re making as much progress as possible and it helps us to compete on the market but creates a dangerous situation if someone would decide to leave (spoiler: I will). What would you do if you were IC, team lead or a manager in such a team? We’re already exceeding headcount so it’s not an option. I am a developer with 1.5 years of experience, and was put on a greenfield project to rapidly develop a new application. We have a contractor that came onboard to help with the process. On the very first day of meeting this person I noticed their propensity to not allow anyone else to talk and interrupt. Fast forward several months and this person has really become a micromanager, they’re requesting the source files from our UI contractor, they got another person kicked off the project because they didn’t like the changes they were making interfering in their development process, they have constantly hoarded all the real dev work and work frequently until 9pm. I have voiced my concerns to the PM, mainly about the bus-factor, since layoffs are likely coming and this person likely won’t be converted. At this point I am just tuning out on this project. I do the scrap issues the contractor basically doesn’t want, but I am seeking learning opportunities elsewhere within the company and have nearly zero interest in the project which I see as a ticking time bomb. What would you recommend? I could potentially escalate the issue to the manager of our team but I basically see working with this individual as toxic and the PM as autopiloting to the finish line. Show Notes https://www.computerworld.com/article/2534312/the–640k–quote-won-t-go-away—-but-did-gates-really-say-it-.html - apparently the bill gates quote is apocryphal
Episode 234: Job hopping and untenable counter-offers
In this episode, Dave and Jamison answer these questions: Questions How can I stay at a job for a long period of time? I’m on my second job after graduating and as I’m approaching my first year at this company I’m already thinking of moving somewhere else. A similar thing happened at my previous job where I stayed for around 15 months. I feel that by switching companies so often I’m hurting both my personal development and future employability. At the same time the easiest way to get a better role or a raise is to switch jobs. What should I do? Have I just not been lucky enough to find a company that offers better career progression which would give me a reason to stay? Is the problem with me? How did you deal with this in your own careers? How about when you’re making hiring decisions - are you wary of hiring frequent job switchers? Great podcast btw, keep it up Is firing the new counteroffer? A junior dev on my team confronted us with an offer he got from another company. He is already paid at the limit of his range, his upcoming performance review is “not great, not horrible”. The amount offered to him would put him in our lower senior range and there is no justification for that at all. He made it clear he is in a complicated financial situation (got his bank account emptied and credits maxed out). I don’t see a path to him getting close to the salary he got offered in the next year or even longer. We are not a company that fires people if they do not grow at a certain rate, but given his situation he is probably not going to stick around for long. He also made it clear he would like to stay if not for the salary, but now I am thinking it might be the best for the company to fire him, maybe even for him. Is that cruel, which other options am I missing? Given your eternal backlog of questions your advice is probably coming late, I would still be interested in it. Thanks for all the other advice, it’s both entertaining and very helpful. Best from Colombia
Episode 233: Manual unit testing and WFH demotivation
In this episode, Dave and Jamison answer these questions: Questions 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? 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
Episode 232: "Junior" developer and NDA'd
In this episode, Dave and Jamison answer these questions: Questions 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. 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?
Episode 231: Freedom for me not for thee and optimizing for growth
In this episode, Dave and Jamison answer these questions: Questions 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! Do you think that a job that helps you constantly grow is more important than a job that promises titles?
Episode 230: Not seeking promotion and taking code
In this episode, Dave and Jamison answer these questions: Questions Taylor asks, Is it frowned upon to not want to be promoted and get more responsibility? I want to keep a good work-life balance but feel that saying so will have my manager think less of me. Hi Dave and Jamison, love your show! The time has come to quit my job and I am wondering if I should keep a copy of the scripts I wrote for the project?
Episode 229: Other people's code and moving into product management
In this episode, Dave and Jamison answer these questions: Questions I have been working at a large tech company for two years now, after I graduated college. My job title is ““Software Engineer””, but I have barely written any code on my job in the past two years. I’m on a product team that doesn’t own any infrastructure, and when the product managers want us to build something, we find out which teams in the company own the infrastructure and stitch a product together. We often get push backs because usually the infrastructure we need to build a product belong to some entirely different team who do not have stakes in the product we’re building. I am worried that my coding skills are deteriorating, since most of my time at work are not spent on coding. For example, meetings where people hash out how to do something in a system none of us are familiar with, chasing down people in other teams to ask them to squeeze out time from their busy schedule to help my team, and completing process paperwork. On the rare occasions when I do make code changes, it’s been copy-and-pasting another section of the code/config and changing a few parameters. It seems to me that success on this job depends mostly on knowledge of the different internal systems, as well as the social capital of knowing people on different teams. Is this normal? Is this what software engineering is about? Hi there! Love the show and your fun but useful answers. I have a career question and would love to hear what you think. I’ve been an Engineer for several years now and was recently asked if I’d like to move into Product Management. At first this sounded great. I’d get to set the direction of the product, get involved with strategic planning and roadmap meetings, and generally have more input into my squads work. The thing is … that isn’t what it is at all. Most of the time I am fielding requests from marketing and sales people for sales collateral, sitting on customer calls, and digging through dashboards to find enough ‘evidence’ to prove why we should prioritize the backlog the way I have in mind, and I have even become the ‘bad guy’ when the squads ideas don’t line up with the Product team. Have I made a terrible mistake? Is Product Management really a good move for Engineers?
Episode 228: Unpaid team lead and banking hours
In this episode, Dave and Jamison answer these questions: Questions I’m a team lead right now, but I’m leaving the company. When I discussed with my manager, I recommended a team member to take over my position and suggested raising his salary. In the end, the manager asked that team member to take over as team lead, but refused to raise his salary or even give him the title. He said he needs to prove that he can take responsibility as a team lead. Then he will get the title and raise. But I feel they just want to procrastinate and save the money. What can I do to help my team member fight for the title and raise? Hi Dave and Jamison. You have a great show and I really enjoy listening. I am currently a software engineer at a small/medium sized tech company in the healthcare industry. I was recently asked to interview for a similar role at a pretty large hedge fund. I am wondering if there would be a big culture shift if I were to end up making that change. I am under the (possibly inaccurate) impression that for bankers something like an 80+ hour work week is common. I’m wondering if this impression is accurate, if it extends to the finance industry as a whole, and how much it extends to developers rather than bankers/traders if so. I also remember you guys mentioning in a previous episode that video game developers also typically work long hours. Are there other industries where this culture is typical?
Episode 227: Junior expectations and manager flakiness
In this episode, Dave and Jamison answer these questions: Questions What should I expect from a junior develop, and how can I help them grow? A junior developer joined my team of 4 a few months ago. He has learned things at a reasonable speed but it is still hard for him to implement new features without any help or existing code to copy. In past jobs, I usually gave juniors simple, easy tasks, but we don’t have that simple tasks in my current job because we’re working on complicated internal systems. Also other junior developers spent lots of their private time learning. I don’t think this junior has spent any time learning in his private time. I don’t want to ask them to learn in their private time, but I just can’t help feel annoyed about the fact that he still cannot pick up a well-defined task in our backlog and complete it by himself. I think he really needs to take some time learning some basics like networking and some skills like keyboard shortcuts of text editors. I know there is lots to learn. However, sometimes I lose my patience when I have to repeat myself. In addition to lack of knowledge and skills, I feel that he always waits somebody to tell him what to do and explain everything to him. I tried to tell him the whole picture of the project before explain a specific task, but I couldn’t see any improvement. What could I do to help him (or make myself feel better)? I’ve worked with 3 managers in the past 2 years at my first company and all of them seem to have trouble producing results from team meetings and one on ones. More specifically, my managers have mentioned things/events/changes they would plan to do with the team or me and several weeks/months go by and the idea is never mentioned again. At times it felt like maybe it was me that was unable to produce the outcomes of said ideas or that maybe I was some sort of a lost cause. However, my most recent manager doubled the ratio of ideas:results, so I don’t think it’s just me. For my one on ones, we have a long running list of things we talk about and even the trail there doesn’t seem to amount to anything. How do I hold my manager accountable for things they say or plan to do? How do I bring up these conversation on one-on-ones without making it seem like I’m the one managing them?
Episode 226: Declining job offers and being the outside hire
In this episode, Dave and Jamison answer these questions: Questions How do you politely decline job offers that you never intended to accept in the first place? I’ve been trying to interview more often recently to keep my interviewing skills sharp and check how employable I am. I always struggle declining the offers politely. What usually happens is that I set high salary expectations hoping that the company refuses me, but sometimes they do match it and I end up in an even worst spot. Any tips? Should I come clear earlier in the process? I was recently hired as a Staff Engineer at a large tech company. After joining the company I was told I was the first outside Staff Engineer ever hired into the organization and the expectations for me were very high. After the first month I noticed that coworkers were acting strange around me and less responsive to my ideas. During a 1:1 one of my coworkers specifically stated that he and several others have been at the company for 5 years and were passed up for the promotion I got and were upset that an outsider was hired. Based on this they would be watching me closely. I’ve talked to management about the conversations and their feedback has been to try to “make friends”. I am the most Sr Engineer in a group of 15 engineers who work across 5 different teams. The situation is turning very toxic where the other engineers are trying to “one-up” me in effort to obtain the promotion for the next cycle. What do I do?