{"id":1503,"date":"2016-02-22T06:42:51","date_gmt":"2016-02-22T11:42:51","guid":{"rendered":"https:\/\/cindypotvin.com\/?p=1503"},"modified":"2016-02-21T11:11:57","modified_gmt":"2016-02-21T16:11:57","slug":"master-each-skill-before-moving-on-to-the-next-shiny-thing","status":"publish","type":"post","link":"https:\/\/cindypotvin.com\/master-each-skill-before-moving-on-to-the-next-shiny-thing\/","title":{"rendered":"Master each skill before moving on to the next shiny thing"},"content":{"rendered":"

\"\"Technology moves so fast, it’s easy to build a never-ending list of skills you need to learn to stay up to date as a software developer. Besides, learning a new technology from scratch is fun and rewarding since you’ve not seen its flaws yet, and you get to add a new notch to your belt. But, if you want to keep growing as a software developer and take on more challenging projects, accumulating knowledge about new programming languages, frameworks and technologies should not be handled like a game of Pokemon. The point is not to catch them all, put them on your LinkedIn profile and stash them away, never touching them again.<\/p>\n

Software is valuable if it solves a problem for its users, and this is not related with the number of hot technologies you can cram in. You may not know everything you need to complete a particular project, but if the skills you do have are strong and you understand what you need, you can learn what’s missing. A good software developer is a good learner, since there will always be unexpected challenges and you can’t be ready for everything.<\/p>\n

But, how to do avoid the trap of just skimming and build solid skills? A very important thing is to focus on mastering the subject you’re learning before moving on to a new skill. I’m not talking about understanding everything there is to know about a specific technology or framework, which could take a lifetime. But rather, you must understand what you’re learning before moving on to the next step. It’s not useful to gather a collection of half-baked skills and badly understood technologies. You want to have strong skills that you’re confident in. The sum of your skills is like a garden: if you’re only letting your flowers grow half-way before yanking them out and trying to grow something else, you’re going to have a pretty boring garden.<\/p>\n

This approach doesn’t mean you must go in-depth with all the technologies that you’re touching. From time to time, I’ll spend some time with a new technology to understand what it’s doing and how it can be used. For example, I recently picked up a Coursera course about Bootstrap (Front-End Web UI Frameworks and Tools<\/a>) to understand for which kinds of projects a client-side framework would be useful. I’m not aiming to be an expert, but I understood the parts of the course I completed well. The knowledge I have is complete in itself, but my level is that of a beginner. I wouldn’t do the same thing with many other frameworks for the sake of it, unless I needed to choose one for a project right now, but I know I could pick up the skill as needed.<\/p>\n

So, the next time you pick up a new technology, make sure you’ve understood what you’re doing well before moving on. It’ll take longer for sure than just copy-pasting code and trying it out, but the technologies and skills you do learn will be a lot more useful. Having trouble making the skill stick? Maybe you should try teaching it<\/a>!
\n