My Learning Path To Go From Complete Newbie to SteemDev

in #steemdev7 years ago

william-bout-264826.jpg

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

Sort:  

I would love to see you as a steemDEV and I'm sure you with your creativity will bring us a lot of interesting features and tools!! Hit the gas and accelerate mate!!

Had no idea steemit was written in javascript!! The whole system and platform of steemit and the way things work seems so complicated!!

Which PC specs do you recommend as a minimum to start learning and practicing code?

If you can run chrome and firefox and a text editor...you should be good. What's your PC right now?

What I have right now is a very basic one that hardly manage to maintain like 5-6 tabs open lol. But I should receive this laptop in a few days.

3.5 GHz Intel Core i5
RAM 8 GB DDR4
Hard Drive Flash Memory Solid State 256gb
Graphics Coprocessor NVIDIA GeForce GTX 1050 4gb

I know this one is more than enough.

So I really hope I can start to learn more things once I get this new computer

Ps: what antivirus do you recommend or do you use Mac?

your basic machine should be more than sufficient to learn on.
once you get your new toy, turn your basic into a dev machine.
windows defender is free and able.

is this your first go at programming?
or do you have previous experience with coding?

I have never code anything but I have always been curious.

being curious is always a positive, especially in programming.
good luck

Mine is ;
Name: LG E530.
Ram: 2gb
HDD: 320gb.
Intel graphics card Pentium.
15'6cm scrensize.

Dedicated video space: 32mb

A machine with only 2 gig RAM and a spinning HDD would be frustratingly slow for me. But I guess it depends on what you are used to, and how efficiently you can run. Might want to invest in something more modern. Try a friend's more powerful box for an hour and see if it feels fast enough to make it worth upgrading.

Any basic PC really. You work mostly on text editors so no ish. Problem starts when you want to try your hands on Android. Then you'd be talking of a PC with at least 4GB RAM and processor speed around 2.5Ghz. Nothing tests a programmers patience like Android studio.

I think that's what I'm looking forward to most is learning how to and digging through the back-end data to better track the progress of myself and some of the projects I'm helping with.

This will help me decide where I need to focus my time on Steemit as it will help me see projects that are organically growing on their own and ones that have stalled and need a push to help to continually grow.

Can't wait to see what you present on here and what tools these classes help you build for steemit.

I hope I can learn from you and the steps you took , I don’t know why it is so difficult for me to learn :/ maybe too much that I’m caught up in . One person to me to do coding on PCP , any comments ? @cryptoctopus

Udemy courses are great resources to get started, it depends on the instructor. I would suggest you to visit StackOverflow and MDN(Mozilla Developer Network) if you need any help or when you get struck. You can also reach out to me if you need any help, i'm a JS developer working on React and Angular applications.

I've got those 2 on for sure. They are GREAT resources.

MDN is divine. Stack's great. Just that the UI is like Reddit - harsh. Meanwhile MDN is as cool and inviting as busy.org

@cryptoctopus,
This article not only for you, this article is for the whole world to learn how to reach the goal of genius coder of STEEM platform! @jesta and @yabapmatt give you excellent advice. I am going to follow Udemy classes too! I need to build an app on STEEM platform too! So, I will follow your steps!
STEEM not only for 2018, this is for our entire life time! Yeah this is what I understood from your article too!

Cheers~

I’m glad to see you aren’t neglecting to put together a portfolio, I’ve known some people that had taught themselves, but when it came time to show their skill they had forgotten to build a portfolio.

What kind of front end are you dreaming about? Anything in particular?

It's a great idea to host your site and the fact that you have done this way of programming gives you full possibility in implementing your plans. You quite rightly noticed that JavaScript is universal and using it to create a site more realistic, having the basics of programming, since JavaScript itself is quite compact, but very flexible and you can do a lot with JavaScript. You can start with small, with simple functions, such as carousels, image galleries, changing layouts and a response to the pressing of buttons. When you become more experienced in the language, you will be able to create games, animated 2D and 3D graphics, full-scale applications with databases and much more! There are also many tools on top of the main JavaScript language that unlock a huge number of additional functions with very little effort, such as applying third-party frameworks and libraries to your HTML, which will allow you to speed up the creation of the site. I think that your examples will be followed by many and together it will be easier to carry out the plans! Thank you @cryptoctopus

wow , what a nice roadmap and strategy. I can't wait to see your first code on github.. I am also curious what your first project will be..

I like your dedication towards your work. One must a good plan and proper implementation of that plan. We want to see you as good coder. Our wishes and support are with you. Keep going. Good luck.