I've had a few friends recently ask me the same line of questions...
What did you go to school for?
When did you start your own company?
How did you learn to code?
That last one's always taken a bit to describe...
There wasn't 1 particular thing I did to learn programming.
I went the route of trial by fire...trying to learn from every possible resource I could get my hands on.
Now I have to preface...
I did minor in Computer Science at Elon University. Where I mostly learned about the theory behind computer science - not really at all how to code real-world applications. The extent of my programming in college was a hang-man game made in Visual Basic...basically the Atari of coding languages (aka it's not even worth reading up about it on the Wikipedia page).
So let's get into the good stuff. Below I've complied 2 sets of things to get a complete beginner on the right track to learning how to code.
If you think you can't do it - you're just lazy. Anyone can learn...and it will surely become common place in schools in the near future, so no excuses. Plus it's a great tool to learn how to make money online.
It's kind of hard to get into the mindset of development without understanding design. I'm not talking about graphic design, I'm talking about design thinking. You should understand the different elements on a web page and understanding sizing, different view structures, etc. Learning design is an easy and fun way to get started on your path to learning how to code. Once you're able to design some cool things (doesn't take very long), you'll be completely ready to start making those designs come to life. This not only gives you a better idea of the process by which you may want to develop something - but also gives you the extra material to keep you going learning development (because you definitely will hit roadblocks and want to quit at some point).
HTML is basically the skeleton or bones of your website.
CSS is what you dress up the skeleton with to make it look good.
With these three languages you can practically create any website your heart desires.
Backend languages (or server-side languages) are meant to help you communicate with your backend/server to provide dynamic data in your web apps. For example, apps like Twitter, Facebook, Airbnb, Netflix and more.
There are plenty of languages out there, but I think 2 of the easiest and most fun are Ruby and Python. They both have frameworks (Ruby on Rails & Django) that allow for easy and quick creation of fully functional web apps.
Data is king in 2018, so it's important you learn how to read and write to databases. SQL (pronounced sequel) is one of the first databases you'll learn to interpret. It's essentially an Excel Spreadsheet of data that you store on a server which you can then run queries to for whatever data you want to come back.
So once you have a handle on Design, Frontend languages, Backend languages, and Databases - well now's the fun part 😉
There are tons of services out there to make these processes faster, easier, more robust, etc. For example, my new favorite toy Firebase, developed by Google, is basically a Backend-As-A-Service. Making it easier for you to communicate with databases and makes the process of things like Push Notifications or Analytics a breeze.
The amount of new frameworks and other packages out there is endless, but I promise if you begin with the first 4 you'll feel comfortable to learn new languages and platforms with ease.
I hope you've found this article useful and will take my word for it and get started on your adventure learning how to build and design websites and apps. This is just the tip of the iceberg - from here you can get into Machine Learning, Blockchain, Augmented Reality, etc.
'Tech' isn't an industry anymore. It's an integral part of every business around the world. If you're not learning how to adopt it into your systems to increase productivity, quality, sales, etc. - you're falling behind.