I've interviewed 100+ engineers at Microsoft, VMware & Instacart. The best predictor of performance isn't what you think. Here's what actually works: Most technical interviews are fundamentally broken. I ask candidates to describe their home internet setup. This single question reveals more than hours of coding tests. True engineers are obsessed with optimization. They can detail their router model, network configuration, and backup systems with enthusiasm. If they respond with "I don't know, it just works" - immediate red flag. The best candidates treat their home network like mission-critical infrastructure: "If the internet dies, I'm going ninja-level to figure it out. It's as important as breathing." This reveals the first trait I look for: Deep curiosity. The second trait? Systems thinking. I ask them to explain how email works. Not looking for textbook answers. Average candidates give surface-level explanations. Great candidates dive deep into: • DNS lookups • MX records • Multi-tier architecture • Edge cases They can't help themselves - they're fascinated by complexity. The third trait is crucial: Making complex things simple. At Acompli (acquired by Microsoft for $200M), I interviewed 100 iOS engineers to hire ONE. The key question: "How would you build an app where long lists scroll at 60fps?" 99% jumped straight into technical solutions. The 1% we hired? They started by asking about user experience and performance tradeoffs. These 3 traits combined: • Deep curiosity • Systems thinking • Simplifying complexity Are worth more than any coding test. Here's the counterintuitive part: You can't teach these traits. They're ingrained patterns developed over years. That's why I'd rather hire someone who compiled their own router firmware as a hobby than someone who aced every CS course. This approach helped me build teams that: • Scaled to hundreds of engineers • Shipped products used by millions • Led to multiple $100M+ exits The hard truth: Technical skills can be taught. But curiosity, systems thinking, and simplification abilities? Those are the real predictors of engineering excellence. Want to master the founder mindset and build better? Join Founder Mode for free weekly insights on startups, systems, and personal growth: https://lnkd.in/gSjjvzt9
Key Qualities of a Great Software Engineer
Explore top LinkedIn content from expert professionals.
Summary
Great software engineers possess traits that go beyond technical skills, focusing on curiosity, system thinking, and the ability to simplify complexity. They prioritize problem-solving, team collaboration, and outcomes that truly address user needs.
- Stay curious about problems: Cultivate a passion for understanding how things work, asking questions, and diving deep into complexities to find innovative solutions.
- Think systematically: Approach challenges by analyzing the bigger picture, identifying connections, and prioritizing impactful decisions, including when not to build unnecessary solutions.
- Communicate and collaborate: Share knowledge freely, articulate ideas clearly, and work proactively with team members to build trust and achieve shared goals.
-
-
What makes a great engineer great? I was asked this question on a job application lately, with the stated intent to learn more about my leadership approach. Which makes sense - what you value and encourage in your team members is a fantastic reflection of your values as a leader. I don't know if I ever was a great engineer when I was an IC - but I definitely have had the opportunity and pleasure to work with many amazing engineers since I stepped into leadership roles. Here are some of the themes I identified when reflecting on this question. This may not be a definition that works for every team, and it's certainly not novel - but it's what I've learned in my years running teams at SaaS products. - Great engineers are focused on leverage. They're focused on getting the most "bang for their buck," if you will, and not on doing things in the most fun or creative way. They aren't afraid to do the "boring" work of documentation, data analysis, or whatever else will add the most value to the team. - Great engineers emphasize collective ownership. They're willing to delegate expertise and grow other members of their team rather than exert their own influence or maintain control over their projects. They're invested in the success of not just their team, but the whole company - they don't shy away from collaborating across departments and are always looking for mutual purpose and benefit in their work. - Great engineers live at multiple levels of abstraction. They are capable of fluidly switching between the metaphorical forest and the trees, and are often the first people to say things like "wait, do we really need to build this?" in meetings. They know that the most effective code is often the code not written, and they are adept at pulling the team out of rabbit holes and perfection traps. - Great engineers pursue outcomes, not output. They don't measure themselves in how many stories they close, or how many pull requests they merge, but in the impact they have on the business. Not only do they focus their own efforts in this direction, but they inspire the rest of their team to do so as well. What may be interesting about this list is what's *not* present. Technical expertise and problem-solving skills are "necessary, but not sufficient" in my experience - you can't be successful without them, but you can't stand on technical proficiency alone and be a great engineer. You aren't building code in a vacuum - you're working with a team towards a business goal, and your ability to meet those needs effectively is what makes you great at your job. As an engineering leader, these are the qualities that I try to instill in my team. When I build career ladders, when I deliver feedback, when I structure coaching plans, and when I write promotion letters, these are the ideas I come back to again and again to demonstrate how the people on my team have grown and the value that they have been delivering to the business.
-
10 Career Rules for Software Engineers. These things separate exceptional engineers from the rest: Great insights from Owain Lewis (Make sure to follow him) 1/ Focus on business impact Your code means nothing if it doesn't solve real problems. We have all seen brilliant engineers get stuck: → Writing code that nobody needs → Rewriting systems that work fine → Solving problems the business doesn't care about Focus on the why, not just the how. 2/ Be a multiplier The best engineers are multipliers. They: - Share knowledge freely - Help and mentor juniors - Write clear documentation Want to be irreplaceable? Make everyone around you better. 3/ Get things done Harsh reality: An unfinished project delivers zero value. Launch working code today rather than perfect code in 3 months. Be the engineer who: - Solves problems - Gets things done - Ships consistently You're not rewarded for effort. Balance perfection and pragmatism. 4/ Don't be a hero Lone developers are a liability. The best engineers collaborate early and often: - Keep people informed - Discuss before coding - Seek diverse perspectives Code is team sport. 5/ Take ownership of projects Here's what separates senior engineers from the rest: They keep stakeholders informed before being asked. - Flag blockers early - Communicate clearly - Share progress proactively Communication is your competitive advantage. 6/ Guard your focus Your attention is your most valuable asset. Protect it ruthlessly. - Block off deep work time - Say no to unnecessary meetings - Avoid shiny object syndrome One hour of focused work beats eight hours of distracted effort. 7/ Embrace feedback Want to grow fast? Treat feedback as free coaching. - Seek out feedback - Adapt and improve - Ask deeper questions Don’t let ego hold you back. 8/ Lead through communication Technical skills get you hired. Communication and collaboration get you promoted. Focus on: - Writing clearly - Explaining complex ideas simply - Leading technical discussions 9/ Keep learning The only constant in tech is change. Your learning system matters more than your current knowledge. Build the habit: - Create side projects - Read technical blogs - Contribute to open source 10/ Teach others The most successful engineers: - Share openly - Teach willingly - Document extensively Teaching is the best way to learn. ♻️ Repost to help others grow as engineers. ➕ Follow me, Melody Olson, for Leadership, Tech & Career Insights.
-
"10 key traits that make a software engineer effective" - https://lnkd.in/g2acxKBh In my latest article, I cover 10 traits that help make a software engineer effective: 1. Cares about the user and their needs 2. Is a great problem solver 3. Keeps things simple, while caring about quality 4. Communicates effectively with your team 5. Builds trust, autonomy, and social capital 6. Understands team strategy 7. Prioritizes appropriately and execute independently 8. Thinks long term (e.g. implications of decisions) 9. Leaves software projects better than you found them 10. Is comfortable taking on new challenges This is a list of traits I've consistently found important while leading teams at Google and which I believe also translate well to many companies. As a software engineer, your focus should extend beyond just writing code. It's essential to understand and prioritize the needs of your users. Understanding the objectives of your organization and the impact of your work is also crucial. Think about not just your outputs but also the outcomes. Remember, your primary role is to create software that addresses problems users are willing to pay to solve. If you lose sight of the end-user experience and how people will interact with your product or service, you risk developing something that may not be truly valuable. This concept might seem straightforward, but it's often a challenging aspect for many engineers to internalize. Developers frequently get immersed in the technicalities of coding, losing sight of the underlying purpose of their work. Efficient engineers do things right. Effective engineers do the right things. Ideally do the right things right. If you liked this post, perhaps consider liking or resharing it :) #softwareengineering #programming #effectiveness