
Invest In Your Career Early On
Work Hard Now, Have Options Later
This post is geared towards college students, interns, new-grads, entry-level and mid-level engineers.
As a new grad or a young professional in your first 5 years, I recommend investing in your work more than the bare minimum. Why? Because the compound interest of investing in your work early on can pay off huge dividends later on. We all know that compound interest is like exponential growth in Big O notation. The real trick though, is to start early, because the earlier you put in the investment, the greater the rewards.

No, you won’t magically see your salary increase today simply because you put in more hours. Not immediately, anyways. But you will soon find that work gets easier for you more quickly than your peers, and that is worth its weight in gold. That is the first reward you’ll attain. Later in your career, you’ll be able to cash out on other rewards, if you put in the proper investment.
This post will describe the rewards and ways to invest in your career so that you can earn those rewards. This post is about breadth. We will cover a lot of ground, but not go too deep into each of them (each could be its own post). Happy to elaborate on any of the points though, if you let me know.
Before I talk about ways to invest, let’s first talk about the rewards and ways to cash out. I’ll be using a lot of investment terminology like invest, dividend, compounding, exit, trade, so look those up first if you aren’t already familiar.
Possible Rewards
Most of us will think about money as the first thing. But I’m here to tell you that while money is important and needs to be managed well, it’s not the only reward. There are many other intangible ones that are also quite valuable:
- Optionality. Having more choices in the future.
- Technical Skills. The hard skills that are part of our technical competency as engineers.
- Self-Management. You are given multiple tasks to do, and you must learn to effectively manage yourself in order to bring those tasks to completion, or negotiate proper deadlines.
- Professional Relationships. You probably aren’t working alone. Your professional network will grow over time.
- Communication Skills. The ability to communicate effectively with others, even the people we don’t like. This may involve difficult conversations with unsavory people.
- Career Satisfaction. Hopefully you can find some amount of meaning in the work you do. Otherwise, optionality can get you there.
Since work is a huge part of our lives (1/3 of our day), we should make it worthwhile for us. There exist many rewards that we can earn from work that can positively benefit us outside of work too!

Ways to Cash Out
Say you’ve been accumulating your rewards. While the captured value of your rewards goes into your entire personhood and stays with you, cashing out requires some judgment, skill, timing, and luck. One example is changing jobs, which requires you to be skilled in resume crafting, interviewing, and asking your network for referrals.
Cashing out your rewards usually comes in 6 flavors:
- Re-invest your dividends, thereby accelerating your future dividends
- Trade up
- Trade down
- Exit and startup
- Exit and freelance
- Exit and retire early
Cashout 1: Re-Invest Your Dividends
Let’s say you’re already far ahead of the curve compared to your peers. You can simply choose to keep pressing on full throttle so that when you do reap your rewards, those rewards are much bigger.
This is the most straightforward default that I recommend because it increases your optionality in the future.
Do not underestimate the power of re-investing your dividends. If you get too addicted to comfort, especially when you are young, you will miss out on much rewards later on in life.
Keep pressing on, and you won’t regret it.
(Be careful of burnout, which you’ll want to avoid.)
Cashout 2: Trade Up

Let’s say you’ve gained a lot of new skills that are desirable by many employers. You have the option to find a better opportunity that either:
- Offers more pay
- Offers more interesting work
- Offers better co-workers
- Offers a better geographical location (I tell young people to not mind the location of their job, since it’s not their final location anyway. You can always adjust location later.)
This path probably does require you to put in more effort at your new position at first, until you get up to speed. But the better rewards are usually worth it.
Usually, these trade-ups have a step-function positive effect on your life.
This path would not be available to you if you aren’t leveling up your knowledge or skills. Then you would be stuck with where you’re at.
Cashout 3: Trade Down
Let’s say you’ve reached a point in your career where you no longer want to go full throttle. You have the option of choosing an easier job (possibly with less pay) that requires less effort, and you can reclaim that time to spend elsewhere, such as:
- Spending more time with your relationships, like family, spouse, kids, etc.
- Start a family and take care of kids
- Explore other hobbies or causes outside of work
This path probably requires you to accept less pay. You’ll also have to be okay with a less aggressive pace of work, and with less efficiency, and with less ambitious co-workers. But the biggest benefit here is reclaiming time and energy.
This path would not be available to you if you didn’t work hard earlier in your career. Those who don’t advance far don’t have much room to fall back.
Cashout 4: Exit and Startup
Let’s say you’ve reached a point in your career where you have enough money to sustain yourself for a long duration (+1 year) and you want to try founding your own company. You have the option of quitting your job and giving entrepreneurship a shot. This is especially nice for young folks who are able to take more risks. Even if you don’t succeed, you will learn a lot on the way. And, you can go back to being an employee at any time.
This is the ultimate trade-up, with very high risk, but potentially very high reward.
This path would not be available to you if you don’t build up the courage and communication skills to speak to investors, if you don’t get your finances in order, and if you don’t have the relevant skills to start a company.
Cashout 5: Exit and Freelance
Similar as above, except instead of building a company from scratch, you could lend your expertise and accept freelance jobs. You could allow yourself to be hired as a consultant. Plenty of big companies need high quality consultants to do the work that their employees are unable or unwilling to perform. And you get to set your own pay rate, billed directly to the big companies. Fat margins :)
This is especially a good option if you built up a solid network, or talk to customers a lot. If you have good sales chops and can get visibility, this is an excellent path.
I see this as a combination of trade-up and trade-down, where you aren’t going all-in on founding a company but you are choosing to accept only the work/projects that you want to do.
Cashout 6: Exit and Retire Early
Finally, let’s say you’ve reached a point in your career where you’re ready to quit for good. You have enough money to sustain yourself for the rest of your life, whether on your own, or because your spouse works. You have the option of quitting your job for good, and not needing to work anymore. You can:
- Focus solely on your family
- Focus solely on your passions, whether that be volunteering or doing your own projects
Again, this path would not be available to you if you don’t get your finances in order early on.
A Warning Against Entitlement
But these benefits I mentioned aren’t automatic. You don’t just get them granted to you as a right. You have to earn it. Anyone who tells you that you are entitled to these benefits out-of-the-box is wrong and lying to you.
Imagine that you didn’t work hard earlier in your career. If you want to cash in on those benefits, and they aren’t available to you, no amount of complaining will help your case.
In short, it’s like investing. If you don’t invest while you’re young, you won’t be able to cash out later down the line. The way you spend your time is exactly the same as investing your money. Don’t they say “time is money”? They were right.


You’ll likely be working for some decades before you retire. Might as well be good at it.
Ways To Invest
My recommendations specifically target software engineers because that’s the field I’m familiar with. If you are of a different career path, you can probably adapt it to your field.
This is not an exhaustive list, just what has worked for me.
This is also not to be combined all in one go. Pick and choose one or a few at a time, but don’t attempt all of them or else you’ll be overwhelmed, which leads to burn out. Better to do a few things well than many poorly.
- Put in more than 40 hours per week.
- Spend time outside of work reading books related to your field.
- Spend time outside of work hours doing courses, certificates, or anything relevant.
- Explore something tangentially related to your work, but outside of your direct responsibilities.
- Find mentors. Ask to be mentored by more veteran co-workers that you respect and get along with.
- Ask to shadow other co-workers. (Pair-programming works great in the software dev world!)
- Contributing to Open Source Software
- Sharpen your communication skills.
Investment 1: Put in More than 40 Hours Per Week
This is the easiest way to invest in your work. You’re not doing this for your employer. You’re doing this for you. You probably won’t stay with your current employer forever (either you’ll find better opportunities down the line, or your employer may change their mind). When you start to see it this way, it’s no longer my company is so evil that they are making me work extra hours.
By the way, I’m not recommending you do this forever. It’s not sustainable in the long-term, but when you’re young, you have the energy to spend. The older you get, the less raw energy you have, and the more unsustainable this tactic is.
Investment 2: Read Technical Books
Anyone can read an article or watch a YouTube video. Those are short and entertaining. They don’t require much brain power. High quality articles are hard to come by, and most of it can only give you some generic advice. (I realize I’m writing an article, so I’m hoping mine isn’t one of those generic ones, but if you already knew everything here, then I have failed you.)
Books, on the other hand, require time, effort, and study. This process of hard work can feel like a drag at first, but when you finish the book, you will have gained a lot more than that total amount of time spent reading articles. So if you haven’t read a technical book yet, feel free to stop reading this article so you can start reading.
Again, you might ask, why should I do homework outside of school? Because learning something difficult is the best way to invest in yourself. And that statement is certainly true for your career.
Investment 3: Do Courses, Certificates, or Degrees
This is more of a seasonal suggestion pending your time availability in a contiguous block of time. It’s worthwhile doing at least 1 of these in your career. Think of this like electives in college, except that you get to choose from a much greater pool than the limited selection at school.
My suggestion is to find a topic that you’re really interested in or really want to improve in, and go deep into it. Don’t pick it lightly though, because nothing would be worse than choosing a topic you think you’re interested in but not going to follow through on.
Expect the time commitment to be 10 hours per week, or maybe more if you chose something more intense.
The amount of topics that I might recommend a young software engineer to dive into is numerous:
- Working with Cloud Services (AWS, Azure, GCP)
- Learning more about the Programming Language that you mostly use at work (Java, Python, Rust, C, etc.)
- How the Linux Operating System works
- Networking (OSI Layers, TCP/IP, IPv4 subnets, etc.)
- Distributed Systems
- Design Patterns
- Computer Architecture (x86_64, ARM, RISC-V)
- How Embedded Devices Work (when memory/compute/power are constrained)
Investment 4: Explore something tangentially related to your work, but outside of your direct responsibilities.
That codebase your teammate works on that you’ve never touched? Give it a read. And even better: peer-review your teammate’s pull request (PR). Even if you have no idea what it’s about, it’s a way to start.
If you do this enough and consistently, you’ll eventually be able to submit PRs of your own one day to that other codebase.
But start small. Do this for one tangential thing at a time. Once you have a small grasp of it, you can add another. Then as you keep stacking this, you’ll find that your domain knowledge will compound as you mix and match these islands of knowledge.
Investment 5: Seek mentors.
Mentors are always available, if you search wide enough. Some criteria to consider when finding someone:
- Experience Level. Make sure they have at least 2 years or more of experience than you. Age does not matter. If they’re young, you get the benefit of fresh experience. If they’re older, you get time-tested wisdom. If you have the luxury, I would say a combination of both would be best.
- A Role model. Someone that you look up to, that you wish to become one day in many aspects. Both at work and outside work.
- Relatable. Someone that is easy for you to relate to. Someone that has common round with you. Maybe someone that has similar interests as you, or who used to be like you.
- Willing to Give Constructive Feedback. Someone that doesn’t just “act nice” to you. You want them to give you useful actionable feedback so you can grow.
For your search, start from most local to least local.
Most Local: Ask to be mentored by a more veteran co-worker on your team that you respect and get along with.
One extra degree away: If your company is big enough, someone not on your team.
Finally, someone outside your company. Either a networking event, or on LinkedIn, or a writer of a blog that you follow. They may say yes, you never know until you try.
Investment 6: Ask to shadow others.
In software engineering, we call this pair-programming. This is when 2 people pair up and take turns shadowing each other for a fixed amount of time, for example, 30 minutes each. One person drives, and openly talks about what goes on in their head while they are working on their task. It can just be your regular day-to-day task, completely unscripted.
You would be surprised how much you can learn just by watching others work. Even if the same task is doable by 2 different people with the same output, the way to get there can be quite different.
The best part is that this goes both ways! It’s not just the younger engineer that is learning from the older engineer. Even after several years of industry, I’m still shocked to find that I can learn a lot from my juniors, such as new tooling, new styles of working, and more efficient ways of doing the same thing.
The most important part of pair-programming is exercising your ability to communicate your thoughts effectively and efficiently. As the driver, if the shadower has no clue what you’re doing, you need to find a different way to re-explain. You’re also going to need to catch them up on any context that they lack. This trains you to become a better communicator.
Investment 7: Contributing to Free Open Source Software (FOSS)

Open source truly runs the world today. My favorite example is ffmpeg.
This is undoubtedly the best way to up-level yourself, but also the hardest and most time-consuming.
My suggestion here is to pick some open-source software that you personally use. Something that you’re familiar with the functionality of. Preferably in a language you know somewhat well (not mandatory). And a repository that is active (within a few hours is awesome; within 1 week is acceptable; within 1 month is the minimum I would go for; anything less frequent is probably unmaintained and you likely won’t get a response).
In the GitHub repository, do 2 things:
- Read the overall README and the contributing README.
- Go to the issues tab, and search for “good first issue”. Find an issue that no one is working on, and attempt it yourself. Then submit a pull request.
If you get lost, you can see how previous issue submitters have done it. Usually, open-source maintainers for actively maintained projects are pretty nice, provided that you clearly explained your thought process with evidence. If you write something unclear, they won’t be able to help you even if they wanted to. So this forces you to sharpen your written communication.
Investment 8: Sharpen Your Communication Skills
This last one is absolutely the most important out of everything, and requires an entirely separate post to elaborate on.

In short, there are 4 ways we communicate:
- Read
- Write
- Listen
- Speak
Think about IO (input/output) from the perspective of ourselves as humans. Input into me includes reading and listening; output from me includes writing and speaking.
The better our communication skills, the higher the bandwidth, and the more effective our communication is.
My suggestion is simple to understand but hard to do: read a lot, write a lot, listen a lot, and speak a lot.
For input, read and listen a lot from high quality co-workers, experts in the field, respectable books, etc.
For output, write a little everyday for yourself. Also, hone your ability to draft and publish emails, design documents, runbooks, chat responses. Do this by having multiple drafts until you feel like it’s good enough to publish. For speaking, make sure you say the least amount needed to get your point across. And cater your speech to the correct audience.
Then, it’s just persistence and consistency.
Conclusion
In sum, your career is your own. Take it upon yourself to grow your career. It’s not anyone else’s job but yours. No one owes you a job. You decide your own fate.