Strategies for Achieving Financial Freedom as a Software Engineer. Part 1: Working at a Promising Software Company with Share Options as a Loyal Employee
A good company’s shares reward for loyalty can be quite significant.

In this Strategies for Achieving Financial Freedom as a Software Engineer series:
- Part 1: Working at a Promising Software Company with Share Options as a Loyal Employee
- Part 2: Micro-ISV / Start-up Founder
- Part 3: Software Reselling (Passive Income Way), coming soon.
This article shares my thoughts, drawing from my personal experience and observations, on how a software professional makes a good living from professional income (i.e. utilizing IT skills, excluding financial investments, e.g. share trading or cryptocurrencies).
I intentionally avoid using “Wealth” or “Rich” in this context. Although the actual monetary value holds significance, additional factors, including job satisfaction, freedom, time for family and a sense of accomplishment, are more important.
For example, an Independent Software Vendor (ISV) with $1000 Monthly Recurring Revenue (MRR) enables one to live a comfortable life (of his choice) in Thailand. He might think he has more freedom and is even richer than a Senior VP earning a yearly salary of $300,000, who spends many hours on pointless meetings. This ISV might develop ideas for more revenue-generating products/services with that freedom. Upon reaching $2000 MRR, he might opt to reside in China (may develop more opportunities there), and with $3000 MRR, he could even consider Japan (for great food 😊). (Incidentally, an increasing number of developed nations are offering ‘Digital Nomad’ visas.)

If you’ve perused the best-selling book: “The 4-Hour Workweek”, you might find resonance with the idea of the “New Rich” introduced in the book.
Table of Contents: · Either Way, An Extraordinary Effort is Required. · Option 1: A Loyal Employee in a Good Company with Generous Stock Options for a Long Period · Switching Jobs might do well for salary but not for shares. · My Advice to Succeed at a Top Software Company ∘ Am I qualified to Advice? ∘ My Specific Advice
Either Way, An Extraordinary Effort is Required.

Whether Sturgeon’s Law Applies To Human Beings is debatable, but I think that the statement “90% of human beings are ordinary” would likely be accepted by most people.
Attaining “Financial Freedom” can be classified as “Extra-ordinary”. This means higher requirements for software engineers.

There is nothing wrong with a 9–5 software engineer whose daily routines include commuting, long and boring stand-up meetings, silly user story points estimation, waiting for approval of a PR (code review), and frustrated in working on a so-called Agile project with 100+ outstanding defects. It’s perfectly normal and nothing to be ashamed of; you strive to support yourself and your family, and no one can criticize that.
Being ordinary is not a bad thing, not at all.
Here, I am taking a step up, i.e. beyond the ordinary. I wish I had realized this much earlier; if I had, I would have made some different decisions. Whether the endeavour is a success or not, the experience is well worth the effort.
In my view (purely subjective), there are three options to achieve “Financial Freedom” as software engineers:
- A Loyal Employee in a Good Company with Generous Stock Option After a long period, might accumulate enough wealth to retire early.
- Micro-ISV or Start-up owner Create a successful app(s)
- Software Reseller Reselling software/apps with ongoing passive income.
Option 1: A Loyal Employee in a Good Company with Generous Stock Options for a Long Period
While it doesn’t sound exciting and takes a long time, this is a high probability for hard-working and talented software professionals.
In this YouTube video, Steve Huynh, an Amazon L7 principal software engineer, publicly revealed his professional income for 2021.
Base Salary: US$160,000 Stocks (RSU): US$375,533
The total amount matches the reported Amazon’s L7 SDE salary on levels.fyi (which was US$477,560).
Please be aware that a significant portion of personal income will be subject to heavy taxation, which is a government’s tool to make sure most employees don’t become rich. So, as an employee, the only way to earn a-lot-higher-than-average income, like Steve.
More than 70% of Steve’s earnings come from company shares. While I’m unfamiliar with the details of the Amazon Employee Share Scheme, his 18 years of service undoubtedly played a significant role.
There are higher engineer ranks in Amazon, such as L8 Senior Principal Engineer and L10 Distinguished Engineer.
Steve showed that a loyal software engineer can make very good money (beyond the base salary) by working at a promising IT company for a long period.
Certainly, it doesn’t necessarily have to be the tech giants. With good luck, you could join a promising startup and become a double-digit millionaire when the company goes public.
Switching Jobs might do well for salary but not for shares.
Some might disagree by saying, “Staying on one job for a long time might not be good for growth”. Some people might indeed get a higher position or salary in a new position. There is no golden universal rule.
My recommendation is grounded in the common practice of rewarding loyalty with allocated shares in publicly listed big IT companies. After ten or twenty years, if you are lucky, these shares can potentially surpass your salary significantly.
Besides the shares, companies may award loyal employees in different ways. For example, the highly profitable 37signals awards employees one unit for every full year, then distributes the bonus pool by units.
According to a recent interview, 37signals (building apps based on Ruby on Rails) seemed to have annual double-digit million profits. With only ~70 staff, its annual bonus would be quite some money.
My Advice to Succeed at a Top Software Company
I guess readers who don’t know me well will think, “Are you qualified to talk about this?”
Anyone can provide advice, but people can choose not to hear or ignore it.
Am I qualified to Advice?
In case someone accuses me of dodging the question.
- I worked at a global tech giant (Nortel Networks) before
- My daughter’s first job is and ist still working at FAANG
- I have mentees who did well at FAANG and Microsoft, and they thanked me for my mentoring.
Here are the messages of gratitude sent by a former mentee upon securing a senior program manager position at Google USA. Previously, he held roles at Amazon and Microsoft.

My Specific Advice
Certainly, numerous factors and variables can influence the outcome of your interview, work performance, promotion prospects, and so forth. Therefore, my advice will be tailored to address specifics, which are
- Reading books regularly Not just online articles or watching videos. Deep understanding and broad knowledge can only achieved by reading books/magazines. The reason is simple: the stuff you see online is mostly delivered to you by computer algorithms.
- Writing regularly Many software engineers didn’t realize the importance of writing.

- Using keyboard shortcuts for high productivity and cool, too! When coding Java in IntelliJ IDEA, I rarely needed to use the mouse.
- Learn and practice Test Automation, especially E2E Test Automation. Many programmers do not know E2E test automation and don’t realize its great benefits. Demonstrating E2E Test Automation (intentionally and unintentionally) will improve professionalism. My daughter got full marks on all University Assignments that involved demonstration, on which she triggered a run of Selenium/Appium automated tests in TestWise IDE. E2E Test Automation is the foundation of Agile; despite nearly all software engineers lacking E2E Test Automation knowledge, few would invest their time/money to learn it. This is a huge advantage for those who do. Learn it and, even better, find yourself a mentor.
“In my experience, great developers do not always make great testers, but great testers (who also have strong design skills) can make great developers. It’s a mindset and a passion. … They are gold”. - Patrick Copeland, Google Senior Engineering Director, in an interview (2010)
“Testing is harder than developing. If you want to have good testing you need to put your best people in testing.” - Gerald Weinberg, software legend, in a podcast (2018)
- Master a good text manipulation language, e.g. Ruby.


My daughter certainly derived benefits from the aforementioned during her interview.
Some Software Professionals might think, “18 years, that’s too long to achieve financial freedom!”. Please, the majority of software professionals are unable to achieve that!
By the way, Steve Huynh quit Amazon in January 2024 (to be self-employed).
If your goal is that ambitious (working for yourself), be ready to commit to extraordinary effort, investing both capital and your spare time. Keep an eye out for my upcoming articles detailing two alternative options.
Related reading:
- My eBooks: - Practical Web Test Automation with Selenium WebDriver - Practical Continuous Testing: make Agile/DevOps real
- I Just Had a 2.5-month Vacation, Feeling Truly Free for the First Time.
- An Event Changed Me to Work for Myself: Attending One Former Colleague’s FuneralA Tale of a Deceptive End-to-End Test Automation Engineer
- Software Engineer Choices: Permanent Employee vs Contractor vs Micro-ISV, Part 1: Employee
- Why Ruby is the Best Scripting Language for End-to-End Test Automation?






