7 Years of Software Engineering Advice in 18 Minutes
Summary
TLDR本视频脚本由一位拥有七年软件工程师经验的演讲者分享,他从简单的程序员发展到领导数百万项目,并最终成为企业家。演讲者强调,软件工程师的核心是解决问题的创造性思维,而非编程技能。他建议软件工程师应专注于提升沟通技巧、自我营销能力,并认识到自身作为创造者的价值。此外,他还鼓励软件工程师利用自己的技能进行创业,因为这些技能在商业领域同样适用,并能快速学习新事物。
Takeaways
- 😀 软件工程师的核心是解决问题,不仅仅是技术问题,也包括非技术问题。
- 🔑 编程技能虽然重要,但并非软件工程师最重要的技能,沟通能力更为关键。
- 📈 软件工程师在职业生涯中应不断提升沟通技巧,这对团队协作和项目管理至关重要。
- 💼 软件工程师需要学会如何营销自己,展示自己的独特优势,以在竞争激烈的职场中脱颖而出。
- 🚀 软件工程师具有成为企业家的潜力,因为他们具备解决问题和创新的能力。
- 🛠️ 作为创造者,软件工程师拥有在多个领域创造解决方案的能力,不仅限于技术领域。
- 🌐 软件工程师在学习和掌握新技能方面具有优势,这有助于他们在不同领域快速适应和发展。
- 💰 许多软件工程师可能被低估,他们为公司创造的价值远高于他们所获得的报酬。
- 🏢 软件工程师在高成本地区工作时,可能会面临生活成本高和实际收入不成正比的挑战。
- 📝 良好的文档编写和代码注释是沟通技巧的一部分,有助于团队成员理解项目和代码。
- 🤝 软件工程师应主动与上级沟通,了解如何快速晋升,并利用沟通技巧推动自己的职业发展。
Q & A
视频中提到了哪些职业角色和经历?
-视频中提到了从简单的程序员或SL开发者开始,到在UCLA研究人类意识的研究工程师,再到NASA的计算机工程师,最后成为四大公司的软件工程师顾问。
为什么作者认为编程能力不是软件工程师最重要的技能?
-作者认为编程能力虽然重要,但在整个职业生涯中,沟通能力才是区分软件工程师的关键,因为几乎所有问题都源于沟通不畅。
作者为什么强调软件工程师需要良好的沟通技巧?
-作者强调沟通技巧是因为在实际工作中,无论是与利益相关者还是团队成员交流,都需要清晰地传达信息,这包括口头沟通和文档编写。
为什么作者认为软件工程师应该考虑创业?
-作者认为软件工程师具备创造能力和技术优势,能够快速学习新技能,并且由于他们通常被低估,创业可以更好地实现个人价值。
作者提到软件工程师在哪些方面具有优势?
-作者提到软件工程师在解决问题、学习新技能、适应新技术、以及创造技术解决方案方面具有优势。
视频中提到的'10x程序员'是什么意思?
-'10x程序员'是指那些在编程能力上非常出色的人,他们能够快速理解问题并编写高质量的代码。
作者为什么建议软件工程师应该更多地关注市场营销技巧?
-作者建议软件工程师关注市场营销技巧,因为这样可以更好地展示自己的技能,使自己在众多候选人中脱颖而出,无论是求职还是晋升。
视频中提到的软件工程师的薪资与他们创造的价值不成比例,这是真的吗?
-是的,视频中提到许多软件工程师的薪资远低于他们为公司创造的价值,尤其是在高成本生活地区的软件工程师。
作者如何建议软件工程师提升自己的市场竞争力?
-作者建议软件工程师通过提升沟通技巧、学习市场营销、以及展示自己的独特优势来提升市场竞争力。
视频中提到的软件工程师在职业发展中应该避免的常见错误是什么?
-视频中提到的常见错误包括过分关注编程技能而忽视沟通技巧,以及没有意识到自己作为创造者的角色和潜力。
作者为什么强调软件工程师应该理解自己的价值并不仅仅局限于当前的工作?
-作者强调这一点是因为软件工程师通常被低估,他们创造的价值远超于他们所获得的报酬,理解自己的真正价值有助于他们在职业发展中做出更好的选择。
Outlines
😀 软件工程师的职业发展与自我提升
本段讲述了一位拥有七年经验的软件工程师的职业发展经历,包括从程序员到NASA计算机工程师,再到软件工程师顾问的转变。强调了软件工程师不仅是编程技能的掌握者,更是解决问题的创造者。提出了对现有软件工程师、有志成为软件工程师的人以及处于职业发展中间阶段的人的建议,包括提升沟通技能、理解软件工程的本质,并强调了沟通技能在软件工程师职业中的重要性。
😉 软件工程师的沟通与市场推广
这一段深入探讨了软件工程师在职业发展中沟通技能的重要性,并指出许多工程师因缺乏沟通技能而面临职业发展瓶颈。提出了软件工程师应该像营销人员一样学会展示自己的技能,强调了在技术能力之外,如何有效沟通和营销自己是获取更好工作机会的关键。同时,提出了软件工程师作为创业者的潜力,以及他们如何利用沟通技能在创业领域取得成功。
🤔 软件工程师的创造力与价值认识
在这段中,演讲者强调了软件工程师作为创造者的角色,讨论了他们在技术世界中创造解决方案的能力。提到了软件工程师在不同领域,如电子商务和加密货币市场,如何利用自己的技术能力解决非技术问题。同时,指出了软件工程师在学习和掌握新技能方面的优势,以及他们如何将自己的技术能力转化为商业价值。
💼 软件工程师的薪酬与自我价值
本段讨论了软件工程师的薪酬问题,指出许多工程师虽然为公司创造了巨大的价值,但获得的报酬远低于他们的贡献。提到了软件工程师在高成本地区生活的压力,以及他们如何意识到自己的价值并利用这一点来提升自己的职业发展。同时,鼓励软件工程师认识到自己的价值,并利用这一认识来推动自己的职业发展或创业。
🚀 软件工程师的职业规划与自我推广
最后一段中,演讲者总结了前面的观点,并提出了具体的职业发展建议。强调了软件工程师需要不断提升沟通技能,认识到自己作为创造者的角色,并学会如何有效地自我推广。分享了个人在职业发展中主动沟通和了解如何达到下一个职业阶段的经验。鼓励观众思考如何提升自己的竞争力,并提出了制作关于沟通和自我推广技巧的后续视频的建议。
Mindmap
Keywords
💡软件工程师
💡沟通技巧
💡技术能力
💡市场营销
💡创业
💡创造者
💡职业发展
💡问题解决
💡自我营销
💡价值认识
Highlights
拥有七年软件工程师经验的演讲者分享了其从程序员到企业家的职业旅程。
强调了软件工程师的核心是创造软件解决方案来解决各种问题。
演讲者认为编程技能并非软件工程师最重要的技能,沟通能力才是关键。
提到了软件工程师在职场中遇到的沟通问题,以及这些问题如何影响团队和项目。
建议软件工程师应该专注于提升他们的沟通技巧,而不仅仅是编程技能。
讨论了软件工程师如何通过市场营销自己的技能来获得更好的工作机会。
强调了软件工程师在求职时需要展示自己的独特优势和价值。
演讲者分享了自己作为企业家的经验,以及软件工程师如何利用他们的技能来创业。
提到了软件工程师在不同领域中作为创造者的角色和潜力。
讨论了软件工程师在学习和掌握新技能方面的优势。
演讲者分享了自己如何通过沟通技巧快速获得晋升的经验。
强调了软件工程师在创造商业价值方面的潜力,以及他们常常被低估的事实。
提到了软件工程师应该意识到自己的价值,并考虑创业或转换职业道路。
演讲者建议软件工程师应该问直接上司如何达到下一个职业阶段。
最后,演讲者鼓励软件工程师通过提升沟通和营销技巧来获得竞争优势。
Transcripts
if there's one thing I'm good at after
seven years of being a software engineer
is definitely creating I started as a
simple programmer or SL developer
whatever you want to call it working in
robotics then went into researching into
human consciousness at UCLA as a
research engineer then went into NASA as
a computer engineer and finally ended my
professional career as a software
engineer consultant working for big four
and throughout this entire Journey this
entire seven years I actually got the
opportunity to lead many multi-million
dollar projects work with diverse
stakeholders of Fortune 500 compan
companies essentially just try a piece
of the entire pie in every single aspect
literally now I'm a business owner and
entrepreneur and I see a lot of
parallels between this life and that
life what I wanted to do today is mainly
make a video for those of you who are
already existing software Engineers
those of you who wish to become a
software engineer or those of you who
are somewhere in the middle and are just
you know you have everything in your
tool you have everything in Your Arsenal
and are just looking to find a job but
are having difficulty to do so I don't
want to make a promise or anything but
if you actually take a note on
everything that I'm talking about here
there's no reason for you to not be able
to make more money and be in a better
situation than you are now by the end of
this let's just jump right into it and
let's get started right off the bat
let's first talk about software
engineering what the essence of software
engineering what it actually is many
people want to become a software
engineer but don't even realize what it
actually entails the important thing to
realize here is you create so that's
number one a solution in this case
specifically a software solution to a
problem the problem doesn't necessarily
have to be a software problem it can be
a non-technical problem that you create
a technical solution for think of uber
so with that out of the way now that we
know what a software engineer is let's
talk about the first piece of a advice
that I'm going to give you and that is
what actually makes a good software
engineer many people think it's your
programming knowledge how many different
languages do you know how good are you
at those programming languages because
I'm sure we've all experience the 10x
programmer right in our groups or in our
teams whenever we're University even
outside of University you've seen those
really really smart individuals that
just understand a problem just like that
instantly right off the bat and I'm sure
you've seen those other folks who just
literally like eat the lead code
problems for breakfast I refer to these
people as 10x programmers because
they're extremely good at one of the
skills of a software engineer which is
coding right programming but that's
actually what I learned is that
throughout my entire Journey as a junior
developer and then a senior and finally
a manager is that that programming is
one of the least important skills when
you are a software engineer so this
might sound contradictory but let's
understand one thing first pretty much
any software engineer that gets these
positions that actually gets a job guess
what they already meet a certain bench
line they they have a certain Baseline
that they were able to meet to get that
job there is no shortage of talent in
software engineering especially nowadays
with the actual computer science and
computer engineering becoming such
popular degrees it's attracting a lot of
smart individual ual from all around the
world from India from China you have a
lot of talent coming into the field so
there's really no shortage of specific
Talent there's no such thing as oh I
can't find somebody to do this problem
in fact it's the complete opposite what
makes a good software engineer is not
necessarily the coding skills but it's
the communication skills that sets all
the software Engineers apart from each
other I'll tell you one thing I've been
in industry for well now I'm out but
I've been in industry for a little over
7 years every single problem or every
single hiccup every single thing stemmed
not from a talent or skill problem it
was never oh I can't do this or I can't
do this in this specific amount of time
never it was all about communication it
was all about because the software
Engineers were lacking communication
skills simple Elementary communication
skills so right off the bat if you want
to get into this field or if you're
already in this field this is why I
always recommend for people to start
quoting less and start focusing more on
their communication skills or just other
soft skills now whether you are on a
project and you're talking with
stakeholders whether you are talking
with your own teammates whatever it is
you need to convey everything that you
need to convey in a manner that other
people can understand this isn't just
restricted to oral communication as you
might think no even documentation right
whenever you're documenting your code or
whatever you're leaving in a comments to
help explain the next person that is
still communication and I'm seeing a lot
of folks at least I used to see a lot of
folks back in the day not even knowing
how to document things properly right
and what would end up happening is they
would create a buzz Factor they would
work for one company they would be an
excellent programmer in terms of
technically skills wise so they would
make all these things but because their
communication was lacking they wouldn't
either be able to properly communicate
to other individuals they wouldn't leave
any documentation behind and it would
create a buzz Factor the next person
that came in that had to take a look at
their code to understand what the hell
was happening they didn't know what to
do and that person essentially became
the only person who could do that
specific thing and that company ended up
at a loss because if that person ever
decided to
quit that's pretty much it right one
thing right there is you got to work on
your communication whether you're
already a software engineer whether you
want to become one does not really
matter you need to work on your
communication because I guarantee you
most of you are already quite
technically Adept this actually goes on
to the second point for those of you who
are struggling to get a job or those of
you who want to switch to a better job
the key piece of advice this is not the
second point that I want to bring up to
actually getting a good job to getting a
higher promotion or getting that
position that you want or getting into
that big four position it's all about
marketing it's not necessarily that they
don't have the technical capabilities to
pass these interviews or to even get
these interviews in the first place or
to get the job it's rather they don't
have the abilities to properly display
their skills right they don't know how
to Market themselves so these companies
to show them hey I can do this and you
need me for this because I mentioned
before there's no shortage of talent
there's Talent everywhere in the space
and the people who are getting these
jobs are people who are good at
marketing people who know how to
differentiate themselves from other
people and show that they have a unique
advantage over others they have a unique
little you know like poof the number one
thing for this is realizing that you as
a software engineer are not bound by
strictly your technical skills you as a
software engineer need to be a lot more
Diversified when it comes to the skills
that you consider quote unquote
important or necessary functioning as a
software especially in today's world as
time goes on the technical skill cap
actually keeps increasing because it's
just competition is higher and higher
but what the funny thing is too is when
it comes to actually getting a job and
things like that companies are starting
to Value communication skills a lot more
than technical skills nowadays why well
the average software engineer now will
completely crush the average software
engineer from 10 or 20 years ago and
that's simply natural because everything
Advanced our education advanced in terms
of learning things and now we have ai to
also help as well right so we do things
in a much more efficient timeline you'll
slowly start to realize that everything
that I'm saying is Shifting away from
the technical aspect of things and more
so focusing on you as an individual in
terms of you leveraging your software
engineering skills to you know not only
get that better job that you want or
which is kind of the caveat here to get
into entrepreneurship later on I talk in
some other videos about why software
Engineers actually make the best
entrepreneurs so that's my third piece
of advice here is that if you're good at
communication skills and you know how to
Market yourself properly you know how to
entice people to you know want your
services you are already set up to
become an entrepreneur yourself the
reason being is many of you already are
familiar with this whether you're at a
job right now or you're thinking of
getting into a software job you know
that every two or three years you're
going to have to change why because you
simply outgo that position and switching
jobs is better you get a better pay
raise right uh you get possibly a
promotion so there's literally no reason
for you not to switch jobs as a result
there's no real company loyalty software
Engineers don't really have company
loyalty as some of the other might have
in other different aspects of um work in
many cases if a software engineer stick
with one company too long it ends up
being a negative they end up losing out
on a lot now there's some caveat cases
especially if you're part of a startup
and you have stocks you have equity in
that company and then new IPO that's a
completely different case but most
people aren't like that most people
aren't going into these startups and
doing that most people simply want to
get a big four position and even then if
you look at most you know big four
people they they'll be working at Uber
going to Netflix going to Google going
to Facebook and just constantly making
that switch because there's always these
big companies are always competing on
who they can have right and if you can
already differentiate yourself from
other candidates if you already have the
technical skills to even be able to
apply to these jobs right you meet that
Baseline level and you have the proper
communication skills to not only lead a
team but also communicate with your
co-workers and make sure you know
manager understand understands what
you're doing make sure the stakeholders
know what you're doing what you're up to
you already have all the skills you
really need to go on your own path and
that's my third piece of advice the
fourth piece of advice that I want to
talk about here and it it's kind of like
it Loops back the previous three in
combination is that as a software
engineer never forget your role as a
Creator more than anything you are a
Creator in fact software engineers in my
opinion are the best creators in the
world more so than any artist more so
than any person construction software
Engineers are the true creators because
right now we're in a technology world
right we're in a technological era most
solutions to our problems are being done
so technologically and guess what
software Engineers are the creators who
create these software Solutions you have
extreme leverage and you have extreme
power in your creating capabilities
because you don't really need anybody to
hold your hand in creating things I'll
give you an example I I talked about
myself with regards to actually in
e-commerce right getting into it
creating the landing page creating the
website having a little bit of success
there and I saw an individual in who
actually left the comment they were
creating a crypto bot so bot for
training in crypto space but do you see
the amount of Leverage that you can have
a software engineer so I got into
specifically e-commerce back then now I
have my own consulting firm that I use a
ml for but that individual went into
crypto so our Leverage is we don't have
to just construct ourselves into
creating for one specific thing no we
can get to pretty much any single space
and create create a technical solution
for even non-technical problem right in
many aspects some of these web de
developers that I've seen uh can
actually go to just just local cafes
local restaurants who don't even have a
proper website and offer to create an
online presence for them offer to create
a proper website for them pretty much a
technical solution to a non-technical
problem right because most people would
think oh the restaurant needs to do
better marketing right that's why the
versatility is so important to
understand and many times people might
think that well if a software engineer
goes into another space a non- technical
space that'll be at disadvantage but
that is completely not true a software
engineer will have a lot more advantage
over every other individual in the world
when it comes to picking up a new skill
or learning something new how many of
you currently as software Engineers
excel at let's say gaming how many of
you as software Engineers excel at the
creative aspect of things how many of
you as software Engineers create excel
at problem solving things such as chess
or things like that you see as a
software engineer you have a core skill
set that you develop over the years
thinking that way thinking in terms of
pseudo code approaching a problem bit by
bit breaking it down it forms actual
physical changes in your brain and the
way you approach life completely changes
that's why many software Engineers
whenever they try to learn a new skill
afterwards or they try to get into a new
field they pick it up extremely fast
more so than the regular person now I'm
not saying software Engineers are the
prime Primal human beings right they're
better than all human beings no I'm just
saying that software Engineers have an
overwhelming advantage in learning new
things and specifically getting into
business where Prett much every single
skill of a software engineer literally
shines it's as if it's made for business
the fifth piece of advice that I would
like to give out and I think it's the
one of the most important ones that I
learned as well is that often times
software Engineers they'll come to a
point where they'll realize that the
money that they're making is simply not
worth it what do I mean by this I mean
that many software Engineers throughout
their Journey will either end up in New
York or California if it's not remote if
if it is remote they'll still get a job
that is based in those countries excuse
me in those States and maybe move to a
state with less taxes and so on but
nevertheless most software Engineers
will be in those States and as you
already know the living cost in those
States is extremely high so most
software Engineers will actually be
living paycheck to paycheck and there
was a study done about 57% of software
Engineers actually live paycheck to
paycheck you start to realize that the
amount of value you are bringing to your
own company is severely more and
exponentially more than the amount of
value you're getting back in return so
the amount of money that you're getting
in return compared to the amount of
money that you're generating for your
company is simply crazy and it's more so
than any other profession that I have
seen and witnessed personally I have
friends who are doctors I have friends
who are lawyers I have friends who are
just in all sorts of you know positions
and the amount of value that they bring
to a company or to a business severely
less than a software engineer now I'm
not talking about a doctor saving a
human life cuz there's no value to that
but I mean in terms of just monetary
value towards the business for example
how much a lawyer brings to his business
and how much he gets paid versus a
software engineer it's not even
comparable there are software Engineers
who are let's say on $150,000 or
$200,000 salaries and the work that they
are doing is being valuated at multiple
tens of millions of dollars some some
companies even some folks even right
we've seen with Zuckerberg who was a
solo developer the amount that he
created I mean the product that he
created is now in a multiple of billions
of dollars but back then if somebody
hired him as a developer to actually
make that product they would have
probably paid him $1 to $200,000 and it
just goes to show you that every single
software engineer actually has this
problem many people think they're paying
a lot more than they worth but that's
not the reality they're being paid a lot
less than their worth and I should tell
you something that you yourself already
have a lot more value than you think you
do you have a lot more to offer to the
world than you think you do don't think
that whatever get paid at your job is
directly correlated to how much you're
worth in terms of the value you can
provide to a certain company because
while one company might pay you a
specific amount if you yourself go into
the solar preneur route or an
entrepreneur route and think of a
solution that you come up with that can
very well be valued in the millions if
not tens of millions maybe even billions
in very nuanced cases right so
understand that as a software engineer
you're already any job you get into any
position you get into you're already
starting in a position of being
undervalued um of course if you're a
beginner this is a different case but if
you already have a couple years of
experience behind your belt this is
definitely most definitely the case
because as mentioned before pretty much
every single person that I worked with
every single software engineer that I
work with or even when I was at Nasa
working as a computer engineer the
amount that I was getting paid was
nowhere near the amount of value I was
bringing in and of course the company
has to profit of you but most companies
are you know running on maybe 20 to 50%
and that's really good profit margins
and when I saw that these companies were
legit their multipliers were 10 to 20
sometimes even 100 on some of these
Engineers it was simply crazy and that's
you know that connects back to my number
one point with there's no shortage of
talent there's a lot of talent in this
field and it's just the communication
skills that really hold people back when
it comes to software engineering a lot
of people are way too tunnel visioned on
just the programming aspect of things on
the coding aspect of things they want to
know you know what type of developer do
I become do become a full tack do I
become a front end back end do I get
into AI do I get into machine learning a
good analogy to this would be any
problem that you approach right you're
not thinking of hey okay how do I solve
this problem no you first think of why
do I need to solve this problem in the
first place what does it do and then you
can understand okay how can I solve this
problem so most people when they see a
specific technical problem the first
question they ask is how but you should
always first ask why why do I need to
solve this problem that's pretty much
the most important things that that I
wanted to discuss today I hope you know
they ended up helping you at least a
little little bit but if you truly take
into consideration all the advice that I
just gave you and write it down and just
every single day try to perform in that
manner try to understand and grasp that
information always knowing to improve
your communication skills as a software
engineer always realizing your role as a
Creator right so always looking to
create things whether it's technical or
non-technical solutions to problem
and always knowing that especially if
you want to be better if you don't even
want to get into entrepreneurship if you
want to just climb the corporate ladder
you need to be able to Market yourself
so because that's pretty much the only
choice you really have is you need to
get better at communicating as well as
being able to Market yourself properly
if you're thinking of okay how can I do
that there's a lot of different ways
right you can be the person who reaches
out to people on LinkedIn you can be the
person who sends out personalized Loom
videos so there's always something you
can do when it comes to communicating
and marketing yourself that you can get
the edge over the very next person one
of the best things that I used whenever
I you know every time I got into a new
job is I would always ask my direct
manager what I need to do to get to the
next level in terms of the next position
if I was a developer regular Dev I would
ask how can I get to the senior what do
I need to do and every week or every two
weeks I would ask okay where am I now on
this journey am I close am I close and
that's why pretty much all of the
promotions that I've had in my career
have been in less than about 8 8 to N9
months like three or four times faster
than the average person because I've
always taken things into my own hand and
I've used my communication skills to my
advantage and that's something that a
lot of softw rers don't actually do so I
don't want to leave this video on too
like too long dragging on but let me
know if you would like to see a specific
video about that how to maybe go about
communicating as a software engineer and
how to really gain a Competitive Edge
over the other developers and how to use
that later to start your own business
and actually become an entrepreneur
yourself so without further Ado thank
you so much for watching and as always
have a good one
浏览更多相关视频
How I built 21 startups in 2 years
Devin AI - Are Software Engineers finally doomed?
The Future Of Software Engineering - NO MORE CODING
Honest FUTURE of Software Engineering | Is It A Good Career Option in 2024 🥲? AI, DEVIN is HERE
ギターパーツからピックも自作の時代! ギタリストにも超便利な3Dプリンターをご紹介!【ENTINA / Tina 2S】
How to Be A Good Tech Lead - Survival Guide
5.0 / 5 (0 votes)