How To Get Ahead of 99% of Software Engineers (Starting Today)
Summary
TLDRThis video script reveals the secrets of the top 1% of software engineers, emphasizing the importance of thriving in ambiguity, identifying impactful problems, becoming a subject matter expert, and being customer-obsessed. It also highlights the need to avoid over-engineering, mentor others, understand business impact, and improve company culture. The speaker shares personal experiences and provides actionable advice for aspiring engineers to excel in their careers.
Takeaways
- 🧑💻 **Thrive in Ambiguity**: Top engineers embrace uncertainty and take initiative without needing explicit instructions, focusing on problem-solving rather than waiting for direction.
- 🔎 **Find and Define Problems**: The best software engineers actively seek out impactful problems, understand their scope, and clearly define what success looks like in addressing them.
- 📈 **Become a Subject Matter Expert**: Building deep expertise in a specific area leads to becoming a go-to person, which is achieved by spending time, understanding complexities, and gaining trust through consistent problem-solving.
- 👀 **Be Customer-Obsessed**: Top engineers prioritize customer needs and feedback, ensuring that the solutions they build are relevant and valued by the end-users.
- 🛠️ **Avoid Over-Engineering**: It's important to build for the present needs without overcomplicating solutions. Focus on delivering value quickly and iterating based on real-world use.
- 🤔 **Think About Trade-offs**: Understanding the balance between technical excellence and practical constraints is key. The best engineers know when to optimize and when to simplify.
- 👨🏫 **Mentor Others**: Sharing knowledge and experience helps in building a strong team and contributes to personal growth. Top engineers actively mentor and guide others in their career.
- 💼 **Understand Business Impact**: Recognizing the financial implications of engineering decisions and aligning work with business goals is a characteristic of top engineers.
- 🌟 **Improve Culture**: Leading by example and actively participating in shaping a positive company culture is a mark of a top engineer. This includes organizing events, sharing knowledge, and enhancing the interview process.
- 🔄 **Iterate and Improve**: Continuous improvement is a mindset. Top engineers understand that tech debt is inevitable and embrace the opportunity to refine and enhance their work over time.
- 🔗 **Build a Personal Brand**: By contributing to the industry outside the company, such as through blogs and conferences, top engineers establish a reputation that extends beyond their immediate work environment.
Q & A
What is the first secret to becoming a top 1% software engineer as mentioned in the script?
-The first secret is to thrive in ambiguity, which means accepting the lack of clear instructions and taking responsibility to figure out the problem and make it happen.
How can software engineers define success when dealing with vague problems?
-Engineers should define a success criteria by understanding what the problem is and then determining what it means to be successful, especially when the problem itself is not clearly defined.
What is the role of planning and design in the approach of top 1% software engineers?
-Top engineers spend a lot of time thinking and designing before coding. They create design documents and tech specs, gather feedback, and ensure they have buy-in from relevant parties before they start coding.
Why is it important for software engineers to find and solve high-impact problems?
-Finding and solving high-impact problems is a mark of a rockstar engineer because it demonstrates the ability to identify significant issues, convince leadership of their importance, and then solve them effectively.
How can software engineers improve their discoverability of problems within a system?
-Engineers can improve discoverability by spending time exploring the codebase, having casual conversations with team members, and examining metrics to understand pain points and surface issues to leadership.
What does it mean to become a subject matter expert in software engineering?
-Becoming a subject matter expert means being the go-to person for certain aspects of a company, being responsible for entire product lines or teams, and building trust by demonstrating deep understanding and expertise in a specific area.
Why should software engineers be customer-obsessed?
-Being customer-obsessed ensures that engineers are building products that solve real problems for real people, leaving their ego at the door, and focusing on delivering value to the end-user.
How can software engineers avoid over-engineering solutions?
-Engineers can avoid over-engineering by building for the current needs, not over-planning for future scale, and understanding that there is power in shipping a feature and iterating on it slowly.
What is the significance of mentoring in the growth of a software engineer?
-Mentoring is significant because it helps engineers learn from the experiences and habits of more experienced peers, improving their skills and efficiency, and contributing to their personal and professional growth.
Why is understanding business impact important for software engineers?
-Understanding business impact is important because it aligns engineers with projects that can significantly move the company's bottom line, increasing profitability and shareholder value.
How do top software engineers contribute to improving company culture?
-Top engineers improve company culture by running hackathons, writing blog posts, organizing conferences, and making the interview process better, understanding that a good culture attracts great talent and is essential for scaling a company.
Outlines
😀 Thriving in Ambiguity
This paragraph emphasizes the importance for software engineers to embrace ambiguity and take initiative in their work. It suggests that the best developers don't wait for detailed instructions but instead thrive on vague directions and are capable of identifying and solving problems independently. The speaker shares that top engineers spend time in thoughtful planning and design before coding, ensuring they understand the problem and define success criteria. They also engage in discussions and gather feedback to architect robust systems, demonstrating a deep understanding of trade-offs and the ability to make things happen without being spoon-fed.
🔎 Finding and Solving Problems
The second paragraph focuses on the ability of top software engineers to identify high-impact problems and convince leadership of their importance. These engineers spend time exploring the code base, engaging with team members, and analyzing metrics to uncover pain points. They then present these issues to leadership with a clear rationale for why they are problems worth solving. The speaker advises on the importance of data in making a convincing argument and the value of heavyweight engineers' support. The paragraph also touches on the speaker's personal use of the 'Magical' Chrome extension for productivity and communication.
👨🏫 Becoming a Subject Matter Expert
This paragraph discusses the journey to becoming a subject matter expert in a specific area of a company. Top engineers build trust by spending time in one area, understanding its complexities, and becoming the go-to person for that system. The speaker suggests that by being proactive in learning and solving issues related to the system, engineers can establish themselves as experts. They also highlight the importance of being involved in discussions and taking on challenges to demonstrate expertise and build a reputation within the company.
🤝 Mentoring and Building a Personal Brand
The paragraph discusses the role of mentorship in the growth of software engineers and the importance of giving back to the community. It emphasizes that the top engineers are those who help others improve, sharing their knowledge and experience. The speaker mentions that mentorship can take various forms, from document notes to career advice, and that the top echelon of engineers extends their influence beyond their company, contributing to the broader industry through blogs, conferences, and interviews.
💼 Understanding Business Impact
This paragraph highlights the significance of understanding the business impact of engineering work. Top engineers are aware of the financial implications of their projects and align their efforts with initiatives that can significantly affect the company's bottom line. The speaker points out that even if a project fails, being part of high-impact projects can lead to promotion and recognition within the company. They stress the importance of being involved in projects that can drive profit and shareholder value.
🛠 Improving Company Culture
The final paragraph emphasizes the role of top engineers in shaping company culture beyond their technical contributions. These engineers are described as driving cultural initiatives, such as organizing hackathons, writing blog posts, and improving the interview process. They understand that a strong company culture is essential for attracting talent and scaling the business. The speaker concludes by mentioning notable engineers like Jeff Dean and Sanjay Ghemawat, who have made significant contributions to both technical and cultural aspects of their companies.
Mindmap
Keywords
💡Thrive in ambiguity
💡Go-getters
💡Subject matter expert
💡Customer obsession
💡Over-engineering
💡Mentorship
💡Business impact
💡Technical debt
💡Product mindset
💡Culture improvement
Highlights
Thriving in ambiguity is key for top software engineers, who must accept responsibility without all the answers.
Higher-level developers receive fewer instructions and are paid more for their ability to solve problems with vague directions.
Leadership values the completion of projects on time and without excessive tech debt, rather than the method of execution.
10x engineers spend time in thoughtful design and discussion before coding, ensuring they understand the problem and define success criteria.
Finding and solving the highest impact problems is a mark of a rockstar engineer, who explores the codebase and metrics daily.
Convincing leadership of the necessity and priority of a problem requires data and persuasive communication skills.
Becoming a subject matter expert involves deep understanding and trust-building in specific company aspects.
The top 1% of software engineers are go-to people for certain aspects, often responsible for product lines and teams.
Product-mindedness is crucial; even infrastructure and backend teams have customers and should focus on solving real problems.
Continuously collecting feedback and prioritizing improvements shows a commitment to customer satisfaction and business success.
Avoiding over-engineering is important; build for current needs and iterate, rather than planning years in advance.
Mentoring others is a hallmark of the best engineers, who give back and improve the efficiency of their teams.
The top echelon of software engineers extends their coaching beyond the company, influencing the broader industry.
Understanding business impact and aligning with projects that move the needle is essential for career advancement.
Improving company culture is a way for rockstar engineers to scale a company and attract great talent.
Jeff Dean and Sanjay Ghemawat are examples of engineers who have improved culture and technical initiatives, increasing a company's market cap.
Emulating the behaviors of the very best software engineers is a path to personal and professional growth in the field.
Transcripts
to get ahead of 99% of software
Engineers you have to act like the top
1% and I've worked with them I sat next
to Kent Beck at Gusto I've been yelled
at by the first engineer at jet brains
and my now good friend is a circle CI
Legend and today I'm going to spill all
their secrets broken into eight key
areas starting with secret number one
Thrive and
ambiguity most software Engineers cannot
function without Direction they sit
around waiting for projects or even
worse individual tasks it's one thing to
get a meaty problem with a bunch of
unknowns that you have to go figure out
but it's even worse to sit around until
you're spoonfed an a sauna or jira
ticket spelling out exactly what you
need to do in fact this is a pretty good
way to approximate an engineer's level
usually the fewer the instructions on
the task the more experienced higher
leveled and better paid the developer
companies want go-getters they want
people who can take vague directions
like our tests are flaky or our builds
take too long or our AWS bill is too
high they're not told how to solve the
problem just what the problem is it's on
them to figure out the intricacies and
make it happen so how do you thrive in
ambiguity well the first step is to just
accept it don't shy away from
responsibility because you don't have
all the answers the truth is no one does
I used to think that I was a terrible
engineer because I couldn't finish the
entire project by myself and some god
tier staff engineer could but that's
simply not the case leadership doesn't
care how a project gets done they just
care that it's done on time without
introducing too much Tech debt and the
result is successful 10x engineer spend
a lot of time thinking and designing
before ever touching a line of code they
talk to a lot of people and try to
really understand what the problem is
and then they Define a success criteria
because remember if the problem itself
is vague then what it means to be
successful is murky too for example
let's say leadership comes to us and
says our AWS bill is too high well we
want to decrease it obviously but by how
much anyone can make up a number and say
we want it to go down by 50% per month
but is that a reasonable goal is it
attainable and more importantly does it
make sense maybe it's possible but not
at the cost cost of engineering time and
effort everything has a price and the
best Engineers understand trade-offs
once all the planning is done the pros
and the con the best Engineers architect
a robust system to cover all the
important cases no coding yet all this
is done on design docs and teex specs
which they then send out for feedback
they get all the relevant parties to
comment and once they have adequate Buy
in only then do they start coding
usually with a team of Engineers secret
number two find problems the best
software Engineers are independent they
can go find the biggest impact problems
convince leadership that they need to be
solved and then actually go solve them
finding the highest yield problems in
the first place is the true Mark of a
rockstar engineer and they accomplish
this by spending a little bit of time
every day just exploring the code base
having casual one-on ones with team
members and poking around in the metrics
their goal is to understand pain points
these can be technical bottlenecks or
product shortcomings or even just things
that give developers the ick a word I
learned quite recently and then they
surfac these issues to the PMS or
general leadership and they're often met
with the same question okay but why you
have to convince people that the thing
you're trying to solve is one an actual
problem and two big enough of a paino
that we should prioritize this isn't
easy to do because engineering projects
usually take months and are very costly
because engineering time is expensive so
how do you get good on both these fronts
finding and convincing well for
discoverability you just have to put in
the time you need to read code and
review PRS and Venture into parts of the
system system that are foreign to you
onboarding yourself and reading
documentation you'll have a fresh
perspective it's like that air freshener
commercial where the person can't tell
that their apartment stinks because
they're there all day well software is
very similar the more you interact with
the system the more biased you become so
A New Perspective can make all the
difference as for convincing people and
rallying them towards your mission well
that just takes practice you have to be
persuasive and in this day and age data
is king So when you say something is
slow tell me by how much and if
something costs too much then go find
out what similar sized teams are paying
and then prove to me that our spend is
multiple times that the more data you
have in writing the better your case
will be and of course having heavyweight
Engineers backing you can only help your
cause secret number three become a
subject matter expert the top one% of
software Engineers are the go-to people
for certain aspects of a company they're
responsible for entire product lines and
teams of Engineers and if something goes
wrong well the buck stops with them but
how do you build so much trust well if
you paid attention to the first two
Secrets then you're well on your way by
learning how to First find and then
break down ambiguous problems into
bite-sized chunks so you can make
forward progress you inevitably spend a
lot of time in one area and the deeper
you go the more complexities you unlock
and the better you understand that
system and at some point you've just
spent more hours than any other person
at the company and so you know the most
about that one thing the goods the bads
and the Ugly hopefully you don't hate
the area you've now learned so much
about because then you'd have to start
from scratching somewhere else the more
you get invited to meetings and roped
into discussions whenever your system is
mentioned the more people start
associating you with that area and if
you're not already that person well then
start faking it till you make it if
something breaks step in and volunteer
to help investigate and fix it if
someone ask a question instead of
pointing them in the right direction go
figure out what the answer is and tell
them don't find the right person for the
job become the right person for the job
get in the weeds and find the answer top
Engineers don't wait to become experts
they just act like experts and then one
day they become them doing all this
takes time and the top 1% of Engineers
know how to be productive one tool that
stands out is magical a completely free
Chrome extension used by over 500,000
people a lot of you reach out to me with
questions so I've created a calendar
link where you can grab some time to
chat about whatever is on your mind
since I get a lot of emails with magical
I can respond with the click of a button
I've set up a template with placeholders
so I can personalize each message and
then all it takes is dascal 30 and I'm
good to go I also use it when recruiting
when hitting up people for coffee chats
I use magical on LinkedIn you can add a
bunch of placeholders everything from
first name to company to so much more so
download magical today with my special
link in the description once again it's
100% free now let's get back to some
more tips secret number four be customer
obsessed if you forget who you're
building for then you're not valuable at
all the best Engineers are customer
obsessed and leave their ego at the door
just because you think something is cool
and technically challenging doesn't mean
we should go build it you're trying to
solve a real problem for real people and
though 99% of Engineers understand this
they don't live it or breathe it they
think it's the product or the user
experience team to understand the
customer and figure out what we should
build but it's not the best Engineers
are product minded and this doesn't mean
they're building a consumer app
everything is a product even the
gnarliest infra team or the backend
developer experience team they also have
a customer it just happens to be a
technical person while most engineers
get their project done and then move on
the top 1% of Engineers continue
collecting feedback they check in from
time to time and understand how their
customers are liking the product then
they suggest improvements and go on to
prioritize them they realize that you
can always do better and delighting
customers is the best way to make more
money which means more recognition and
then that means better pay secret number
five don't over-engineer ideally
remembering that you're building
products for a real person should stop
you from over-engineering but it doesn't
always as a computer science Enthusiast
and a fellow software engineer I love
when my projects are hard and complex I
just want to solve the most complex
problem so just leave me alone but the
truth is we only have so much time and
resources and we can't build everything
and I remember going down the rabbit
hole of trying to make something super
abstract or over-engineering a system so
it can scale to like hundreds of
millions of users when really all I
should be doing is building a simple
form for a web page build for what you
need now and that doesn't mean be dumb
and purposly make your life harder in
the future but don't plan months or
years in advance there's a lot of power
in Just shipping a feature and then
iterating on it slowly that's definitely
better than spending an entire year
developing something and then no one is
using it you'd rather put something out
that has thousands of users and then
slowly make it better the biggest place
amateurs fail is scale they think that
the real world is like a system design
interview and that you should just throw
CPUs and cores and expensive systems on
a problem the top 1% aren't the best
coders strong programming fundamentals
can definitely help but it's not
necessary so if your goal is to become
the top lead coder or a legend grandm at
code forces or even an international
Olympiad gold medalist well then I'm not
your guy I didn't even know you could
earn these titles until like 5 minutes
ago the best software Engineers simply
build the best products in the time
frame that they're given they realize
that there are real world constraints
and you can always improve and iterate
in the future also you'll always
introduce Tech debt there'll always be
stuff you have to fix later and
understanding and embracing that is a
superpower secret number six Mentor
others hopefully this one isn't a
surprise because I'm sure the software
Engineers you look up to most have
helped you in your own personal growth
and career in some way the best
Engineers give back and make the people
around them better it's what they're
judged on because if you're not making
your direct team more efficient then
what are you doing companies want
multiple Rockstar engineers and some are
just born that way but the majority of
them are coached into that level by
spending time pairing with and getting
feedback from Superstar Engineers you
start emulating their habits and
behaviors and good industry conventions
it's like faking it till you make it but
you're not really Faking It anything
you're just copying until you get there
mentorship can come in many different
forms it could be notes on a document or
comments on a poll request or just
career advice in a casual one-on-one but
the true differentiators that top
Echelon of software Engineers the top 1%
of the 1% they don't constrain their
coaching only to the company they
believe that their brand should Echo
across the industry and they do this
through blogs and conferences and
interviews secret number seven
understand business impact if these
layoffs have taught you anything it's
it's that companies only care about
their bottom line increasing the bottom
line means more profit which means more
money back to shareholders people often
think that Engineers should be shielded
from the intricacies of making money
that's for the product and finance teams
right wrong the top 1% of Engineers
embrace the numbers and align themselves
with projects that will move the needle
the joke at Google used to always be
that the fastest way to get promoted was
by getting on projects that would ship
and make a big impact even if they fail
it's the reason there have been so many
messaging apps from Google Hangouts and
me an Alo part of succeeding is having
people in your corner and there's
nothing that brings people together like
money spending time understanding the
money printing machines that are company
and how to improve margins or create new
business lines is the best way to make a
splash secret number eight improve
culture and last but not least Rockstar
Engineers improve a company in more ways
than just engineering and product they
drive culture they run hackathons and
write blog posts and organize
conferences and they even make the
interview process better they understand
that the only way to scale a company is
by working on its culture good culture
is the best way to attract great talent
if you think of two of the best
Engineers out there Jeff Dean and Sanjay
Gad they built some insane products at
Google but their reputation is so much
more than that they've mentored hundreds
if not thousands of Engineers improved
culture as well as technical initiatives
like code processes and testing and
they've worked on projects that have
directly increased Google's market cap
I'm not a top 1% engineer I'm nowhere
close but by emulating the behaviors of
the very best software Engineers I'll
eventually get there and so will you
that's all I have till next time cheers
関連動画をさらに表示
10 Reasons Why Your Small Business Will Fail - and How To Avoid These Tragic Mistakes
Understanding the role of a distinguished engineer
My Honest Thoughts on the Future of Software Engineering - How do we evolve in the AI world❓
Alen Faljic on Soft Data and Design Thinking (Full Interview)
How to Be a Good Communicator: Master Interpersonal Conversation
I Asked Googlers How To Get Hired
5.0 / 5 (0 votes)