Many of us try to improve the “hard” skills required to do our jobs, but we can't forget about those critical “soft” skills too. After reading 40+ books on productivity, leadership, psychology and more, I wanted to share some top takeaways that we can apply to level up in our careers and lives. You can also browse the full list of my book recommendations.
Soft skills are abilities that enable effective collaboration, time management, and clear communication when working with others. Hard skills are teachable abilities that can be quantified and measured, such as technical knowledge in a programming language.
If you're looking for a quick tl;dr of learnings:
Master the art of deep focus. Schedule uninterrupted blocks for key work and reduce distractions. Optimize your time and energy.
Optimize for high-leverage activities. Prioritize the 20% of work that drives 80% of outcomes vs. reacting to every notification.
Cultivate a growth mindset. View challenges as learning opportunities, not failures. Embrace constructive criticism and feedback.
Continuously iterate and validate assumptions. Rapidly build MVPs, get user feedback, measure data. Pivot early.
Proactively level up leadership skills. Coach teammates, set clear goals, foster psychological safety and authentic communication.
These books aren't specifically about code or systems design, but the insights on leadership, productivity, team dynamics and more are highly relevant.
I've compiled my favorite bits that have helped me become a better leader (and IC) and I think they could help you too. Some light reading for the weekends perhaps!
Let's dive in.
Deep Work:
Minimize distractions and shallow work. Carve out long stretches for intense focus and complexity.
Build rituals and routines to regularly do deep work. Protect this time.
Be mindful of your time spent on social media, Slack, too many meetings to preserve mental capacity.
Atomic Habits:
Break down big goals into small, manageable habits. Focus on processes, not outcomes.
Create obvious cues and routines for habits to make them easy to start.
Build habits in environments that reinforce them. Control cues and reward good behavior.
The Effective Executive:
Identify the few major areas where you can make the greatest impact vs. just doing busy-work
Manage your time effectively - focus on priority tasks without interruptions. Schedule thinking time.
Make effective decisions - consider alternatives, weigh risks, consult with others, make clear choices.
Multipliers:
Empower and challenge team members instead of micromanaging. Get people thinking and taking initiative.
Create space for people to contribute beyond their official roles. Draw out their skills.
Avoid accidentally diminishing people - belittling ideas, overcontrolling, underutilizing talent.
Thinking, Fast and Slow:
Understand the two systems driving decisions - fast intuitive vs. slow analytical thinking. Know their biases.
For complex analysis, create space from intuitions and emotions. Slow down and use structured reasoning.
Watch for overconfidence, confirmation bias, anchoring, and other common mental errors when evaluating.
Getting Things Done:
Maintain comprehensive to-do lists and calendars to stay organized. Break projects into next actions.
Regularly review inboxes, projects, someday lists - process information into action.
Create reminders and triggers to stay focused on your priorities and not slip on commitments.
The Culture Code:
Build psychological safety on teams so people feel comfortable taking risks.
Encourage small signals of inclusion and caring between members.
Define core values and principles to guide decisions and norms.
Radical Candor:
Directly challenge people when their work needs improvement - be caring personally but candid professionally.
Praise good work clearly and sincerely. Show you notice and appreciate their efforts.
Listen attentively and ask questions to understand issues fully before judging.
Five Dysfunctions of a Team:
Build cohesion and trust between team members. Take time for personal connections.
Encourage constructive conflict and open debate instead of forced consensus.
Ensure commitment to decisions, roles and plans. Involve the team in choices.
Hold each other accountable for behaviors and results. Call out issues respectfully.
Focus on collective results, not individual goals. Prioritize team success.
The Innovator's Dilemma:
Disruptive innovations often come from outsiders and new entrants, not incumbent leaders.
Focus on customers' evolving jobs-to-be-done, not existing product categories. Be ready to cannibalize your own products.
Separate disruptive teams from legacy business constraints. Empower them to experiment.
Think Again:
Question your core assumptions and beliefs regularly. Be willing to change any view with new evidence.
Seek dissenting voices and have productive arguments to stress test ideas.
Update your beliefs incrementally as the world changes. Don't cling to old narratives too long.
Debugging Teams:
Look for process and communication problems before blaming people. Ask why before who.
Rotate team members between positions to build empathy and avoid silos.
Codify tribal knowledge and assumptions. Make work visible to spot gaps.
High Output Management:
Set clear, measurable goals. Break down strategy into specific, concrete tasks.
Give frequent coaching and feedback focused on performance, not the person.
Delegate responsibility, but follow up on results. Inspect what you expect.
The Lean Startup:
Launch MVPs to validated learning vs. elaborate products. Test critical assumptions quickly.
Get out of the building. Interview customers, observe users, collect real data.
Use innovation accounting to evaluate progress. Pivot if needed.
The Power of Habit:
Habits form through cue, routine, reward loops. Identify the cues to change habits.
Make new routines easy to start and satisfying to do until they stick.
Keep early cues and rewards consistent as you change routines.
Decisive:
Widen options before deciding - don't default to obvious choices. Consider more.
Reality-test your assumptions and stories to avoid biases and blind spots in choices.
Prepare to be wrong. Have plans to quickly recognize and recover from mistakes.
Mindset:
Praise efforts, strategies and processes, not intelligence or talent. Foster a growth mindset.
Embrace challenges to learn and improve. Don't avoid failure.
Focus on personal improvement vs outperforming others. Measure progress against past performance.
How to Win Friends and Influence People:
Show genuine interest in people - ask about their lives, listen intently, and remember details. Make them feel valued.
Let people save face when wrong - don't criticize publicly. Help them fix issues without embarrassment.
Encourage others sincerely. Appreciate their strengths and efforts. People crave recognition.
Get people saying "yes" early in conversations. Build momentum and rapport for bigger asks.
Crucial Conversations:
Start tough conversations calmly. Make it about issues, not attacking people. Clarify intents.
Share your story and perspective early. Explain why you see things as you do.
Ask open-ended questions to understand others' views. Listen first, don't judge prematurely.
Agree on a mutual purpose and goals upfront. Stay focused on resolution, not winning.
Extreme Ownership:
Take complete responsibility for team performance. Don't make excuses - take action to fix issues.
Audit your operations and processes first when problems arise. Look for process issues before blaming people.
Encourage team members to exercise disciplined initiative within a decentralized command structure. Empower daily decision making at the edge.
The Manager's Path:
As a new manager, focus on 1:1s, feedback, and coaching over fancy frameworks. Build trust.
For directing managers, align your org to strategy through OKRs, not top down orders. Enable autonomy.
For VP+ roles, actively nurture the culture and values. Set the tone at the top.
Develop broad perspective and strategic thinking as you advance. Zoom out beyond the immediate.
Here are additional book titles that I think would be relevant for programmers:
Start with Why:
Clearly define your team's purpose and reason for existing beyond profits. Align teams to a shared mission.
Communicate from the inside-out. Start communications by explaining why you do what you do.
Hire those who connect with your purpose, not just skills. Passion for the mission is critical.
Good to Great:
Get the right people on the bus first. Great vision and plans only work if the team is highly capable.
Confront brutal truths about your company's situation and capabilities. Make data-driven decisions.
First Who, Then What - build a cohesive team of self-motivated people before cascading directives.
Focus on excellence in your core business before diversifying. Master something before moving to adjacencies.
First Things First:
Prioritize work based on importance instead of just urgency. Focus on high-leverage activities.
Schedule weekly planning to be proactive vs. reactive. Align tasks to key roles and goals.
Batch similar tasks to optimize time. Build routines and habits for efficiency.
The Lean Product Playbook:
Rapidly test demand by pre-selling MVPs or crowdfunding instead of overbuilding.
Talk to customers early and often. Iterate based on qualitative insights, not just data.
Validate risky hypotheses first - focus testing on the biggest assumptions and unknowns.
Avoid stagnation by revisiting vision regularly. Plan pivots when needed.
Software Engineering: The Soft Parts
If you are interested in learning more about soft skills, I also wrote a short book on this topic. It’s free to read online and you can also pick up a physical copy. The book tries to summarize soft skills I found useful to grow during my time at Google.
“Becoming a good engineer is about collecting experience. Each project, even small ones, is a chance to add new techniques and tools to your toolbox. Where this delivers even more value is when you can solve problems by pairing techniques learned on one project with tools learned working on another. It all adds up.” - Software Engineering: The Soft Parts
Conclusion
These are just a few of the many gems I picked up across these fantastic books.
Expanding our thinking into diverse subjects like business, psychology and leadership brings so much back to our day-to-day. These lessons go beyond just technical expertise - they encompass the essence of being an effective team member, manager, and leader.
I'd encourage you to pick up a few of these titles that caught your eye. We can all get better at programming and soft skills by learning from other fields. Remember, no single book has all the answers, but each provides valuable perspectives to consider.
Let these ideas inspire and guide you in your journey towards greater effectiveness and productivity.
Your article on mastering soft skills was a goldmine! Your breakdown of pivotal takeaways from diverse books was a revelation.
Thanks for the amazing insights!
Awesome list Addy!
One of my newest favorite books is: The Software Engineer’s Guidebook.
It feels like the missing guidebook I need in my career journey.
Everything from:
Owning your career to project management to promotions to compensation to understanding the business, etc.
Really solid read.