First thing first. Self-learning and Why did I even start coding?
My first try with coding was with Dr Wu at National Taiwan Normal University. I was a high school student at the time and Dr Wu was my mentor. During the weekends, he would lead me and another friend to learn coding with assignments like developing a Big Two game with C++. And that was without any GUI, you would have to play my game with C++ consoles…
And it was certainly fun. The sense of achievement when my program compiles and runs properly was thrilling.
I really liked it, but when the time came to choose a major to pursue in my University career, I was more gravitated towards Business subjects — They somehow seemed cooler to me.
I think I will skip the part where I had my miserable experiences studying Business and doing my first internships (If you are actually interested in knowing this suffering part, do check out my post on LinkedIn — From a Business/Startup Kid to a Software Engineer Intern at Microsoft), but anyway, that was how I started to reconsider my career choices and decided to give coding a second chance.
Have a Clear Goal
In addition to studying Business is really just not my thing, another dominant reason for me to start coding was that I wanted to develop a platform for students to meet other student talents from different backgrounds. I have always been a startup enthusiast. So the ability to develop and deliver a website or app to users was really in demand from myself.
I later think this is also one of the crucial reasons I made it through — I had a straight and clear goal and rationale behind these learning activities.
This is definitely something I would recommend beginners to think about. Try to come up with a goal, the reason why you are thinking about self-learning to code, or even reading this article. That would help you a lot on the way through. In my case, I was motivated to dive into web programming.
But you might ask this. How would you know what the right languages or knowledge to start with are?
Learning with Online Resources
Once you have your own goal, it’s the exciting fun time to mine useful resources online. There are really just a number of great tutorials available on the Internet. A lot of them are even free. Let me try to list down the ones I used and would recommend.
- Udemy is another platform that I would definitely recommend you to check out. Both FCC and LevelupTuts lean towards introducing web technologies. On the other hand, Udemy is a platform where teachers from all over the world upload paid or free tutorials with contents ranged from web development to native apps and even chatbots. Now, because a lot of them are paid, I won’t do specific recommendations on purchasing which ones of them here, but Udemy did do an interview with me (see how active I was using this platform haha). You can always check out the post for some more information.
Build Your Own Projects
After finishing a couple Meteor tutorials with Levelup Tutorials, I really felt empowered and had that desire and confidence to develop projects myself. At the time, I also just bumped into Dr Ray when I interned at Cocoon, a coworking space, who runs CityU Apps Lab. So I randomly just asked Dr Ray if I can join his lab although I don’t even study at City University.
He said yes. Why not.
We were both excited really. I was the first guy to actually join his lab as a trainee I think. But yeah, this is also something I learn along the way — the Can Do Spirit. If I hadn’t interned at a coworking space, I wouldn’t have met Dr Ray. And if I hadn’t overcome the shyness and demanded challenges for myself, I wouldn’t have come to develop a file streaming web app with the lab — with which experience, I got my first internship as a developer at a wonderful startup called 25Sprout in Taiwan.
Everything above, from getting started to getting my first internship, happened in exactly one year since I started to learn to code.
The point is: try to always look for opportunities building projects with the technologies you like. They are your resume and therefore valuable tickets to your next bigger and more exciting opportunities.
But, you may think, what if there is just no opportunity.
Then make one. Build your own personal website for example. This is also something I think every developer should do. I also made mine (which I am currently revamping) when I finished FreeCodeCamp with Bootstrap. Getting one up and running isn’t just a fine exercise, you will also get to try to ship a website by buying and configuring your first domain and hosting server.
Now it’s been another year since I joined 25Sprout as a summer intern. In this year, I do feel like my learning curve has not been as thrilling as it was before, but there are different exciting exposures as I started to lead and develop my dream projects with friends, had my first experience being a speaker in a student tech conference introducing React and Meteor. I can, in fact, keep this list on and on. I met my partner to co-host a Hackathon that is nominated as one of the Ten Mind-blowing Student Hackathons [Medium Blog Link] from around the world, and finally now working as an intern at Microsoft, a tech giant company I am personally a fan of.
I too had my setbacks along the way, which I mentioned in my blog post on Medium, but all of them have nurtured me to become more ready for my next success (if it does exist, of course, you never know).
If I had to say there’s one thing I’ve learned from the 2 years of self-learning, that is more important than the coding skills, it has to be the ability to be proactive and always looking for next opportunities in the current ones. This is what truly drove and supported me to make every single challenging yet rewarding decisions including even to start learning something that is once completely alien to me — coding.
Did you found this article useful? Write in comments, your thoughts on Kevin’s journey and wish him luck. 🙂
If you found this article motivating, do share with your friends. Let’s help everyone in getting a better internship, job and help them in learning programming. Subscribe to our newsletter and get weekly curated content directly in your mail box. Also, we have our own group on FB, we take Q&A, post materials in the group. I’ll highly recommend you to join our FB Group.
Other Recommended articles:
- Slack, Amazon, Mozilla, Browserstack, LinkedIn: My Internship Interview Experience
- Basic skills needed prior to applying for internships
Latest posts by Kevin Hsu (see all)
- ChatWeb — Build websites that understand users with full (free) Microsoft Stack - 2nd September 2017
- Let’s Build a React Chatroom Component in 100 Lines of Code - 28th August 2017
- 2 Years of Self-Learning Into a Developer: Eulercoder Motivation - 6th August 2017