DEV Community

loading...
Cover image for Mastering Full-stack with Javascript's Superpowers

Mastering Full-stack with Javascript's Superpowers

siwalikm profile image Siwalik Mukherjee ・Updated on ・3 min read

When I used to freelance as a full stack developer during my college, often I would find myself stuck between context switching in terms of practices and different syntaxes in javascript and php. Although I was making some good side cash and had a bunch of happy clients, the code I was writing was not great as it seemed tough to expertise on every aspect of web development at the same time.

Being a hardcore JS fan and ardent lover of interfaces, I decided to focus solely on frontend and after freelancing for a few more months, I join a startup as a frontend developer. I was content with my learnings and adventures in the frontend land... until I came across this yesterday ~

The roles required to design and develop a web solution require a deep
skill set and vast experience in the area of visual design, UI/interaction design, front-end development and back-end development.
Any person who can fill one or more of these 4 roles at a professional
level is an extremely rare commodity.

However, given that JavaScript has infiltrated all layers of a
technology stack (e.g. React, node.js, express, couchDB, gulp.js
etc...) finding a full-stack JS developer who can code the front-end
and back-end is becoming less mythical. -Frontend Handbook
'18

So I started wondering, why not? I already know frontend, I also manage to write some (crappy but) working backend code in php for my side projects, why not harness my javascript knowledge and become a full stack javascript developer, just by connecting the dots and a bit of learning?

When it comes to learning, the reason majority of our plans fail is because we don't have an action plan. And any resolution or goal without a proper plan is bound to fail! So I started there, with the planning.
[fun fact: that's the same reason why our new year resolution's fail!]

I spent the next day researching on topics and resources one needs to learn in course of this journey to be a full stack developer just by harnessing the superpowers of Javascript. So I created a to-do list which starts at the very basics of javascript and build its way up to the more advance concepts, covering all the tech stacks.

Screenshot from notes app

If you're a front-end developer looking forward to up your game or maybe you're already a full-stack developer and want to brush up your skills for an interview or for your next side project, I'm certain, this will be helpful to you.

I posted the list on Github which you can check it out here.

In order to stay motivated and track your progress, fork my todo list from Github and commit to your repo with crossed out items, as you progress.

git clone https://github.com/siwalikm/Prep-for-Full-Stack-JS.git
Enter fullscreen mode Exit fullscreen mode

P.S. Remember: The key is to stay motivated.

If possible, start learning along with a friend and maybe build something together along the process. If you're learning alone, reach out to people if you get stuck and try to document your learnings.

You can tweet me (at @siwalik) about your learnings and adventures on this journey or just to say 'Hi'!

Best of luck to you!

Discussion (15)

pic
Editor guide
Collapse
asparallel profile image
AsParallel • Edited

The expression "don't put all your eggs in one basket," comes to mind. There's nothing wrong with the method you're proposing, but it does create a single point of failure.

My 2c is learn your stack, but also Branch out into Java, .Net, C++ and other mainstream platforms/languages. Broad exposure produces significantly more insight than being monoglot.

Collapse
siwalikm profile image
Siwalik Mukherjee Author • Edited

Hi AsParellel, if you master your programming concepts in any language, and god forbid, let's say that language vanishes from the world tomorrow, it would be fairly easy for you to jump to another language and if not a pro, atleast be good at it, again, as long as you're good at programming concepts.

As far as the famous Warren Buffet quote is concerned, I think it makes more sense in terms of portfolio distribution that programming languages.

Collapse
lmbarr profile image
Luis Miguel

Totally agree, I think is impossible to really MASTER all those languages that AsParallel mentioned. As developer we need to put special emphasis in the fundamentals and then switch between languages as need it.

I read once in dev.to something like be an expert at one thing and not average at everything.

Collapse
kayis profile image
K

Nice!
Trying to get into full-stack development myself, after years of UX and frontend stuff.

At the moment I'm looking in the whole serverless thing, which is, because of JavaScripts superpowers haha, not as hard as I imagined it :D

Collapse
siwalikm profile image
Siwalik Mukherjee Author

Hey K, thanks! Its great that you are experimenting with your career. Feel free to reach out to me on twitter, if you need any help. All the best on your learning journey!

Collapse
flashpapergrind profile image
Flash • Edited

Very helpful article, list and topics!

I am looking at getting into JS (with the aims of becoming a full-stack dev) to create better web-based software solutions for the company I work for. Hell, someone has to do it! :D I am a pretty fast learner, it's just knowing where to start that's key. Also, and you make a good point regarding action plans, goals are paramount!

Will be jumping into this shortly, as soon as Spotify is done installi... oh, it's done. Ha! Time to GitKraken! (get it? "get cracking"... XD)

Collapse
siwalikm profile image
Siwalik Mukherjee Author

I bet you're a "fast" learner considering your namesake superhero is the fastest person on the planet! Good luck to you =D

Collapse
angieg0nzalez profile image
Angelica Gonzalez

Hi Siwalik. This is so cool, thank you for putting it together!

Are these your recommended topics? And then to follow it, should we create our own projects to implement/practice the concepts?

Collapse
siwalikm profile image
Siwalik Mukherjee Author • Edited

Thank you, Angelica! After going through numerous articles and based on my own experience, I curated this list, so ya I do vouch for the topics, but still open to suggestions (and PRs) otherwise!✌️

For projects, absolutely you should implement each and everything you learn. You can also start documenting your learnings in blog posts along with building practice apps.

If you think learning these topics or building your projects with a partner will be more helpful, you can use Gitter.im to pair up with software developers all over the world. good luck 🙌

Collapse
azeem115 profile image
Azeem Abbas • Edited

Good points Siwalik!

Is it just me or does it look in the future everything will be Javascript and serverless? Traditional FTP will be replaced by NPM?

Collapse
varit05 profile image
Varit Patel

Awesome!

Many Thanks for the list!

Collapse
siwalikm profile image
Siwalik Mukherjee Author

Thanks Varit, are you planning to start your full stack preparation aswell?

Collapse
allema_s profile image
Sebastien Allemand

Very interesting, thanks !
Are you done with all the topics ? I think, I'll use this to learn JS.

Collapse
siwalikm profile image
Siwalik Mukherjee Author

Hey Sebastien, thanks. close to 50% of the topics will be a recap for me while the remain stuffs are new. And I started on this list just yesterday, so there's still some time!

Also all the best on your learning, friend.