DEV Community

Gagandeep Singh
Gagandeep Singh

Posted on

How do you get good at technical skill that you do not get to use in office ?

Say you are front end developer and do not get to work on server side technologies for what ever reason. But you find yourself inclined towards server side technologies like nginx, sharding, docker etc. How do you get good hands-on/experience/knowledge for future ?

What are platforms on internet that people use practically for this purpose ?

Thanks

Top comments (6)

Collapse
 
logans1 profile image
Logan Sinclair • Edited

If I understand right you wish you improve skills not needed in the office. One great way of doing this is through personal projects! Lets say you wish to learn server side development. Pick out a small project (ie a multiplayer tick-tack-toe game) and plan out the project from scratch. Next, start developing from what you do know (ie you know NodeJS is a server side technology so you Google "NodeJS multiplayer game tutorial"). Perform extensive research on every problem you run into (ie Google "how to open NodeJS server to internet"). After you create the idea, improve the app. After that, find another project that is even more ambitious (like a famous social media clone). Continue finding more ambitious projects to add to your portfolio and you will have learned the technology. Remeber: Hands on work is the best way to learn in development, but the below can enhance your learning.

Another way is to look up books on whatever subject you would like to learn (I recently started learning Java and started out by Googling "Best beginner Java Books").

Yet another way to learn a subject is through video courses/tutorials. On YouTube you can search for tutorials on just about everything. Udemy also has a lot of great courses on certain subjects/technologies (Beware Udemy`s full prices because they have sales where most prices are <$10 very often.) Be sure to check a courses/videos ratings before taking it has their are many junk videos/courses out there!

You also ask for what platforms people use for this purpose. I know of none made for this exact purpose but I seen posts on just about every dev social media about a developer`s project and then wanting feedback on it. This feedback can help learn different ways to create certain features.

Collapse
 
raphael_jambalos profile image
Raphael Jambalos

I think this plan is pretty solid.

But for me, I tend to prefer another order:

Learn through books/videos courses -> Hands on Personal Projects

I also look for opportunities in the industry for advancing skill. Like I look for certifications on it. Certifications, more than demonstrating to others you have the skill, is also a good way to pressure yourself to cover all the basics.

For my personal projects, I tend to do projects that can be published as an open source library/framework/code. This makes me more conscious that I have to make my code better because someone is actually going to look at it.

Collapse
 
logans1 profile image
Logan Sinclair

I completely agree with the order of learning you have and probably should have refrenced it originally in my comment. Never thought of using certifications to test yourself though, very good idea!

Collapse
 
deepgsingh profile image
Gagandeep Singh

Thank you ,

Resources you mentioned like Udemy seem great.

Collapse
 
ben profile image
Ben Halpern

To complement what everyone else is saying, I’ll say that the starting point is having a good routine for healthy computing outside of work. Clear dividing lines between computer and non-computer stuff like friends and family. What you don’t want to become is a zombie who’s always working on a thing in the back of your mind.

A healthy approach to home software development is key. Good communication on the subject with anyone in your life who may be affected by how you use your time is also important.

Collapse
 
tschellenbach profile image
Thierry

Open source is a great way to improve your skills.