Dear Aspiring Software Developer

Here are some things that you should know before embarking on your software journey.

The journey is going to be hard

"Oh yeah I know, but I can handle it."

This will likely be the most academically challenging thing you've ever done in your life.

Furthermore, you will need to be vulnerable when it's time to display your skills in interviews and possibly get rejected.

This will require some thick skin. It helps immensely if you've experienced rejection before and have learned the tools needed to move forward.

When times get tough, you will need to remind yourself of the reasons why you started. With that being said...

Don't do it just for the money

Yes, yes I know the money is great.

Money is very important and we all need to stop pretending it isn't.

But money itself is not motivating enough for you to persevere through your journey.

Crazy, right?

I've met with many aspiring engineers who have reached out to me for advice and I've always asked them why they want to become an engineer.

If "money" was the only reason they had, I immediately knew they weren't going to make it very far.

I'm not here to tell you what your motivation should be. But I am here to tell you that money itself will not be the thing that gets you up in the morning to bang out some code.

Why?

Motivation is great and all but above that...

You need to have discipline

Anybody can exercise or study hard when they're motivated.

Discipline means doing it even though you're not motivated.

We are all humans. This means some days we will feel better than others.

You will have days when you want to scream, "I don't want to look at code anymore!"

Take a moment to reflect on your past.

Are you someone that could never get in shape because you stopped being motivated? Or you quit because you didn't see results fast enough?

Were you someone that didn't really do well in school because it was so boring? Or were you someone that did the work despite the fact that it was boring?

Learning how to code is an academic endeavor.

It's going to school.

And we need to stop pretending it's somehow very different than learning in high school or college.

That being said, it's okay to not like programming because...

There are so many other great jobs out there

For a period of my life, I wanted to do things that rich people did. One of them being "drinking wine".

I bought many bottles and learned how to identify the tasting notes. But eventually, it dawned on me:

"I hate wine and I need to stop pretending I do".

I didn't say I hated it after my first sip or my first few bottles. I said it after trying over 20 different wines.

I love whiskey and light beers. Just because everyone loves wine doesn't mean I do.

Looking around you may see all these people getting great software jobs, but just because it's for them doesn't mean it's for you.

The key to getting a high-paying job is about getting a high-paying skill.

Here are some examples of other high paying skill jobs:

1. Electrician
2. Accounting/Taxes
3. Dental hygenist
4. Medical technicians
5. Real estate inspector or appraiser

All these jobs pay very well and could be more suited for you rather than sitting in front of a computer for 8 hours a day.

But at the end of the day, these jobs require skill and some time and energy investment to acquire them.

Be a lifelong learner

Ask yourself, "Do you like to learn?"

The skills you learn today may become obsolete in a few years. You will need to constantly keep your skills up to date.

There's no "coasting" in the field of software.

It's okay to not be quite sure if software is the right field for you.

But it's in your best interest to figure out if it is or isn't.

The journey ahead has two endings:

  1. You land an awesome software job w/ great pay
  2. You end up frustrated because you aren't able to land a job.

Let's make sure you're in the 1st group.