Begin with the end in mind
"Begin with the end in mind" is a reference to the 7 habits of highly effective people by Stephen Covey and a rule I try to live by.
No body wants to waste his time learning things they don't need right?
So if you want to learn how to go from knowing nothing about coding to build front-end for the Steem Blockchain...here is my personal learning path that I decided to follow for the coming years.
Learning Path - HTML/CSS/JAVASCRIPT
I chose the HTML/CSS/JAVASCRIPT learning path. Why? Because everything that happens in the browser uses those 3 languages. They are also quite easy to learn compared to other languages.
JAVASCRIPT also has become incredibly versatile in the past few years. It's like the swiss-army knife of coding languages that allows both front-end and back-end development.
Also, since steemit.com(condenser) is written in javascript, it will allow me to help on github to get my feet wet.
Step One: Getting Basic Knowledge - Maximum 3 months
I'm currently going through the Udemy class called The Web Development Bootcamp which is extraordinarily well done. It's built in a way that everything we learn is reiterated and applied so that we have maximum retention. I can't recommend it enough.
Step Two: Build a Portfolio - All 2018
I'm currently working on my portfolio website where I will document all the little exercises and projects that I am doing. I have quite a few projects within the class itself that will be good to document and present.
The portfolio will also allow me to integrate what I've learned in HTML/CSS/JAVASCRIPT while documenting the progressive improvements that I'm making.
I would like that by the end of 2019, I can call myself a fairly solid website designer proficient with flexbox, mobile first design and UX/UI. I might take classes on how to design UI/UX with Adobe XD too while I'm at it.
Step Three: Advanced Javascript and SteemJS - 2018 - 2019-2020 and beyond
@jesta gave that piece of advice to me...
Before you dive too deep into anything steem related, make sure you’ve covered things like async, callbacks, scope, error handling, xhr, promises, and modules (both for using and for organizing your own code). You don’t need to master each of them immediately, but just knowing how those gears turn will help once you start using steemJS.
...and then @yabapmatt added afterward:
@Cryptoctopus I would recommend picking a small project and trying to build it. I find the best way to learn is by actually trying to build something / solve a problem than just learning concepts by themselves. You mentioned building a bot - maybe start with something that automatically claims post rewards on an account as an example. You'll learn a lot of the concepts mentioned above by doing that and then i would suggest putting it on github or somewhere else and asking for feedback.
These are two very solid pieces of advice that I'm taking into account. So my plan is to start a steem project while going through the second class from the same instructor: The Advanced Web Developer Bootcamp. That's an additional 28.5 hours of lectures but I'm sure it will be worth it. There are also some really cool data visualization class in there that I could use for a data website for steem.
Conclusion
I'm looking forward to put my portfolio website online and share with you my progress. I've been coding everyday, I'm loving it and I hope more people will join the fun! What we need now is someone who would create a complete Dev class on Udemy for those who want to code on the Steem Blockchain!
Photo by William Bout on Unsplash