Episode 435: How to make my boss actually do something and kindly shooting down
Nov 18, 2024
auto_awesome
Delve into the complexities of navigating workplace dynamics with a resistant boss. The hosts explore the art of managing up while balancing technical responsibilities and team performance. Learn about the importance of clear communication, especially when delivering constructive feedback. They also indulge in whimsical discussions about the concept of a 'perfect computer' and the quirks of computational challenges. Plus, enjoy humorous reflections on supportive patrons that provide a light-hearted touch to the serious subject matter.
Engineers should focus on self-directing their careers by taking initiative and defining their technical visions rather than relying heavily on management feedback.
Effective communication in team settings is crucial, as it allows for the exploration of new ideas while balancing potential long-term impacts and technical debt considerations.
Deep dives
The Concept of Pointers in Programming Languages
Java's null pointer exception illustrates a misunderstanding as Java lacks traditional pointers, yet behaves as if they exist. This leads to a discussion about the underlying elements of programming languages and how they manage memory. The hosts delve into the idea of a hypothetical stateless machine that operates solely on binary inputs, challenging the conventional views of programming paradigms. This encourages listeners to think critically about language design and the assumptions that come with it.
Navigating Workplace Dynamics with Management
A listener shares a concern about their relationship with a long-time boss, highlighting a lack of constructive feedback. They express frustration over being thrust into managerial responsibilities without the desire to manage people, indicating a struggle to pursue meaningful technical challenges. The hosts suggest that as engineers grow more senior, their reliance on direct feedback diminishes, emphasizing the importance of self-directing one’s career. They encourage taking initiative and defining technical visions, shifting focus from a reliance on management to creating personal impact.
Handling Team Architecture Proposals
A listener faces a dilemma in addressing a teammate's proposition for a new project architecture that might lead to technical debt. The hosts discuss the delicate balance of voicing disagreements while fostering an environment for open communication. They explain the significance of addressing both pros and cons to ensure collaborative decision-making and weigh potential long-term impacts. The emphasis is on ensuring that team discussions allow for different ideas without stifling creativity or collaboration.
Architectural Decisions and Their Consequences
Making architectural choices in software development often involves long-term implications that can be difficult to reverse. The discussion highlights the importance of thoroughly vetting new frameworks and technologies before implementation to prevent future complications. The hosts share personal anecdotes that demonstrate the challenges of navigational changes after a poor decision has been made. Ultimately, they advocate for thoughtful decision-making processes to mitigate risks associated with architectural choices.
In this episode, Dave and Jamison answer these questions:
First! I recently listened to episode 178 (huge backlog of episodes to work through!) and Dave made the assertion (in 2019!) that 47% of all companies would be remote by 2023: wildly close, what else do you see in the future?
Second: my work situation continues to confound and external insight would be helpful! My boss and I have a long working history going back to an entirely separate company. I’m a high-ownership/high-drive Principal level IC and feedback has been lackluster. Takeaway from last years performance review would be best summarized as “I agree with your self review. End message.” I’ve been working to “manage up” and mentor (reverse mentor?) him, but he always makes snap decisions and then refuses to reevaluate after presented with more info.
Coupled with his myopic view of our team’s scope and general preference for speaking only (not much for action), I’m trying to figure out how to get where I want to be without burning an old and historically very useful bridge! I want to work on big technical problems, instead I’m de facto manager of a team… I managed before and did not enjoy being responsible for people. As a principal I’m responsible for their output somewhat, but if they underperform I work with their manager and them to prioritize, and do up front work to incentivize their investment in what we’re doing… help!
What do I do when my teammate proposes a new architecture or framework in a new project? It might solve some existing problems but has a high chance to create technical debt and make the onboarding harder for new engineers.
How can I convince them to use the existing solution while still helping them feel comfortable sharing their opinion next time?
If I follow their suggestion but things don’t go well, how can I convince them to refactor the structure without them feeling like I’m blaming them?
Get the Snipd podcast app
Unlock the knowledge in podcasts with the podcast player of the future.
AI-powered podcast player
Listen to all your favourite podcasts with AI-powered features
Discover highlights
Listen to the best highlights from the podcasts you love and dive into the full episode
Save any moment
Hear something you like? Tap your headphones to save it with AI-generated key takeaways
Share & Export
Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more
AI-powered podcast player
Listen to all your favourite podcasts with AI-powered features
Discover highlights
Listen to the best highlights from the podcasts you love and dive into the full episode