18 Years Old and offered a job at $40 an hour out of high school

I'll give you my take, as someone who's hired and evaluated a ton of developers of varying levels of skill, worked as a developer for many years both as an short-term employee, career employee and as a contractor.

First on the education: Not having an undergraduate degree will be a practical blocker for various things in your life. Not necessarily for getting hired, but for things like getting visas for working overseas or for getting certain tasks in certain companies if they have clients that require formal qualifications. This will be a bummer many times over the 40-50 years of your career. Furthermore, in my experience, fresh self-educated developers are often better performers than developers right out of college, but developers with a degree often has the potential to grow professionally much further and when people have 5-10+ years experience there will be a trend of people with degrees being much more senior. After then, a masters degree (not necessarily in computer science) might be the decisive factor if they can grow even further into senior management or system architect type roles. You will definitively find counter examples to this, it's a trend not a law...

The other thing you want to consider is if you are a programmer for the sake of making money to pay the bills, or if you want to be a well-rounded professional with a deeper understanding of computer science. If the latter, a good degree is helpful in making you become that person. You might not get that paid back in salary but it might make you enjoy life more.

On contracting: The big drawback I see with contracting isn't the tax paperwork, lack of certainty or that you need to set a side a bit more for a rainy day, because those things actually do apply to some degree for most fixed at-will employed roles as well, even if people don't like to think about it. The main problem with contracting is that you will develop very little as a professional. Your "employer" will rarely invest in training you and your direct manager is unlikely to invest time in mentoring you for the long term. You should regard the time spent contracting as a wash, professional development wise. On the positive side, however, building a small network that can give you small or large contracts while you go to college can be great, and might be worthwhile to delay your education for. You'll get better paid than a side job at McD's and you'll work on something relevant. You'll learn how money works and if you don't fuck it up will probably have more discipline in the workplace than your peers in the long run. I always mark it as a big plus if I see someone did contracting at some point in their career.

Your situation specifically: The reason a new and growing company don't hire you on full time is most likely that they see you as high risk, due to your age and education level. Unless they're very small or sketchy, most high growth tech companies actually prefer to hire people full time - engineering staff is an asset. This is fine, just do well... If any of the offers are particularly exciting work-wise and are more outstanding as a potential learning experience you might want to consider that if the pay is not too much less.

Regarding spending $160k on an education, I'm going to go against the grain here and say that this can make sense if you can manage the financing. Your education is the most important investment you can make so if you want to go big, do it, but you need to make sure it's a sound investment. Check every possible thing and be prepared to walk away if something smells. What is the average salary for people graduating with this exact degree? What is the rate of employment? Can you talk with some graduates that are not vetted by the school? Can you get the same impact with a cheaper degree? Why do you have to pay so much?

For the record, so I don't preach what I don't live: My own career was 8 years as an engineer (half contract half employed) out of technical high school+one year university, before I went back to university and did a full degree in something completely different than engineering. After that I've been working 10 years in the intersection of tech and my new profession and it has been amazing and well paid. Going back to university to get that degree was the best decision of my life.

Hope this helps. One more thing - you will not be "left out" of opportunities if you pursue a good education instead of taking a role now. There will be new and better opportunities. Scratch that one argument from your pro/con list..

/r/personalfinance Thread