So I figured I would start to log my journey into JavaScript so that I can not only share my journey with others, but to have a written log of how far I've come that I can look back at.
Background
I have worked 8+ years now in the networking and systems side of the IT world. I recently was hired as an infrastructure engineer/devops engineer at an online only company which was perfect for me. I was getting tired of the onsite IT and I could definitely see that cloud based infrastructure was the next trending area that most IT professionals would want to move into.
While I am here, I am getting to learn so many new things and really get to work hand in hand with the developers to do deployments, troubleshoot different parts of our applications, and use some of the newer tools out there such as Octopus, Jenkins, and Docker. This really excites me as I know I am one to get bored when I have learned a system inside and out and all that is left is daily maintenance.
Now, what sparked me to start on the journey of learning JavaScript is seeing all the developers be able to create an idea in their head. I have so many cool (at least to me) ideas in my head that I am unable to materialize because I do not know how to code. This has been a journey I have wanted to do for the past 15 years of my life, and I figured now is the time.
The Journey Starts
I started determining which language I wanted to learn a few weeks ago, and it was a close race between Python and Javascript. I chose JavaScript just because of how far and wide it can be utilized, as well as the node.js side of things where you can use it for server side things. I figured this can be handy not only in my current job, but also personal projects and moving forward in my career. Don't get me wrong, I think Python is extremely powerful and useful and will probably dabble in it once I have a good handle on JavaScript.
So first things first, I needed to find a resource to learn from. I did some Google searches and found resource after resource on the web. It was daunting and I can say I spent many hours just finding new resources instead of learning. I know my learning style is not one to just read a book and have it ingrained in my brain. I needed exercises and plenty of them. The two websites that I am currently going through are JavaScript.info and FreeCodeCamp. Also special shoutout to the Grasshopper app on Android for letting me learn no matter where I am. I like the inbuilt exercises on freecodecamp, and I also like that javascript.info gives you tasks to do after most lessons. I have found this to be super helpful as with having to do the tasks on my own machine, save the files, and sort of create a repository of my learning, I have something to look back on and revisit if anything gets a bit hazy. My commenting skills have become unmatched! Oh also a protip, for anyone newly into programming, to comment a line in most editors, hit Ctrl+/
or Ctrl+Shift+/
to comment a block of code!
Where I'm at so Far
So far I have variables, print, alert, and some work with loops. I've also learned arrays and strings and how to manipulate them. This is just the basics for now, but I'm making progress and I'm extremely happy for that. When I see some basic code now, I can at least decipher what it is trying to do. The progress is coming slowly as time sucks and there's only so much of it, but I am getting more excited to learn instead of less motivated. That is good for me. There are few things that keep my attention span and I have a feeling that programming is going to be one of them.
I will be making more posts in this series as I progress. If you have any suggestions on resources for someone taking the leap into learning JavaScript, please pass them along. It's always good to hear from someone who already knows their stuff and know what they suggest. Thank you for taking the time to read my story!
Top comments (14)
Just to say best of luck to ya! I'm at the start of my coding journey too, but decided to go the Python route. Was cool to hear why you chose to go with JS though, can def understand your reasoning. Anyway, hope to hear more!
Why did you end up choosing Python?
Well, a few reasons:
I have a Ras Pi and remember hearing that Python was the "official language" of the device. However, I am aware that I could program it in other langs.
I have a friend that is a Python dev who doesn't live too far away from me. Once I get my footing, perhaps we can do some paired work together.
I really like AI/ML/Data Science and hear Python is well-equipped to handle those kinds of problems.
I read it's a declarative language and that sounds appealing to me. It sounded a littler easier to read and I thought that might be a bit more encouraging/help me get to my foot in the door.
I mean who doesn't wanna work with a language called Python! I'm a Python dev... can't wait to tell friends and family that. It sounds ridiculous!
All solid reasons! Gluck on your journey and I expect updates to your progress. I just set a reminder in my calendar to check up on you and your journey in a month... I hope in that time you code something greater than the Gibson!
Great that you are getting into JavaScript. What are some things that you plan to make soon?
Also looks like we have a similar style of learning, i.e. making something instead of reading theory. One thing I found useful is the visual roadmap in this article: codeburst.io/the-2018-web-develope...
It's not just JS but is a handy thing to use when you don't know what to learn next.
The one thing I've been dying to make and not even to make money on it, but a very simple cryptocurrency exchange. There are all sorts of platforms out there that you can build your front end on and interact with their APIs with to get real trading occuring on your exchange. I think this will give me all sorts of different experience as I work through creating it. I don't expect it to be pretty by any means, just functional.
I also want to make a personal website. They seem to be all the rage lately. How about you? What are your first projects?
Oh, a cryptocurency exchange sounds interesting. How would it work? Do you have an idea how you would make it?
Also are you planing on uploading you personal website somewhere? You might also be able, if you're looking for a domain, to snatch one with a .dev TLD soon in february.
As for me two things that I'm working on currently.
First is blueprint(WIP name) which is a cli tool that I use to scaffold a new project with one command.
The other is a CMS system (similar to WordPress) that I'm making to work with BeakerBrowser and DatProject. Sure enough you can view the results of the CMS in an ordinary browser like Firefox, but you need BeakerBrowser to add new content. And in case you aren't familiar with Dat, it allows you to share content from you computer like it were a server.
Yep. Most of the groundwork is laid with some of the projects that are already out there and live. I could use 0x Protocol and set up a relayer to get liquidity from other exchanges running their protocol. I could also use Loopring and do similar by utilizing their APIs and order books, just kind of create a new front end for it.
Your projects sound awesome. One thing that you may want to look into is IPFS. It is similar to Dat in that it uses its own protocol for accessing files stored across people's computers.
Wes Bos has a couple of really great JS courses that are free. One is ES6 and the other is JavaScript30. You can see them over at wesbos.com. There is an updated version of the roadmap that Milan referenced. You can find it here github.com/kamranahmedse/developer.... I also found the roadmap really helpful.
Yes! This roadmap is so helpful! you're the second person (or first, can't tell) to link it in this thread. It literally lays out the paths you can take to get deeper and deeper. Rather intimidating but excited to give at least the first few rungs a shot!
I've found Treehouse to be a great way to get introduced to the different languages and ideas I've learned so far. Their teaching methodology has been very effective (for me) for learning something for the first time, and the videos professionally done. They provide links with each video to additional documentation and resources to dig a bit further. Very much worth the $25/month. Then take what you've learned there and expand it via other resources like FCC, etc.
hth,
Steve
We should begin with it's Fundamental...be patient with it, learn from the very basic to more advance topic...avoid temptation to use any JS frameworks...
I guess the following is probably the "industry standard" here: FreeCodeCamp
It's such a great resource. I really am a huge fan of how open source has gained so much traction over the past I'd say 5 years, including a push to open source or share learning materials.