Ruthlessly Helpful
Stephen Ritchie's offerings of ruthlessly helpful software engineering practices.
Crucial Skills That Make Engineers Successful
Posted by on May 7, 2024
The other day I was speaking with an engineer and they asked me to describe the crucial skills that make engineers successful. I think this is an important topic.
In a world driven by technological innovation, the role of an engineer is more crucial than ever. Yet, what separates good engineers from successful ones isn’t just technical know-how; it involves a mastery of various practical and soft skills. Let’s explore these skills.
Cultivate Core Technical Skills
Problem Solving — Every engineer’s primary role involves solving problems to build things or fix things. However, successful engineers distinguish themselves by tackling novel challenges that aren’t typically addressed in conventional education. Refine your ability to devise innovative solutions.
Learn and practice techniques such as:
- actively engaging with new and unfamiliar material (e.g., frameworks, languages, other tech)
- linking knowledge to existing experiences
- prioritizing understanding over memorization
Creativity — John Cleese once said, “Creativity is not a talent … it is a way of operating.” Creativity in engineering isn’t about artistic ability; it’s about thinking differently and being open to new ideas.
Foster creativity by:
- creating distraction-free environments
- allowing uninterrupted time for thought
- maintaining a playful, open-minded attitude toward problem-solving
Critical Thinking — This involves a methodical analysis and evaluation of information to form a judgment. This skill is vital for making informed decisions and avoiding costly mistakes in complex projects.
Successful engineers often excel at:
- formulating hypotheses
- gathering information (e.g., researching, experimenting, reading, and learning)
- exploring multiple viewpoints to reach logical conclusions
Domain Expertise – Understanding the specific needs and processes of the business, market, or industry you are working with can greatly enhance the relevance and impact of your engineering solutions. Domain expertise allows engineers to deliver more targeted and effective solutions.
Learn the domain by:
- mastering business-, market-, and industry-specific business processes
- familiarizing yourself with the client’s needs, wants, and “delighters”
Enhance Your Soft Skills
The importance of emotional intelligence (EQ) in engineering cannot be overstated. As engineers advance in their careers, their technical responsibilities often broaden to include leadership roles. These skills help in nurturing a positive work environment and team effectiveness. Moreover, as many experts suggest, EQ tends to increase with age, which provides a valuable opportunity for personal development over time.
Broaden your skills to include more soft skills:
- recognizing and regulating emotions,
- understanding team dynamics, and
- effective communication
Debug the Development Process
Personal Process — Engineering is as much about personal growth as it is about technical know-how. Successful engineers maintain a disciplined personal development process that helps them continuously improve their performance.
Hone your ability and habit of:
- estimating and planning your work
- making and keeping commitments
- quantifying the value of your work
- reducing defects and enhancing quality
Team Process — In collaborative environments, the ability to facilitate, influence, and negotiate becomes crucial. Successful engineers need to articulate and share their vision, adapt their roles to the team’s needs, and contribute to building efficient, inclusive teams. This involves balancing speed and quality in engineering tasks and fostering an environment where new and better practices are embraced.
Continually Learn and Adapt
The landscape of engineering is constantly evolving, driven by advancements in technology and changes in market demands. Remaining successful as an engineer requires a commitment to lifelong learning—actively seeking out new knowledge and skills to stay ahead of the curve.
In summary, to adapt and thrive, you must take charge of you own skill development.
Recommended Resources
If you are looking to deepen your understanding of these concepts, many resources are available. Here are some recommended resources to provide insights and tools to enhance you skills.
Problem Solving
- Book: “The Ideal Problem Solver” by John D. Bransford and Barry S. Stein
Amazon Link - Video: Tom Wujec: “Got a wicked problem? First, tell me how you make toast”
TED Talk Link
Creativity
- Book: “Creativity: A Short and Cheerful Guide” by John Cleese
Amazon Link - Video: John Cleese on Creativity
YouTube Link
Critical Thinking
- Book: “Thinking, Fast and Slow” by Daniel Kahneman
Amazon Link - Video: “5 tips to improve your critical thinking – Samantha Agoos”
YouTube Link
Domain Expertise
- Book: “Domain-Driven Design Distilled” by Vaughn Vernon
Amazon Link - Video: Introduction to Domain-Driven Design
YouTube Link
Emotional Intelligence
- Book: “Working with Emotional Intelligence” by Daniel Goleman
Amazon Link - Video: Daniel Goleman introduces Emotional Intelligence
YouTube Link
Development Process
- Book: “Elastic Leadership” by Roy Osherove
Manning Publications Link - Video: Roy Osherove on Leadership in Engineering
YouTube Link
Personal and Team Development
- Book: “The Power of Habit: Why We Do What We Do in Life and Business” by Charles Duhigg
Amazon Link - Video: “Debugging Like A Pro”
YouTube Link - Additional Resource: How Etsy Ships Apps
Etsy Code as Craft Link - Video: “How Big Tech Ships Code to Production”
YouTube Link
