I just get hired a few days ago. This forum was a great source of motivation, seeing people self-taught getting a job was very inspiring to me, and helped keeping me coding everyday, so it is my turn to contribute now
Context: I am french and live in Thailand, it is hard here for foreigners to get a job, I had no other choice than to be good.
How I get the Job: I meet a friendly dev at a meetup who give me this opportunity at a start-up, then the next day I started as a test period. They give me a test task that I finish fast, then they give me right away the real job.
My current job: I have to transpose an entire Angular1 platform into React (The challenging part will be to add Drag and Drop functionality).
Before 7 months ago, I knew a bit about wordpress stuff, and had basic html/css bootstrap knowledge, but I couldn’t make a function in PHP. My programming level was very low.
I started to learn 2 weeks Java and Android stuff with some youtube and Udemy videos, and then I shifted to React + Node.js. I chose these hype tech after considering the demand/offer of job market.
For about 1 or 2 months I focus on accomplish challenges on FFC. It teaches me the basic of JS: functions, constants, es6 (map + filter mostly), React/Redux.
My 1st project: When I had some basic understand of JS and React, I started right away an ecommerce website: https://demo-react-eco2.herokuapp.com/ (around 4 months to build).
This is a full stack app where admin can delete, create, update product. It also send email and so on…
I choose to build an ecommerce website, because its functionalities are known by everyone.
With this project, I learnt on Back-end: Node.js, express, JWT authentication/passport.
Front-end: React, Redux, Redux-Thunk, Selectors.
Best practices: composition architecture, refactoring, code splitting (for optimizing the js bundle size), compressing via express.
2nd project: https://reactsounddemo.herokuapp.com/ (only on mobile view)
I built this app in 2weeks, it hasn’t backend and is connected to fanburst API.
3rd project: (work in progress) A fullstack React-Native app where people can give and take programming courses. The goal is to teach small private groups 3-5 people to bring a dynamic to learners with affordable courses. If you know React Native or you like to manage flexbox stuff, you are welcome in this project
My mental condition:
I guess you have to be crazy to learn programming by yourself. I felt like I was out of the system, I didn’t want to travel or going out. Every day I was programming between 5 and 12 hours. I was thinking about code always, I eat code, I sh*t code. I felt I started to be crazy despite my gf was supportive, and lived in a nice environment in Bangkok. Often I couldn’t sleep, so I code all night long, I even cry sometimes haha.
I felt I need to be very good as I do not have the diplomas, I just was focus in 1 thing in my life: Coding
I got a lot of inspiration from this project: https://github.com/andrewngu/sound-redux. I highly recommend you this one, good architecture and clean code.
I Learn the basics of JS and React on FFC then I watched many youtube video and udemy. On Udemy Stephen Grinder is no1 (I don’t like Max from Academind, less pragmatic than Stephen in my opinion).
On youtube I recommend you these channels:
CodeWorkr for auth on back-end
React University to learn about crud functionality with Redux
Traversy media is ok also.
I watch many other resources, but I prefer to cite you only the best Above.
My advice: I don’t know your environment, but in my situation I had to be good, so I learn Node.js and React in depth.
In my opinion if you want to find a programming job within 3 months as you can read sometimes in FFC, it is frankly impossible.
In 3 months you can just have a vague idea about React and JS, but you would not be able to play with API requests. For design or copy past wordpress template job, I guess it would be ok, but not for having the required level to create what you want
I recommend you to go to meetups, you will maybe get opportunities (I went to 10-15 tech meetups, only 1 real opportunity), you will also compare your skills to other people and be able to build your personal milestones.
What I should do better:
Maybe you should manage your time better than mine, I spend a lot of time on Node.js and should maybe spend more time to make beautiful projects on React. My sound project above is the one that people like the most because its interactivity with sound, and its beautiful design thanks to Material UI components.
I thought that writing clean and good code was the most important, but in reality design is maybe even more important.
To conclude (in my opinion):
Don’t listen to the noise, plan a small todo list in your head for the next day, be happy when you achieve something, frustrated when you didn’t and focus to be better everyday.
I hope I boost the moral of some people here
Feel free to contact me if you need help or what ever