SimpleLeadership Podcast podcast

SimpleLeadership Podcast

Christian McCarrick

SimpleLeadership specifically focuses on improving the craft of software engineering leadership. As a VP of Engineering & CTO I am acutely aware of the lack of good resources available for new and existing software engineering managers. SimpleLeadership is designed for both new and experienced software & technology managers who want to build high-performing teams, better motivate & mentor their employees, reduce attrition and advance their career. It is for people who want to go beyond just being a manager and become a true leader. In this interview based show I ask each guest to share their journey from individual contributor to software engineering manager and provide any guidance on the transition. The SimpleLeadership Podcast will present real and actionable stories from people who have navigated their way from being an individual contributor into a software engineering manager. We will also hear from experts on specifics of team dynamics, motivation, feedback, leadership and many more aspects of being a successful engineering manager.

76 episodios

  • SimpleLeadership Podcast podcast

    Diversity & Inclusion in Tech with Christine Awad

    40:55

    What are the challenges that accompany being a woman leader in technology? How can you be an ally for women in your workplace? How do you overcome imposter syndrome? These are just a few of the questions Christine Awad—the Director of Engineering at Facebook—so kindly answers in this episode of Simple Leadership.
  • SimpleLeadership Podcast podcast

    Engineer Your Teams for Impact with Ashish Aggarwal

    41:12

    How do you build an engineering team of A-players? What does a well-rounded high-performing team look like? Why is engineering for impact more important than solving hard problems? In a world where engineers are looking to pad their resume and solve cutting-edge problems, Ashish Aggarwal shares the one thing that is far more important: solving your customer’s problems. In this episode of Simple Leadership, he walks through building high-performing teams, solving customer problems, and the best way to maintain technical excellence. Do not miss this one.  Ashish Aggarwal is the Co-Founder and CTO of enterprise SaaS management platform, Productiv. Prior to founding Productiv, Ashish was the VP of Engineering at Postmates, where he built and led a team of over 130 engineers to develop all technology for the food delivery marketplace. Before Postmates, Ashish led product and engineering teams at Amazon, where he helped build and launch Amazon’s own Freight Transportation Network in North America, Europe, India, and China. Ashish has also held senior leadership roles at eBay, where he built the e-commerce platform’s checkout experience, and at Microsoft, where he built the enterprise conferencing solution, Skype for Business. Ashish holds a Bachelors in Computer Science from the Indian Institute of Technology, Delhi.  Outline of This Episode [1:14] Ashish’s background in the space [3:46] The transition into a management role [6:15] What Ashish has learned from years of management [12:11] What does a well-rounded high-performing team look like? [16:49] High-performance teams don’t happen overnight [20:55] Solve high-impact problems—not hard problems [24:50] Solve short-term problems versus taking shortcuts [29:18] How to maintain deep technical excellence over time [33:43] How to find success with a smaller company [37:29] Amazon's leadership principles [40:02] How to connect with Ashish Aggarwal What Ashish has learned from years in management Ashish notes that he made the typical mistake of not letting go. He struggled to trust that his team could take control. He admits that he needed to let go of the notion that he was the smartest person in the room. Once he realized that he needed to let things go, he stopped reviewing every document from the last line of the design to every line of code. What led to his change of heart? One of his coaches told him, “You know, your team can run much, much faster than this and we understand you're new, but let go. We understand it's hard, but try it. See what your team does when you just let them be. Give them the problem and let them come with the solution. They might just surprise you.” Ashish notes that it was eye-opening. He can now say, "Hey, I will let my team solve this problem—even though I have good ideas about it—I can give input, but let me give up control." What does a well-rounded high-performing team look like? Ashish states that the obvious thing that you must look for is competence and skill. You can't have a high performing team without core capabilities. But beyond that, you need a team that is passionate. You want to build a team of self-motivated players who see a problem that needs to be solved and will solve it.  Ashish emphasizes that taking ownership is a culmination of all of this. He wants engineers that are constantly asking, “What is the next big problem I can solve?” Ashish doesn’t assign problems to his team members. Instead, he points them in a certain direction and they identify the problem. They identify the solution. They know what success looks like, and they are diving in to get that done. When an entire team is the problem identifier and the problem solver, you naturally start thinking more long-term. High performing teams take ownership of solving the customer’s problem and do.  Ashish has seen teams where the culture of collaboration is not there. Competition is there. Cutthroat culture is there. So the question must be asked—is the management defining the vision? Are they letting their team members solve the problem? Find what is broken by talking to the team.  Solve high-impact problems—not hard problems Ashish emphasizes that high-performing teams don't work on the hardest problems. High-performing teams work on the most impactful problems. High-performing teams take ownership of the customer's problem. The solution may be pretty low tech. Maybe the solution doesn't add to their resume. That doesn’t matter if the impact on the customer is there.  High-performing doesn't mean that their performance was stellar or they worked on cutting-edge technology. High performance means that their customers say, "Oh man, my problems are solved in record time.” Impact is not always dollars. It's not always revenue. It depends on the problem. It depends on the customer. You should define what is going to help your customer and that's what your teams should focus on. How to maintain deep technical excellence over time Take ownership. If your team doesn’t know the answer to a problem or have someone to solve it, allow them to do the research. Find out what it takes. But it’s also not up to you to make sure your people are tech-savvy and up to take with the latest technology. Ashish firmly believes that it is everybody's problem. “Increasing their own technical capability to solve bigger and better problems is as much their problem as it's mine...I cannot mandate passion. I cannot mandate learning. Learning—the passion for learning—and solving problems comes from inside the team. I just need to hire the right people and I need to have the environment around them.”  Ashish is full of amazing insight into building A-teams in the engineering space. Listen to the whole episode to take advantage of his years of expertise in the field.  Resources & People Mentioned Amazon’s leadership principles Connect with Ashish Aggarwal Productiv Cto(at)productiv.com  Connect on LinkedIn Follow on Twitter Connect With Christian McCarrick and SimpleLeadership http://simpleleadership.io/ Christian on LinkedIn Christian on Twitter: @CMcCarrick Subscribe to SIMPLELEADERHIP onApple Podcasts, Google Podcasts, Spotify, Player FM, TuneIn, iHeart Radio
  • SimpleLeadership Podcast podcast

    No te pierdas ningún episodio de SimpleLeadership Podcast. Síguelo en la aplicación gratuita de GetPodcast.

    iOS buttonAndroid button
  • SimpleLeadership Podcast podcast

    A Discussion of Good Technical Debt with Jon Thornton

    25:51

    Jon Thornton worked at some small companies in NYC before he ended up at Squarespace. He’s been able to build a new product and new team—their email marketing product. He launched that and has since been supporting other products. Throughout his career, he’s learned how to manage technical debt. What is the difference between technical debt and good technical debt? What is a framework for using technical debt? Listen to this episode of Simple Leadership for Jon’s advice on managing technical debt.  Jon has been solving problems with software for over 20 years and leading engineering teams for 10. Along the way, he's parked millions of cars, improved textbooks with AI, reduced the price of prescription medication, and sent billions of emails. Currently, he's an engineering director at Squarespace in New York City. Though Jon's day job is mostly meetings and documents, he still gets his coding kicks in by maintaining a mildly popular jQuery plugin in his free time.  Outline of This Episode [1:26] Jon’s history in programming [4:43] Mistakes Jon made early on [6:22] What would he have done differently? [7:32] Teamwork isn’t about individual output [8:25] Financial debt and technical debt [10:53] Why time is currency [14:32] Good technical debt is intentional [17:14] A framework for using technical debt [21:24] Why building trust with your team is important [22:37] Jon’s book + podcast recommendations  [24:54] How to connect with Jon  How technical debt compares to financial debt The common definition of technical debt is that it’s code that you don’t like and you’ll need to fix or change later. But Jon applies a more narrow definition: It’s work that he expects to have to do in the future. It’s not necessarily code that he doesn’t like.  Jon points out that financial debt is a commonly accepted occurrence. Someone that takes out a mortgage to buy a house and is congratulated. It’s a “responsible” use of debt. You can use technical debt to get value now and then you can pay it down over time. It’s a tool. It allows you to reorder when they value and the payment happens—you just have to use it responsibly.  People want to have perfect code from the moment of conception, but it isn’t always worthwhile from an ROI standpoint. If it doesn’t make more money or provide more value, it can be shelved for later.  How to manage technical debt When you think about starting a new engineering project, it starts with estimates: “How much is this project going to cost us?” It typically refers to man-hours or engineering week. The cost of the project is how long the team will spend building it. If you’re following the financial debt analogy, you are taking out a tech debt mortgage. You’re borrowing time that will be paid back later. You’re doing it in a way that creates more value now. The main reason engineers exist is to provide value—to shareholders, your company, and the users of your product. If a manager takes over a team from another company, they’re immediately taking on technical debt or risk that has accumulated. How do you walk through that? How do you evaluate that? According to Jon, you can talk to people or read commit history to understand how you ended up with the system you have. The next step is to assess the kind of technical debt you’re dealing with. What technical debt is actively accruing interest? Are you spending time on it with bug fixes? Is it growing larger?  There may be an API with design issues. If you keep building on top of it, it will be harder to evolve later. Other kinds of debt may be a scaling issue where performance is okay now, but your database can’t support it later. You have more time to put that technical debt aside and address it later. Assess and establish urgency. Good technical debt is intentional During his initial Squarespace project, Jon used an access control list where only certain people had access to certain features. The right way to build it is to have a database table and management UI that makes it easy to add people. But the list didn’t change frequently. It would be easier to have a hard-coded list of IDs in their code-base. To give someone access, they’d make a new commit and deploy it. It was fine for the first two years of the project. They’d instead spend their time on things that immediately impacted the project they were working on. They could go in and make the list more dynamic down the road. Jon recommends that you do the riskiest parts of your project first. Reordering the way you build things enables you to tackle risk first. With any project, there's usually going to be some problems that you have to solve that are going to make or break the success of that project. You want to figure out those things as soon as possible so you have time to deal with any consequences. Managing a list wasn’t going to make or break their project. But the email editor they were building was going to make or break it, so they spent time on that first.  A framework for using technical debt Jon’s techniques for managing technical debt (scaffolding, hard-coding, edge cases, etc.) are all based around the idea of accepting that it’s okay to build something twice. That can help you reorder the way in which you build things. Scaffolding is inspired by physical buildings. Sometimes while you’re building one structure, you need to build a temporary structure (scaffolding) to support what you’re building. You’ll eventually take it down and replace it with something more permanent.  They knew they needed the capability to send billions of emails, but they didn’t need that capability to test the email editor that they were building. They needed to build the editor before building the sending capabilities. There was less innovation to solve there. So they built something unscalable that allowed them to test the editor first. They knew they would build the delivery pipeline twice. It had value. How do you show that technical debt is deliberate? How do you get stakeholders on board with the technical debt? Why is trust so important? Listen to the whole episode for the whole story on technical debt.  Resources & People Mentioned BOOK: Nonviolent Communication BOOK: Borrow Your Way to Wealth BLOG: https://noidea.dog/ BLOG: https://blog.danielna.com/ Connect with Jon Thornton Jon’s Website Connect on LinkedIn Connect With Christian McCarrick and SimpleLeadership http://simpleleadership.io/ Christian on LinkedIn Christian on Twitter: @CMcCarrick Subscribe to SIMPLELEADERHIP onApple Podcasts, Google Podcasts, Spotify, Player FM, TuneIn, iHeart Radio
  • SimpleLeadership Podcast podcast

    Redefining Parental Leave with Matt Newkirk

    42:41

    Being in a management position in any industry can often leave you overwhelmed. Striking a balance between your work and personal life is already difficult. So how does a manager take parental leave? Matt Newkirk—the engineering lead for Etsy’s International Customer Experience initiative—has worked out some of the kinks.  I’m the father of three girls. During their birth, I was fully involved in startups and was never able to take parental leave. Not only did I miss out, but as a manager I feel I can’t help my team plan a successful leave because I never experienced it. So in this episode of Simple Leadership, Matt shares how to plan and prepare for parental leave. Anyone in leadership can benefit from his experiences. Outline of This Episode [1:14] Matt’s background in coding + role at Etsy [3:48] Why two-way communication is important [6:33] Matt’s advice for a new manager [8:20] Taking parental leave as a manager [12:57] Parental leave can empower your employees [15:15] How to prepare for parental leave [18:07] How do you tell your boss you’re taking leave [19:19] You need to have a reintegration plan [25:29] How does a manager support employee leave? [31:46] Supporting employees who are parents in a pandemic [34:57] How to navigate “work from home” in leadership [38:06] Parental leave needs to be normalized [41:30] How to connect with Matt Newkirk How can a manager take parental leave? Matt has two children, a 4-year-old son and a 2-year-old girl. He started at Etsy when his son was 7 weeks old. He was fortunate to receive some parental leave, but there was an odd tension. He was just forming relationships with his team and it felt strange to disappear. So he took that leave very sporadically, almost as if he was taking vacations here and there. Most of the decisions were made before or after that. Very little true delegation had to happen. But when his daughter was born, he wanted to take his full leave. He’s very fortunate that Etsy provides 6 months of parental leave. It was a great opportunity to reconnect with his family and disengage from work. When anyone in leadership takes time off, its news. But it is possible. You want to role model that it’s okay to take parental leave. It shouldn’t just be a benefit on paper that no one uses. How can taking parental leave empower your employees? Listen to hear Matt’s take.  You HAVE to plan your leave When possible, you have to build out a plan for your parental leave. Matt was managing many different teams with different scenarios. He notes that sometimes it’s as easy as delegating one person to carry out a task. But it needs to be clear to stakeholders and delegates who is taking on what responsibility.  It took him 2–3 months to iron out the details for his leave. He recommends to try and have this done at least one month before you take leave—in case your baby comes early. When should you start planning? Around the time you’re comfortable telling your boss. These plans don’t expire. So if you wrap up a project earlier than you thought, it’s great.  Before you leave, Matt says “I think your job before that happens is to make sure that your reports trust you enough, that they don't have to wonder what's going to happen.” You don’t have to think about missing out on opportunities or ask: “Am I going to lose my job? Am I going to get reassigned? Am I going to get the side-eye for the next six months?” Your job is to make sure that none of those things happen. You need to have a reintegration plan A reintegration plan is just as important as planning your leave. In Matt’s case, he knew he was coming back to a reorganization and a new boss. He wasn’t sure how the units would fit together. So the first thing he did was contact his new boss and let him know when he was coming back. Then he thought about how he’d spend his time. He took some strategies from the book “The First 90 Days” and planned to spend the first 30 days figuring stuff out, listening to his team, and understanding perceived problems. Then he spent the next 30 days building hypotheses, testing them with new data, etc. In the last 30 days, you begin to act on that research. He emphasizes that it all comes down to communicating effectively. Matt also talks about how the transition back isn’t always smooth and shares how he adjusted to his role in a very changed company.  How a manager should support their team’s parental leave Matt notes when someone tells you they’re going out on leave, your one job is to make them feel at ease. Let them know you’re there to support them. Then figure out when they’re going to share that information. Set up time to figure out delegation plans. Once they’re out, find out what information they want from you while they’re out. You can front-load some expectations. Other than expected communications, leave them alone. Let them enjoy their leave.  Matt also emphasizes that you should be flexible about their return schedule. Do not push back projects for them to handle when they get back from leave. Have a transitional return schedule that starts on a Thursday or Friday and a part-time first week back.  Do not make any assumptions. They come back as different people. Some have difficult transitions, others are easy. Don’t make assumptive comments like “I hope you had a great time” or “I bet you’re exhausted.” Above all, don’t reduce their opportunities.  How else can you support your employees through a leave? How do you support your team’s work from home in a pandemic? Where can leadership receive support? Matt shares his thoughts on these questions and more—so listen to the whole episode.  Resources & People Mentioned BOOK: The 5 Dysfunctions of a Team BOOK: The First 90 Days Molly Graham's Give Away Your Legos Tara Feener's part-time return suggestion Michael Harriot Alice Goldfuss Anne Hjortshøj Pie Bob (Rachel Perkins) Lara Hogan BICEPS Presentation: Revitalizing a Cross-Functional Product Org Connect with Matt Newkirk Follow on Twitter Connect on LinkedIn Connect With Christian McCarrick and SimpleLeadership http://simpleleadership.io/ Christian on LinkedIn Christian on Twitter: @CMcCarrick Subscribe to SIMPLELEADERHIP onApple Podcasts, Google Podcasts, Spotify, Player FM, TuneIn, iHeart Radio
  • SimpleLeadership Podcast podcast

    Hiring Engineers: Junior, Senior, or Boot Camp Graduates? Johnny Ray Austin Shares His Take

    44:19

    If you’re an engineer in a leadership role where you’re dealt with the task of developing teams, the hiring process can be daunting. Do you hire junior engineers that you can shape and mold? Or senior engineers who are experienced, but come with baggage? And how do you throw boot camp graduates into the mix? Johnny Ray Austin joins me to lend his thoughts on the hiring process, including what he looks for in an engineer. Don’t miss it! Johnny is an experienced engineering executive and international public speaker. Johnny claims he got into leadership by sheer luck—but he ended up taking the leadership position and never looked back. He’s now the VP of engineering and CTO at Till, a company that helps people pay, stay, and thrive in their homes.  Outline of This Episode [2:23] Johnny Ray Austin’s background in engineering [4:33] The biggest mistake Johnny’s made—and the lesson learned [7:35] Transitioning into leadership: Johnny’s top tips [9:58] Handling remote work amidst a pandemic [14:00] “The Death of the Full Stack Developer” [18:54] How do engineering leaders keep up with new technology? [24:50] Hire for strengths, not lack of weaknesses [20:57] Develop a hiring process based on your company [27:24] Junior engineer vs. senior engineer: which is better? [31:38] Advice for managers for coaching junior engineers at home [34:18] Why you don’t want to rush through the junior engineer phase [38:15] Bootcamp graduates: to hire or not to hire?  [41:10] Embracing the concept of radical candor “The Death of the Full Stack Developer” Johnny’s talk, “The Death of the Full Stack Developer”, was a culmination of what he's seen developing in the industry. He’s seen an evolution of people switching engineering midway through other careers. The people who are switching have a more difficult time because of the expectations that are placed on engineers to know it all.  Catching up to everything that’s happened struck Johnny as silly. He can’t keep up with all of the new stuff out there. It also depends on our definition of “the stack” (It’s typically short-hand for front-end and back-end experience). 80% of people land on their website from a mobile device—but no one talks about mobile devices when they talk about the stack.  The full stack encompasses a lot more than what we mean when we use the phrase. When you look at it that way, it’s unreasonable to expect someone to be an expert in the entire stack. The true full stack developer is dead and gone. Johnny is quick to point out that that doesn’t mean you can’t be good in multiple areas. But you have to recognize that there are specialties. While you do want as much bang for your buck as possible when hiring, you can't burn people out. You have to set expectations accordingly. How do engineering leaders stay on top of new technology? Keep listening to hear our discussion.  Hire engineers for their strengths—not lack of weaknesses Johnny points out that—as an industry—we assume that one hiring process is going to work for every company out there. But it’s up to you to find a process that works for you and your team. You have to take into account questions like: Can they grow into what I might need in a year? Or 18 months? Does your company align with their future goals? The paradox is that you need to stop hiring for the now—and hire for tomorrow—while still solving today’s problems.  John screens a potential team member’s ability and willingness to grow with the company from the first phone call. He talks about their ambitions as a business and asks if the potential engineer can see themselves growing with that vision. Are they interested in leadership? Are they willing to mentor other engineers? What is their mindset regarding operational excellence? He’s honest about his expectations moving forward.  Hiring engineers is a risky endeavor. Bringing on the wrong person can damage the team. Johnny emphasizes that you should hire engineers based on their strengths. Then, you can hire other engineers to fill in the gaps. They can learn from each other while complementing each other.  Where are they really strong? What are their interests? Some people are good at cranking things out. Some people are great at communications. You want your engineers to work on the things that allow them to thrive. You need to build teams that are diverse because together you have something greater. Junior engineer, senior engineer, or boot camp grad: which is better?  Johnny points out that if you hire a senior engineer, you reap the benefit of their experience and track record. So there’s less training involved—but they often come with baggage. They’ve done things a certain way their entire career and tend to be resistant to learning new methods. With a junior engineer, you don’t get the experience—but you don’t get the scar tissue either. You have a blank slate. They can grow in a way that fits your company.  When Johnny is considering a junior engineer, he looks for two things: intellectual curiosity and the types of questions they ask. It’s a good indicator of someone willing to level up and gain experience. He’s found that intellectual curiosity is positively correlated with great performance.  To further complicate the hiring options, boot camp graduates can be thrown into the mix. Johnny is an advocate for hiring out of boot camps. Some of the sharpest engineers he knows had no formal education of any kind.  Someone with a CS degree knows a lot of theory but they have no clue how to be a day-to-day software engineer. Bootcamp developers have the day-to-day software engineer requirement without the foundation in theory. They often also have industry experience in other fields that they can bring to the table. Either way, there will be gaps to fill. As a manager, you have to decide which gaps you want to fill and train. To hear the full discussion about hiring, transitioning into a leadership position, and much more—listen to this episode of the Simple Leadership podcast! Resources & People Mentioned Till Miro BOOK: An Elegant Puzzle by Will Larson BOOK: Radical Candor by Kim Scott The Death of the Full Stack Developer Connect with Johnny Ray Austin Connect on LinkedIn Follow on Twitter Recursive Funk Connect With Christian McCarrick and SimpleLeadership http://simpleleadership.io/ Christian on LinkedIn Christian on Twitter: @CMcCarrick Subscribe to SIMPLELEADERHIP onApple Podcasts, Google Podcasts, Spotify, Player FM, TuneIn, iHeart Radio
  • SimpleLeadership Podcast podcast

    Technology Leadership Begins with These Traits with Emad Georgy

    40:05

    Today’s guest—Emad Georgy—is passionate about technology leadership. He’s a CTO Consultant and the Founder and CTO of Georgy Technology Leadership. Emad has been in the tech industry for over 25 years. His hybrid approach to technology management—focusing on both the practical and cultural elements of leadership—makes Emad a trusted and valued partner helping both domestic startups and global enterprises scale and grow.  In this episode of Simple Leadership, we chat about what cultivating leaders looks like. Sometimes, it involves making difficult decisions for your team. You must also embrace your values and lead your team by example. Listen to learn some steps to help you grow and mature as an individual and as a leader. Outline of This Episode [1:24] Emad Georgy joins me in this episode [3:23] Making difficult decisions for your team [6:01] Tips for leaders starting a management position [7:49] What is the concept of leadership debt? [10:38] Traits it’s important for technology leaders to possess [14:40] Embrace the engineering mindset [18:38] Develop a deliberate “people strategy” [22:33] Embrace problems as a tech leader and CTO [25:13] How to improve your team’s customer focus [29:31] How to become a process ninja [32:56] The importance of resilience in engineering leaders [35:26] Leading through times of crisis What is the concept of leadership debt?  According to Emad, if tech leaders really want to solve the root cause of technical debt, they have to start talking about leadership debt. It’s the concept that the decisions you make as a leader results in hidden costs that build over time.  He points out that “It's our responsibility as technologists to bring [those decisions] to the surface, make [them] transparent, hold them and go, "Are we making decisions that enable the durability of the company and/or architecture?". You don’t wake up one morning and decide to rewrite your whole platform or application—the decision is based on little decisions and mistakes that occur over time. Having knowledge of how leadership debt works helps you make better decisions along the way. Technology leadership development begins with these traits Emad points out a key trait: embracing the concept of ownership. A leader “Must have a collective sense of responsibility—not just about his or her actions—but about the actions of their team and the organization”. It’s about leading by example.  You need to be problem-solvers, not problem-reporters. Emad has learned that pointing fingers only serves to create dissension among your team. It isn’t about who’s at fault, it’s about how you got there. So when something goes wrong, you step up and take ownership—then help your team find and fix the problem.  Emad points out that as the leader, you get to manage the company culture. He defines culture as “the stories you tell every day”. If you spend every day complaining and moaning about the work you’re doing—that’s your culture. That is your contribution to the culture. But you can easily change that. Keep listening as Emad shares some other traits and processes he believes are key to your success.  Technology leaders need a deliberate people strategy Emad gets frustrated when leaders claim that they’re “all about their people”, but when it comes down to it they focus less than 20% of their time on their team. He believes it is essential to apply a tangible growth path to your team. Where do you want to see the team go in a year? What will you do for the company in that time? What do you expect from each individual? Are you helping them determine their career path and managing their growth?  Anywhere Emad has migrated in his career, he embraces a people-first approach. He’ll spend his first couple weeks—or month, if necessary—having one-on-ones with his team members. Getting to know your team speaks volumes about who you are as a leader. You need to take the time to show them that you actually care and hear their needs and concerns. Emad points out that the need to have your voice heard is a core human need—everyone wants to be understood.  Emad and I talk about improving customer focus and facilitating conversation between customers and team members. We also talk about being “Process Ninjas”—so keep listening for more great content.  Engineering leaders must be resilient in times of crisis Emad points out that leaders NEED to step up their game in times like these. With the majority of teams working from home, it takes hard work to keep them engaged and dialed in. Leading remotely also exposes any gaps in leadership skills that you may need to develop. While you’re all working from home, you need to continue to recognize your team for their accomplishments. They need to be reminded that they’re still part of something greater. Emad shares that managers need to constantly ask, what is the larger story for my team? The larger story of the company? Take this time to develop a vision for yourself and your team. How do you define your team and its culture? Nail these things down, communicate them clearly, and reinforce them. To hear more of Emad’s technology leadership recommendations, listen to this engaging episode of Simple Leadership. Resources & People Mentioned BOOK: Integrity by Dr. Henry Cloud BOOK: Servant Leadership by Robert Greenleaf Connect with Emad Georgy Emad on LinkedIn Connect With Christian McCarrick and SimpleLeadership http://simpleleadership.io/ Christian on LinkedIn Christian on Twitter: @CMcCarrick Subscribe to SIMPLELEADERHIP onApple Podcasts, Google Podcasts, Spotify, Player FM, TuneIn, iHeart Radio
  • SimpleLeadership Podcast podcast

    Overcoming Engineering Leadership Challenges with Farhan Thawar

    44:42

    Transitioning an engineering leadership position to a work-from-home model can be a challenge. For some engineers, working remotely is the norm. For others, such as those working for Shopify, being forced to work from home because of the Coronavirus is a whole new ballgame. In this episode of Simple Leadership, Farhan Thawar joins me to chat about his transition into working from home and how Shopify has made the process manageable. We talk about the benefits of coding in pairs, whether or not managers should still code, and what he looks for when hiring engineering leaders.  Farhan became the VP of Engineering at Shopify after the company acquired Helpful.com, where he was co-founder and CTO. He is an avid writer and speaker and was named one of Toronto's 25 most powerful people. Farhan has held senior technical positions at Achievers, Microsoft, Celestica, and Trilogy. Farhan completed his MBA in Financial Engineering at Rotman and Computer Science/EE at Waterloo. Listen to this episode for a glimpse into his expertise. Outline of This Episode [1:27] It’s Farhan’s Birthday! [3:44] Is there an uptick in online shopping? [6:34] How Farhan is being impacted by COVID-19 [10:54] The concept of “Assume Positive Intent” [12:00] What got Farhan where he is today [14:43] Farhan’s transition into a leadership role [16:32] Lessons Farhan has learned from mistakes [19:04] What new managers struggle with [26:23] Implementing coding in pairs [30:23] Where should a manager write code? [36:10] What does he look for when hiring engineering leaders How Farhan has been impacted by COVID-19 Shopify sent all of their employees home to work remotely at the beginning of the COVID-19 outbreak. They also supplied each employee $1,000 to make the transition a smooth process—for necessary equipment such as webcams, ergonomic chairs or mats, and office supplies. They knew they wanted to be proactive in protecting their team and those around them.  Farhan much prefers in-person communication and interaction. Since working from home, he has made a concerted effort to focus on communication that includes Google Hangouts, Zoom calls, audio, and asynchronous video—all before defaulting to text. His goal is to connect and converse with fellow employees about their lives and remember to have non-work-related conversations like they would if they were in the office.  How to take your management to the next level Something new managers often struggle with is whether or not they continue to code once they assume a leadership role. Should they work on company projects? Practice coding on the weekend? Farhan incorporates coding into his schedule every Thursday morning as a way to “go deeper” and stay on top of his skills.  Something that Shopify implements is what is called a “studio week” in which executive-level team members take a week to deep-dive into their craft to continue learning and perfect their skills. It takes their skillset to the next level, gives more context to how their team operates and helps them stay on top of the right questions to be asking their team. How pair programming can make a positive impact Pairing with someone is a great way to learn a new environment and language. It’s also a great way to learn something new that you’re not as familiar with. You can lend your technical expertise and architectural ideas to the team. You work to help each other stay focused and intense—and add to the intellect and velocity of the team.  Shopify allows their teams to set up pair programming hours—they simply open space in their schedules for others to sign up. They even supply special rooms specifically for the practice. Farhan shares that it’s set up with two monitors, two keyboards, with a long desk so you can sit and pair for a long period. Others prefer to work on pair programming in the comfort of their own pods (work areas).  While Shopify employees are practicing social distancing and following COVID-19 “shelter at home” protocols, they use a nifty tool called Tuple, a remote pair programming app. Listen to the whole episode as Farhan explains the importance of this practice.  How to hire engineering leaders Farhan doesn’t believe your typical interview style is particularly effective in choosing the right engineering leader. They like to find a way to immerse the potential hire into a situation they’d likely be solving and observe how they’d behave. It’s far more effective than asking questions. However, they do implement an interview-style where they, as Farhan describes it, “Try to figure out—has the person led an interesting and diverse life with examples of relatable experiences that we think can translate well into Shopify?”.  They call this interview a “life story”. Farhan states, “The life story is really a way for us to explore someone's past in as much detail and backward-facing situational data as we can, which will potentially give us some insight into future performance”. On the technical side, they do a deep-dive into a problem in the interviewee’s past to see where their passions lie. They look at their depth of knowledge regarding problems they were connected to and what strategies they use to solve them. Listen to this episode for the engineering challenges that Farhan has faced and details on what he’s learned.  Resources & People Mentioned Shopify React Native Tuple remote pair programming app 6 Software Rewrite Stories BOOK: Principles by Ray Dalio Connect with Farhan Thawat Connect on Twitter! Farhan on LinkedIn Connect With Christian McCarrick and SimpleLeadership http://simpleleadership.io/ Christian on LinkedIn Christian on Twitter: @CMcCarrick Subscribe to SIMPLELEADERHIP onApple Podcasts, Google Podcasts, Spotify, Player FM, TuneIn, iHeart Radio
  • SimpleLeadership Podcast podcast

    How to Manage Remote Teams [and Help Them Thrive] with Dana Lawson

    48:39

    If you’re in a leadership position in the engineering industry and have suddenly been thrust into working remotely, it may feel like your world has been turned upside down. In this episode of Simple Leadership, Dana Lawson and I discuss a few tips to help you manage remote teams. You want your team to thrive and be successful during a time of great uncertainty. Dana describes herself as an atypical engineer. She wanted to attend college to be an artist but soon realized the ‘starving artist’ lifestyle wasn’t going to cut it. She took the ASVAB test when she joined the military and scored high in engineering categories. In the last 20 years, she’s worked in every tech position possible—most recently, she is the VP of Engineering at GitHub. Listen to hear her unique story! Outline of This Episode [1:38] Dana Lawson: from art major to engineer [6:18] How Dana found herself in a leadership role [9:02] Mistakes Dana has learned from throughout her career [12:27] We got to eat dinner at Al Gore’s house [15:48] Tips and strategies for managing remotely [26:38] Don’t forget these aren’t just transactional relationships [30:42] How to onboard a new hire completely remotely [34:45] What happens when the process doesn’t go well? [37:04] Help remote employees advocate for themselves You have to embrace a leadership mindset Dana states that “Anybody can be a leader, it’s just how much you wanna unlock it”. She believes it’s an attribute that’s been ingrained in her personality. She’s naturally an A-Type and has never been afraid to speak her mind. In whatever capacity she was working in, she always took the initiative to move the ball forward.  You don’t have to have a management title to be a leader.  She just believes that some of us gravitate towards being a leader more than others—but that we all have the calling to lead in some way. Dana argues, “Anybody has the ability to go influence change and bring up the people around them to do great things”.  Tips and strategies to manage remote teams Dana shared some tips she’s learned from a managerial role: Write it down. Have a good practice of writing things down. Track what’s being done throughout the day. Reiterate tasks and instructions multiple times through different modes of communication whenever possible.  Form a daily structure for your team and yourself. Don’t stop the practices you already have in place because you suddenly have this new obstacle of working from home. You can still hold the same meetings, just do them virtually.  Take advantage of ALL the communication tools available to you. Slack and online chats are great, but if the conversation is going to be longer than 5 minutes, hop in a video chat (Zoom, Skype, FaceTime) or a phone call. 90% of communication is non-verbal and it’s okay to jump from chat to a call. Invest in some camera gear: This is my tip here, but get a decent webcam off of Amazon and use appropriate lighting when using Zoom or other video applications.  To keep things light-hearted—though partially serious—Dana points out that you have be on-point with your emoji game. There’s verbal communication, non-verbal, and emoji verbal. Humans have reverted to Egyptian Hieroglyphs. Oddly enough, each company has its own set of social norms with emojis—so learn quickly.  These aren’t just transactional relationships Don’t forget there are humans on the other side of your communication. How would you interact with someone in the office? What about pleasantries like “Hey, good morning!” or “How are you today?”. Dana points out you can ask about your team’s families, learn about their dog, and keep apprised of their life like you would in the office.  A distributed workforce still needs to feel like they’re part of the office family. Dana points out that you want to build empathy even when you won't have the physical contact that you would in an office setting. Especially now, with many people working from home due to the Coronavirus, people are anxious. They’re worried about their jobs and their livelihood.  As a manager, you’ll have to learn how to empathize with them and how to quell their fears. You’ll likely have to help them focus on the projects at-hand and iterate that you are in this together. Above all, Dana recommends being realistic about your deadlines. Transitioning into working remotely won’t be 100% smooth and you have to have grace through the process. How to onboard a new hire 100% remotely Dana believes the easiest way to onboard remotely is to be completely intentional with everything you do. Schedule every onboarding task and learning opportunity into their calendar Direct them to all of the tools and processes they’ll need. Email them with links to training documents, with a schedule of when to go through them. Dana points out this is a great time to record training videos. It helps break up written policies and gives new hires a face and voice to connect to.  Communication is key during the onboarding process and needs to be even more emphasized with a remote workforce. You can’t just tell them, “Connect with me if you have questions” or “Tell me if you have a problem”. As the manager, it is your job to consistently check-in, ask how they’re doing, and walk them through issues they may run into. Worst comes to worst, you can always push the onboarding process until you have a better system in place. Listen to the whole episode to hear Dana and I talk about helping remote employees advocate for themselves and hear in detail our discussion on leading remotely and doing so successfully.  Resources & People Mentioned Andela Buffer Zapier GET Lab BOOK: Turn the Ship Around! Team Treehouse podcast Connect with Dana Lawson LinkedIn Connect With Christian McCarrick and SimpleLeadership http://simpleleadership.io/ Christian on LinkedIn Christian on Twitter: @CMcCarrick Subscribe to SIMPLELEADERHIP onApple Podcasts, Google Podcasts, Spotify, Player FM, TuneIn, iHeart Radio
  • SimpleLeadership Podcast podcast

    How to Implement Good Software Development Processes with Eric Elliott

    48:07

    A management role in software development can be difficult to navigate. You need to keep a high-level perspective on projects while making sure they go smoothly. Eric Elliott, today’s guest on the show, believes that you need to implement coding quality practices such as test-driven development. In this episode, we talk about why software development processes such test-driven development makes an impact and why it’s important to remove bugs. We’ll also talk about how to train developers and keep them happy—and why it’s inherently important not to rush the process. Eric Elliott has been in software development for the better part of his life. He co-founded EricElliottJS.com and DevAnywhere.io, which aim to teach developers essential software development skills. He is also the author of the books, “Composing Software” and “Programming JavaScript Applications” He builds and advises development teams for crypto projects, and has contributed to software experiences for Adobe Systems, Zumba Fitness, The Wall Street Journal, ESPN, BBC, and top recording artists including Usher, Frank Ocean, Metallica, and many more.  Outline of This Episode [2:08] Eric’s background in software development [4:28] What’s happened in the last year? [6:17] Tangible benefits to reducing bugs on the front-end [9:34] How much time should be spent on fixing bugs? [11:43] What happens when you rush engineers? [13:35] What happens when a manager steps in [19:50] How to communicate with your leadership [25:11] What tangible things should you measure? [29:55] Top 3 things to do to improve quality of code [34:30]Measure pull requests and open bug tickets [40:49] Test-driven development (TDD) [43:50] Resources Eric recommends  What are the tangible benefits to reducing bugs? If you are able to reduce bugs on the front end, you spend less time fighting fires. According to Eric, “Fixing bugs is not work that’s delivering direct value to your customers—it’s rework”. Customers don’t look at your software and think being “bug-free” is a benefit. They just assume that it’s a given that there will be no bugs.  Secondly, Eric points out that you will lose customers if you produce buggy software. Struggling client retention and turnover means you’ll have to increase your marketing budget in order to attract new business.  It is the most expensive and time consuming part of producing software. But it is imperative to deliver a stellar product on the front end. Because, per Eric, “Every hour spent in code review saves 33 hours of maintenance”. The hardest part is understanding that this process takes time and cannot be rushed, but it is well worth it in the end.  What happens when you try to rush your engineers? Those in leadership positions often have to deal with pressure from higher-ups to rush a project or push a timeline. This is the worst thing that could happen, and you’ll start to see significant negative results of rushing your developers.  Eric points out that bugs will pile up, testing will get skipped, and communication will suffer. Your team will feel like they don’t have adequate time to mentor each other, and knowledge sharing is left behind. Productivity levels will plummet.  Even worse, your developers can reach the point of burnout—with effects that can be long-lasting. The Japanese struggle with a culture of over-working to the point that they have a coined term for people who die because of overworking—”Karoshi”. While this is an extreme example, it’s something you want to steer clear of. Pushing your team to rush will bring to fruition the opposite of what you intend.  What is your role as a manager/leader? Eric uses a manufacturing analogy to drive this point home: “ There's a floor manager who is usually perched up high above a factory floor so they can see everything happening on the factory floor. They can see where things are piling up. So on an assembly line work comes in one end of a line and goes out the other end of the line, but then all these different processes thrown in the middle that take different amounts of time to complete. Optimizing that process is the job of the floor manager”.  The moment a manager steps in and gets themselves involved in the work they lose perspective of the overall process. No one is doing quality control. The assembly line will start to have pile-ups with no one able to step in and smooth the process.  It’s a manager’s role to ensure the process is slow and smooth, but efficient. The key is proper communication—If you show your superiors that progress is being made on a regular basis, it eases their anxiety. If every part of your code includes code review and test-driven development (TDD) it is just another part of delivering software responsibly.  Improve the quality of your code with good software development practices Eric recommends using a non-predictive burndown chart (a graphical representation of work left to do versus time). A predictive chart can set unrealistic expectations for a project, which is a developer’s #1 complaint.  He also believes you need to track developer happiness and improve it when needed. Know what makes them happy or satisfied with their work. Developers deal with time pressure, unrealistic expectations, and problems they don’t know how to tackle on a daily basis. They need to be empowered and given permission to spend time on mentoring, learning, and quality control.  Happy developers perform their jobs up to 20% faster.  Secondly, you must implement test-driven development. In Eric’s experience, TDD is crucial to delivering a great product. Universally, the teams that test first work better. Eric researched studies on the topic and found that testing reduces bug density by 40-80%. You will always see the test fail before it passes, which allows you to debug and find improvements. It leads to continuous delivery, which keeps everyone happy.  What you should and shouldn’t measure Everyone has heard the phrase “What gets measured gets managed”, but it isn’t always in your best interest to measure everything. Eric shares his take on what NOT to measure as well as what you should track. Eric points out that you shouldn’t measure individual developers' number of closed tickets. Why? The developers closing the least amount of tickets are the ones with all the answers that everyone else comes to. They’re spreading their knowledge which will multiply the productivity of the organization.  You DO need to measure bug commit density instead of bugs per line of code. If you have a file with 51 commits and 14 are bug fixes, that’s a 20% bug commit density. You also need to look at recency of the rework. Doing these things allow you to see what is causing bugs now and allows you to fix what needs fixing. DO measure how many open pull requests there are. Your team needs to be able to have the time to do code review. It needs to be prioritized. It allows your teams to learn from each other and get everyone on the same page.  DO measure the number of open bug tickets. Bugs reproduce, and critical bugs will interrupt developers. When they're interrupted, it takes twice as long to complete the tasks they were working on—and they end up with more bugs. This comes full circle, back to the software development practice of test-driven development. This mitigates the number of bugs that will creep up and changes the cycle.  Eric delivers a lot of solid advice for developers and managers in this episode. Listen to the whole episode for all the important details.  Resources & People Mentioned Eric’s Blog: The Hardest Part of Being a Software Manager BOOK: Test Driven Development: By Example BOOK: The Phoenix Project BOOK: Turn the Ship Around! Eric’s last episode on Simple Leadership Karoshi: Death from overwork Culture Amp 15five Connect with Eric Elliott Eric on LinkedIn Eric on Twitter JS Cheerleader on Twitter BOOK: Programming JavaScript Applications BOOK: Composing Software Eric’s 1-day training https://ericelliottjs.com/ https://devanywhere.io/ Connect With Christian McCarrick and SimpleLeadership http://simpleleadership.io/ Christian on LinkedIn Christian on Twitter: @CMcCarrick Subscribe to SIMPLELEADERHIP onApple Podcasts, Google Podcasts, Spotify, Player FM, TuneIn, iHeart Radio
  • SimpleLeadership Podcast podcast

    Follow These Steps to Combat Loneliness in Leadership with Suzan Bond

    43:30

    If you are transitioning into an executive or leadership role in an organization, you can find yourself dealing with incredible loneliness. You also deal with a change in power dynamics, gaps in information, and a lack of support systems. It is difficult to prepare for the change from “getting work done” to being an “influencer”. As a former COO, today’s guest, Suzan Bond, understands the struggle of the transition. She joins me today to share some ways you can combat loneliness and ease the transition.  ​​Suzan is an executive coach and organizational strategist who has spent over a decade in technology. She's a regular contributor to Fast Company where she writes for the Work-Life section—covering leadership, personal effectiveness, and productivity. She has an educational background in psychology, organizational behavior, and community organizing. She received her coach certification from the Coaches Training Institute.  Outline of This Episode [1:49] Suzan Bond’s background in technology and coaching [4:18] The mistakes Suzan sees in transition into management [6:59] Tips for moving from managers to executives [8:05] Dealing with loneliness in engineering leadership  [12:05] The concept of solitude versus loneliness [13:50] Gaps in information can exacerbate loneliness [17:05] Strategies for building trust with your company [19:26] Navigating the change in power dynamics [23:33] How to show vulnerability while projecting confidence [25:42] Having a morning ritual [27:32] How can leaders build support networks? [34:30] The specific challenges of being a technical executive [37:40] Learn to view your role as a transition [41:53] Connect with Suzan The difficulty of a transition into leadership Suzan points out that many managers and leaders aren’t prepared for the transition into an executive role. They go from deriving their value from the work they’re able to complete and suddenly have no direct impact. Instead, they must learn how to influence others, essentially working through other people. This process can lead to a struggle, a feeling of a loss of control or perceived power as they’re pushed outside of their comfort zone.  Suzan believes that you must acknowledge that you are making a significant transition—and you cannot underestimate the mindset shift you must make. On a basic level, you may be gaining autonomy or a pay raise. But you’ll also likely deal with long hours and significant demands on your time. You will be changing how you operate on many levels and must be mentally prepared.  ‘Gaps in Information’ and the connection to loneliness Our culture has made a large shift towards being transparent and open about everything from how money is spent to sharing how much executives in a company make. But finding the right balance of transparency is a delicate balance—and often keeps leaders up at night. They question themselves: “Am I being open enough? Am I giving enough context”? On a more complex level, they may desire transparency but be unable to give it due to legal issues or simply protecting employee privacy. Leaders are often criticized and misunderstood because they cannot share all of the reasons behind the changes they implement. It leads to a feeling of awkwardness as a leader.  People think you’re incompetent or label you as uncaring—and you simply can’t defend yourself. Whatever the reason, there are times you can’t share all of the information you have. All of this can exacerbate the loneliness you feel. To overcome this dichotomy, you must rely heavily on building a foundation of trust with your team. The interplay between trust, vulnerability, and confidence As a leader, you have to actively work to build trust so when there are times you have to fall back on “trust me”—they do. It must be prioritized above “proving yourself” and implementing new strategies. Suzan recommends spending time doing a “listening tour”—actively engaging with people in your company to gather information and gain insight—and lend a listening ear. It helps you build a foundation of trust and learn how to connect within your organization.  With the high demand for openness and vulnerability, you must learn to find a middle ground. We are expected to be vulnerable while still projecting confidence, which is a delicate balance. Suzan and I agree that showing your humanity goes a long way—you don’t have to pretend to be superhuman when you’re not. She shares some simple ways you can project vulnerability in conversations, so be sure to listen.  How do you combat loneliness in leadership?  Suzan shares some tips she believes will help ease the transition and combat the loneliness of the new role: 1. Establish a morning ritual (embrace solitude). Set aside time for yourself to process what’s happening in your organization, how people view decisions, and even how you’re communicating. Suzan’s preferred mode is writing with pen & paper—she’ll often have moments of clarity on issues she’s dealing with.  2. Build a support network. Reach out to someone on your executive team or seek out a coach that you can be open with. We all have confidential information floating around in our heads that we can’t talk about—it can be isolating. It’s one of the contributing factors behind starting this podcast. 3. Find a “best friend” at work: Gallup research found that higher employee engagement correlated with having a best friend at work.  4. Have a life and interests outside of work. Many leaders define themselves by what they do on the job. But you need to have hobbies and interests outside of work that ground you, bring you joy, and allow you to relax and relieve stress. To hear our full conversation and other tips and strategies to manage a transition into leadership, listen to the whole episode. You’ll enjoy Suzan’s joyful personality and learn from her extensive expertise in the field. Also, be sure to look at the resources we’ve listed below for valuable insight—written by others who’ve successfully made the transition into leadership.  Resources & People Mentioned Buffer  ARTICLE: Why Leaders Feel Isolated BOOK: Multipliers by Liz Wiseman BOOK: Transitions by William Bridges BOOK: The First 90 Days by Michael Watkins Connect with Suzan Bond  Suzan’s website Suzan on LinkedIn Suzan on Twitter Connect With Christian McCarrick and SimpleLeadership http://simpleleadership.io/ Christian on LinkedIn Christian on Twitter: @CMcCarrick Subscribe to SIMPLELEADERHIP onApple Podcasts, Google Podcasts, Spotify, Player FM, TuneIn, iHeart Radio

Descubre los mejores podcast en la aplicación gratuita de GetPodcast.

Suscríbete a tus podcast favoritos, escucha episodios cuando estés sin conexión y déjate sorprender por las recomendaciones personalizadas.

iOS buttonAndroid button