I started freelancing when I was around your age. I have written a fair bit on my HN account about freelancing/consulting but feel free to contact me.

The main thing I wish I knew at your age was the difference (and progression) between the stages of freelancing, contracting, consulting and beyond.

I've helped several of my friends start their own freelancing businesses who are full time now, I'll echo what's been said many times on HN:

It's not what your education makes of you, but what you make of your education.

With the below, you can embark on a path of adding value to the world with your skills in a disciplined way to find long term clients whom you can help grow, and you can grow yourself.

The below only has value if it's contemplated, practiced, and reflected upon regularly. You'll find other things to add to the list but I think the list below is my first principles list of being successful, freelancing or employed.

The below, also, is how I approach anyone, and it turns into leads and work on it's own.

By remaining genuinely curious, thoughtful, and interested in how people are solving their problems (including excel sheets, access databases, or doing it manually), customers are validating the need for software in their lives and you need only pay attention and support them along.

I'll share with you the business model I was given at 18:

Find 10 customers who are willing to pay you $1000 a month for basic app support or development. If they won't spend $500-1000 a month making their business better, they're not a customer, but someone who wants to hire a free student. I was able to start in this way in the late 90's to 2001, and had a foundation from which to explore, maybe do more work in one place than another. Today, everyone's online and expects for software to exist for them. The key here is many places that can't hire a full time developer or person can probably afford a part time one who creates value for them.

Things that I wish I understood deeply much sooner:

Solving B2B problems solves the cash flow issue: Businesses that make money every month have money to spend. Getting people to spend their own money can be quite different.

Discipline: This will decide how our lives will go. It is the single most important master skill. The more we work at developing and keeping discipline in more and more areas of your life, the more successful we are.

Self-educate: The fact that you can self-educate is the single biggest skill that is needed in terms of your technical ability. This means learning things that weren't in my core, but rather becoming an extremely strong problem solver, which made me attract lots of interesting (and paying) problems to solve for which there might not be a lot of solutions.

Nothing gets easier: You just get better, if you want to.

Self-directed: Contemplate this phrase -- you'll be self-directing and self-educating for a long time, and it's the best journey you can imagine to get to know yourself in the midst of any uncertainty.

Date before you get married: You'll be hired in the beginning by people who will be taking a chance on you or simply like you because you're young, ambitious and have a positive attitude. So, do fixed fee projects for $1-3000 that cover risk for both you and the end user, even if you have to break down a big project into small $1-3K phases. This is a huge trust building technique with customers.

Value: This is the word I had to learn when I was 18. If I couldn't generate more value than what I was paid, I wasn't rehired. Value is saving or making a customer time or money. So I learned to find and be good at what was valuable to a customer, that I could do. What you're selling is helping the customer add value to their company in a way they can measure and is meaningful to them, which you can do for them.

Networking: This word looks like it's foreign sometimes. My networking is simple, before receiving, there must be giving. Help, help, help, share, share, share. You're not just out for a quick hit contract, but any long term ones you can find that are meaningful for both parties.

Track Record: Your education, and experience are second to the track record of solving problems you can build up. I spent 10 years working in as many industries as I ended up in, sometimes at the same time because I liked the variety. I aimed to get 20 years of work experience in 10 years of living. Now, on the flip side, I have more experience than what I know what to do with and it helps me understand anything I face more and more, it's the best snowball effect.

Attitude: I know we like to do things that interest us. If you can find helping improve the quality of others lives greatly by using a tiny bit of your skill and writing the software they need, for example, never saying no, and saying "let me think about it", those 5 words have gotten me more work, introductions and opportunities than anything.

Problem based thinking: Never, ever think solution first. Learn the problem and know the data better than anyone else before writing a single line of code.

You're not alone: I went through starting a freelancing life largely alone and endured a good 5-7 years of doubters and supporters. It's good you're putting yourself out there, and that there's a place like HN to put yourself out there.

Don't let others self-doubt infiltrate your mindset. Creativity and innovation happen in a mindset of possibility, not shooting ourselves down or letting others.