The average salary for a software engineer in the United States is $88,000 a year. This is significantly above the national average – but there are still factors to consider before calling an expensive apartment complex, or buying a celebration Tesla.
First of all, according to the same PayScale page, the average entry-level salary for a software engineer in the United States is $77,000 a year...still a decent number, but that segues into another factor.
In terms of cost of living, a salary of $80,000 a year in Austin, Texas puts you in a better position than a salary of $120,000 a year in Palo Alto, California (Source).
This is using a simplistic conversion calculator, but the conversion can be a useful tool whenever you're considering a new job.
When I received my first (*ahem* and only) job offer, I barely had a concept of cost of living, work benefits, or what constituted a reasonable salary in our field.
As I recall, I was biking out of campus, my phone rang, and I was suddenly greeted with a base salary, list of benefits, and the question of whether or not I would accept.
What I did not realize at the time was that this was my best opportunity to negotiate, and instead, I just heard a number and had no clue how good or bad it was.
Thankfully, someone I had known since my first year in the dorms promptly produced a spreadsheet for me with self-reported salaries for dozens of companies. I probably should have also used a conversion calculator, but I would have been likely to make the same decision, regardless.
I recently wrote an article after I realized the tuition at my university is about $60,000 today; that is $15,000 a year, $1250 a month, and does not even take the cost of living into consideration.
Was it worth it? I tried to refrain from arguing for or against that point. The question of how to become a software engineer is almost as contentious as tabs vs. spaces.
Financial aid is definitely something to consider. Another thing to consider is discipline: if you decide to attend a bootcamp instead, or teach yourself by watching free MIT lectures, reading articles, or watching YouTube tutorials, do you have the discipline to keep yourself motivated?
If you do decide to go the college route, it is worthwhile to consider what the most affordable option is, and whether something like a four-year university or community college with the intent of transferring would make the most sense.
Though I do know people who attended coding bootcamps, or transferred from community colleges, I know far more people in the field who went to four-year universities and chose relevant majors.
My path was about as generic as it gets: I studied coding in high school, then in college, then received a computer science degree.
If I were to start the process today, I really would have enjoyed repl.it – a website allows you to compile or interpret your code in dozens of languages on the fly, instead of having to set up an environment.
I learned that was at that company, small world...except not really, since I do not personally know Clement Mihailescu or the people behind repl.it.
Cracking the Coding Interview is still so useful, even in 2021, that I think it is a poor "investment" not to get it.
A few last thoughts on the topic: Some people recommend coding games to test the water or ignite passion in younger people.
I was pretty impressed with TwilioQuest, but I do not know if it would actually be a good educational tool for children... a child might seriously consider switching to Minecraft the moment you tell him/her to open a console. An adult might just get bored.
Untrusted is one of the best, but I think it is more like a fun temporary break for adults than an educational tool.
Last thing: I do know someone who majored in something other than computer science, then broke into the field using TripleByte.
Unless you live with your parents, or your parents are multi-millionaires (in which case, why are you reading this? Talk to your family financial advisor), you are going to have to go apartment hunting. What is the best way to do it? Probably not how I did it, which was picking somewhere a coworker picked without bothering to consider things like Yelp reviews and common sense. Factor in things like if the area is rent-controlled (how much can you expect the price to rise over time?), what the apartment lease says (Buyout clause? Parking spots? Is the husky you plan on bringing forbidden?), and what the commute is like...and also how much money you will spend on gas.
In the year 2021, these sort of conversations become interesting. Are you working from home? If you are working from home, it goes without saying that you are going to be spending a lot of time here.
Figure out water, electricity, Internet, and gas. I recommend getting a credit card, if you do not already have one, and setting up utilities with auto-pay. If you auto-pay your credit card, make sure you pay your balance in full every month. There is a belief that you should intentionally carry a small balance, and this is a myth. Do not set up auto-pay to pay the minimum because this will create debt and cost a lot more in the long run. Some websites make "minimum payment" the default, which I think is the most evil thing anyone in the UI/UX world has ever devised.
The minute I mentioned credit cards, though, we ventured into the wonderful world of the debatable.
Debatable Personal Finance Advice
You should probably pay your credit card bills in full every month. When investing in your 401K, you should probably put in enough to meet your company's match. You should prioritize getting out of debt, but even then there is room for debate about using Ramsey's snowball method, for the emotional advantage, or solely going by interest rate because it makes more mathematical sense. I even know a coworker who disagreed with paying credit card bills in full, but I stand by my belief.
But should you listen to Dave Ramsey (someone I greatly respect for helping people get out of debt, but do not agree with 100%) and not get credit cards, or listen to Graham Stephan and get a million credit cards but pay all of them on time? The benefits of a credit card, like the 5% back on the Amazon Prime Credit Card, are debatable and subject to psychological factors like the temptation to overspend. If you pay your bills in full and do not overspend, rewards points become advantageous.
How about investing? You can have very heated arguments about how to invest because no one really knows the best investment strategy unless they have precognition. It is analogous to arguing that people should pay for high deductible car insurance plans in the years they are sure they will not get into car accidents.
Check your mail often, especially if you are expecting a health bill or something else important (you might also want to consider going paperless). Never forget tax season. Check cards regularly, like your driver's license and credit cards, to stay on top of expiration dates.
Whew. Now that we have gotten through that last bit of non-debatable advice, let us talk about the highly debatable topic called "investing in index funds." I am a fan. Not everyone thinks they are the best option, but I do wish I had learned about them sooner.
According to a PBS YouTube series called Two Cents (linked above), one study found that 90% of actively managed fund managers underperformed their relative indices. The index fund capitalizes on this idea: Over a given 15-year period, the fund tracks an index (such as the S&P500) and tends to outperform most actively managed funds. A big reason for this is the cost of hiring managers.
There are a few drawbacks:
A ROTH IRA is a special retirement fund with tax benefits (the limit for contributions is currently $6000 a year) that you can pull from penalty-free. You can then invest in something of your choice, like an index fund. Read more about it here.
Intuit Mint (or Mintuit, as clever people call it) is a great, automated software tool for budgeting. I once had an interview with one of the engineers who had worked on it. He admitted that he had worked on a feature they never used, and I suppose it was crummy of me not to ask for more details...but I was the one being interviewed.
I keep mentioning his name, and I may be the only one in the world who believes this, but Dave Ramsey's EveryDollar website is great when you use the free version and not for its intended use case. It is clearly a budgeting tool, but I think Mint is better for that. What I really use it for is tracking spending at the end of every month; I find it easier than using a simple spreadsheet.
Your company may provide perks like a TurboTax subscription for free. Paying taxes is fairly easy with good software and a straightforward software employment setup. What is tricky is if you own your own business, or if you have another "complex circumstance."
All I really want to say about this is that Millennial Money is entertaining, and Graham Stephan's reaction channel is entertaining...but this is your life to live. When I brought up Graham's name, one coworker just matter-of-factly said that he would prefer to just enjoy his coffee and avocado toast.
One of my favorite things in the world to do used to be going to coffee shops, ordering a medium (I like how everyone knew exactly what that meant), and then reading a book for a few hours. I was paying for the space, and the peace of mind.
That being said, budgeting is important. Money on luxuries like eating out and coffee can add up.
Do what makes you happy.
A story I like to tell is how I got my employer to pay for my Security+ certification exam. I had been denied before, so I wrote to my boss and said I watched all four seasons of Mr. Robot. I got to take our own internal "training bootcamp," and I had one free attempt at the test, and I passed. Though past me would slap me in the face for saying this, in hindsight I enjoyed all the studying. Cybersecurity is almost inherently interesting.
Leetcode Premium is so commonly mentioned that I enjoy watching it reviewed on YouTube. My favorite review is : She just has such a hilarious, dry-witted way of roasting it. That being said, some people including the author of the 30-minute guide mentioned earlier argue that it is worth it.
You have an employer now. Maybe you have free company resources, like access to LinkedIn Learning. Maybe you think educative.io is worth the monthly $60 subscription, or the more expensive annual plan. Maybe you would like to go back to school.
Whatever the case may be, you have the right to invest in yourself.
A shorter version of this article would provide a link to the PayScale salary conversion calculator, recommend index funds, and close with something cliche about happiness and all the things life has to offer. Now that I have already done the first two, here is the third:
You get to be a part of the world that discovers and makes history. Torvalds, Ken Thompson, and Tim Berners Lee are just a few of the people who changed the world by providing it with revolutionary new software, and then empowering everyone to use it.
You will learn, you will create, and sometimes you will struggle. I do not even want to get into the personal details of all the times I have. The field is meticulous by nature, and sometimes stressful.
You get to earn your paycheck, but please do not forget why you started to begin with. People in this field change the world.
And I get to write a blog about it.