Hey guys,
I had an interview last Friday, with a company in Tokyo, and showed them my project (link below), a full-stack single page application I built and deployed to Heroku. It uses data from Taiwanese government on birth statistics, pulls data from government API, and user can store these data on their own account on this SPA. It’s really for showcasing my skill, not much practical use.
Took me 3 months to build, prior to this I had zero knowledge of Vue.js and PHP. Had to learn everything from zero.
https://vue-lumen-passport-mail-v2.herokuapp.com/
- Front-end: Vue.js (with bootstrap, vue-router, vuex)
- Back-end: Lumen/Laravel (PHP)
- Database: MySQL
- Authentication: Laravel Passport
- Email service: MailGun
- Testing: JEST and phpunit
Interview
The CTO along with CEO and a front end dev talked to me, mostly about what I made. I went through the general structure of my project, explained
- How I authenticate my user, with token
- How I allow my user to reset password, again using token
- How the front end communicates with back end
- How I test my front-end and back-end using JEST and PHPUNIT
- How I learned all this stuff without actual work experience and bootcamp
They were quite impressed, and decided to hire me.
Thank You FCC
I want to express my thanks to freeCodeCamp, this is where I started in 2019 June 10th, around 2PM afternoon. I was unhappy with my job back then and decided to look for other jobs, then somehow being a web developer crossed my mind as I browse through all the job postings on indeed.
Some struggle I went through
1. React.js
I hit a major roadblock in my learning, 3 months into learning web dev, when I encountered React.js, I just couldn’t wrap my mind around its concept, and got discouraged, and put off learning for almost 2.5 months. In hindsight, I wished I could’ve just gotten discouraged but hung on anyways, which would’ve saved me 2.5 months of wasted time.
2. Job Market
I began searching for job around April 2020, which was a disaster in my opinion. During that time I got shutdown so many times because I was a newbie with no experience. This time instead of getting discouraged, I simply shrug it off and continue my study and stopped job hunting. It was this time when I learned Vue.js and PHP backend.
Below are what I consider important in getting hired
ReadMe for Github
I had no idea how to write a decent ReadME file on Github, which I discounted as something of low importance, turns out it serves as the first impression for strangers looking at your Github Repo. Do understand how to write a decent readme, it’s almost like makeup for girls.
Full-stack Project
If you really want to impress people, build a full stack project and deploy it. Your company might not need a full stack dev but it shows that you’re able to learn, as a newbie, and full stack is the best to impress people.
Deployed project (Heroku)
Whenever you have a project written, deploy it. Deploying makes it a complete project, not just some silent code sitting on Github. People with low patience would rather click on an url to view project live, instead of cloning from Github and running on local server, at least that’s what I think.
Show that you are a self-starter
As a newbie, our biggest advantage is, being a newbie. People already know that we are newbs, so the only thing they expect from us is, if we can demonstrate that we are able to learn skills, the ability to learn new things on our own. This really makes all the difference. Otherwise they wouldn’t bother interviewing me, a newbie.
Go to the gym
This is not a joke. I’ve been unemployed for almost 6 months and literally all I do everyday is coding, hitting the gym and cooking. Gym or just exercise, is what keeps your brain fresh. People who exercise regularly, will perform much better at cognitive task than people who don’t exericse. I’ve been bodybuilding for the past 4 years and I spend at least 2 hours a day working out. Exercising is what keeps my brain alert, attentive, and optimistic.
At last, do not compare yourself with other people
I know you see many posts on FCC, or other forums about, people studying for 3 months and found a job, or I LANDED A JOB AT UBER AFTER 6 MONTHS OF SELF STUDY, or TRANSFORMED FROM DEADEND JOB TO HIGH PAYING WEB DEV IN 4 MONTHS!
Things like this, really get people discouraged especially when they compare their actual progress, with those, possibly false claims on social media.
What you see at surface and what actually exists, there’s a huge difference. Most people brag about their progress, that’s exactly what our social media modern world is about.
I can put it bluntly, people who studied for 3 - 6 months, usually can only build simple front or back end application. Even if it’s full stack, most likely they got it off some udemy course or Youtube tutorial, like a TODO LIST app. In that case, if someone just simply follow through a Youtube video and built an app, how qualitative is the knowledge he/she has?
I’m not saying don’t follow Youtube tutorial, I’m saying after following it and learning some tricks from it, incorporate it into your own work. Don’t just use a tutorial to apply to jobs.
Anyone who’s self-taught, been non-stop learning for at least 12 months would know that, the amount of possible knowledge a human can absorb, that there is a limit and usually it is not very impressive.
Even people who go to bootcamps, in my opinion, I really don’t know how much knowledge they actually absorbed. Bootcamps are 2 month long, 12 hour a day intensive learning. I personally can’t focus for that long and I doubt more than 0.001% of human population can. The only thing good about bootcamp is that, they connect you with employer and gurantee employment after finishing their $12,000 bootcamp.
Realistically, humans can only focus for about 1 -2 hours, if it’s very cognitively challenging. Learning new skill is very cognitive intense mental labor.
Go easy on yourself
If you feel like you hit a roadblock, just relax and come back to it later. Human brain works at best when it is used intermittently , 2 hours work 3 hours rest, then followed by same cycle. I think I only programmed for about 2 hours on a bad day, and 6 hours on a good day if I’m really feeling the flow and rhythm.
Anyone who claims they are coding 8 hours a day, and most of that time is learning as a newbie, I’d say most likely they are exaggerating. Amount of hours you put in aren’t directly related to building skill/knowledge anyways. Sometimes you learn a lot in 10 minutes, sometimes you get stuck and spend 10 hours and still don’t move forward.
In the end, effort is important, but use it wisely, When you feel you’re really tired, just take a break, go to the gym or out for a run, come back to it later. Your brain needs a rest.
Cheers,
Codey