Things I wish I knew when I started programming
About me
Victor Hazbun is an experienced full stack developer with more than 10 years in the industry, he has worked for software development agencies, big corporations and startups.
He is a mentor willing to share his knowledge and experience with the world.
Your path
Focus on what you want to start learning.
Say you like web programming, you probably want to start with something like Ruby or Node.
Start with programming languages that are simple, but more important.. You must learn the basics.
Once you know the basics, start building a real world app. I know it sounds difficult, but it's not.
Select a web framework, Rails for instance. Here is where you want to spend a lot of time coding something.
Make sure you make this app live and also make sure it actually works.
It does not really matter which language/framework you select, at the end you want to learn the basics.
If you don't master the basics you have done nothing. So, please make sure you understand the basics. Don't try to run if you don't know how to walk.
If you don't like the programming lang you initially selected, simply jump into a different one. Don't spend more than 1 month on it.
Practice
You need to build a Github or Gitlab portfolio, PLEASE start coding stuffs or contribute to open source otherwise you will never have a future on the software industry.
It does not matters if you are building something pretty simple, the key here is to show what you have learned through your professional path.
Find a Mentor
Find someone who can answer your questions, it's important to fill your doubts, and mentor is perfect for this. It could be your teacher, a friend or someone like me. Just find someone who can answer your questions.
Please learn how to formulate your questions, this is going help you a lot.
Interviews
Once you have learn the basics, and built a portfolio on Github/Gitlab, start being interviewed as a junior developer. Don't apply to jobs that you don't like, also make sure you have a bit of experience with the stack they are using.
If you are starting as a dev you will need to go through whiteboards and coding challenges, once you are on the senior level you will probably want to avoid this kind of things.
Be prepared for difficult questions, study algorithms using the programming language of your choice (I know it sucks - Don't hate the player hate the game).
Tips and advice
Pick your lang, build a random project, find a mentor to help you out and be prepared for interviews.
Final thoughts and next steps
I'm here to help you getting started with your professional career, I will be glad to assist you with your questions. Don't be afraid to ask anything, so ask me stuffs!
This post focuses on backend.
For front end, start by learning HTML. You need to know when and to use what HTML elements for the sake of accessibility.
This is a good reference:
https://developer.mozilla.org/en-US/docs/Web/HTML/Element
Next learn CSS. The important things to know are how CSS selectors are structured and how CSS specificity works. You will also want to learn how to use CSS Grid and Flexbox. You will also save yourself a lot of pain if you learn the BEM naming convention which helps organise your CSS and helps keep specificity down (yes, it’s ugly but it’s worth it).
Find a single page on a website that you like the look of and try to rebuild it yourself using a static HTML file. Don’t just copy what they did in the HTML. Think about the content and come up with your own HTML structure.
Try to pick web pages that have some basic JavaScript functionality on them. Something like an accordion or tabs. This will give you a good goal to reach for when learning JavaScript (the next step).
Do this a few more times. You can save these static HTML files into a GitHub repo and use GitHub pages to host them for free. This can be your portfolio.
You can start looking for jobs as a junior front end developer now.
While looking for jobs, start learning one of the JS frameworks by creating a simple application with one of them. Something like a to do app. React is the most popular one that you will find jobs for. Vue is the easiest to learn and is rising in popularity. Angular is your third option. It seems to be popular in Government jobs.
You are quite right, but I must say that Rails is a full stack framework and chances are you will end up learning: Backend, JavaScript, HTML, CSS and Webpack among other technologies if you select Rails as the framework :)
Hi, I need a mentor.
Hi Shlomit, I can be your mentor!
Hello, I need a mentor. Can you recommend someone?
Hey Terri, I will love to be your personal mentor.
Hi Victor H, that is fantastic! How can I contact you directly?
Via instant message here at Codementor.io