Wednesday, 9 March 2016

Ten ways to hone your craft

Web development, as an industry, is in a process of constant renewal. And to keep afloat, if not flourish, it's every web developer's professional duty to ensure that the tools in his arsenal remain sharp, relevant and battle-ready.

Easier said than done, right? It's simple enough, really. Here are ten ways. You don't have to practice all of them, but I think they're a good start and hope they'll help you. Some of these ways overlap each other in small ways, but they're largely distinct.



Keep going through those motions.

1. Practice

Yes, yes, I know, call me Mr Obvious. I hate to rely on the overused cliche "practice makes perfect", because it's patently untrue. Practice does not make perfect. There is no such thing as perfect, at least not in an industry where things are constantly changing. Practice, however, does improve your skills.

Get an account at CodeWars, TopCoder or something. That's where developers all around the globe present programming problems for their fellow programmers to solve. Not only do you get to train, you also get to see how other programmers solve the same problem. It's an eye-opener.

Tinker with technology when you get the chance. Experiment and explore. Push those limits, and find new ways to do things. Rock that code.



Absorb whatever little snippets of
information in your spare time.

2. Read

Blogs, Tweets, tech news, job advertisements. Tech forums like StackOverflow and Quora, where fellow web professionals exchange ideas and opinions. Keep up to date with web development trends. Nothing says sloppy like a web developer who doesn't know about anything happening in the web industry.

Of course, keeping up with the news isn't limited to "reading". There are PodCasts to tune in to and software release videos to watch too.



Write anytime, anywhere.

3. Write

Write your own tech blog. Sound like a tall order? It did to me. I did it anyway, loving every minute now. Writing down all my discoveries and ruminations has deepened my understanding of my craft.

Don't be afraid of coming across like a noob. There are plenty of developers blogging on the internet and gleefully making fools of themselves. Join us! Blogging is also an internet tool. Add that tool to your arsenal!




Time to patch those holes.

4. Patch

Think you know what you need to know? Think again. Everyone has gaps in their knowledge. Everyone. No one can know everything, not in this industry. The worst thing you can do is to suck so badly that you don't even know what you don't know.

Make a list of gaps in your knowledge, and work to resolve them through research or study. I've got a list of my own - higher-order functions, regular expressions, closures, promises... just to name a few. Everytime you come across a term you don't understand, add it to the list of things you need to Google.

Oh and yes, Google is your friend. Wikipedia's a close second!



Hit the library.

5. Learn

Take a course. A developer boot camp or a technical diploma. Take your pick! Stuff can be self-learned, of course, but there will be times you need a bit of hand-holding, a nudge in the right direction.

Or simply pick up a book from the library and try to learn something new. A programming language, application framework, database... anything. You won't become a guru overnight - long way to go, pal - but it's a start!



Demonstrate stuff.

6. Teach

"Those who can't do, teach." That's a load of crap. This is highly misleading. Your skills don't exist in a vacuum. They blossom through interaction with other practicioners. Whether it's showing your fellow developers how to achieve that cool CSS effect or teaching QBasic to a class of young impressionable teens, having to explain stuff does increase your own understanding.

You can no longer be satisfied with "doing", and having stuff simply work. Now you'll have to explain why it works. That, in itself, is just about guaranteed to bring your skills up several notches.

Knowledge transfer - don't knock it.



Hone your interview skills
by... well, interviewing.

7. Interview

Like it or not, presentation is a huge part of being a web professional. Any professional. Knowing how to express ideas and impress people is often more important than the gazillion programming languages you've listed in your resume.

If nothing else, it'll show you where you stand in the industry. Interviewers will test your technical ability. They will examine you, and force you to show your best side.

And when that offer letter arrives, whether or not you ever intended to change jobs, it's a huge boost in confidence you just can't put a price on. Time well-invested.




Sneak peeks at other peoples' stuff.

8. Steal

Know that great web template you saw while surfing? Or that nifty user interface? Or that superb search function?

Steal it. View the source code, learn how it's done. You can't think of all the great ideas out there. Trust me, they'll be flattered. That's why people put their work on the web - so it can inspire others the way they were originally inspired.

More precisely, make your own version of it. Recreate the functionality using the tools at your disposal, and if possible, improve it. Oh, that code was done in Ruby and you only know PHP? Well, you could learn Ruby (not a bad idea) or you could replicate it in PHP (not a bad idea either!). Firstly, it helps you practice. (See Point 1) Secondly, it helps you see that you're capable of what others are doing. Thirdly, it trains you to reverse engineer.



Keep busy.

9. Side Projects

You're probably thinking that after a long day at work, the last thing you want to do is hammer out more code. That's certainly your choice, but consider this - any project you embark on in your spare time, be they freelance jobs or just your own pet project, is likely to benefit from the expertise you've gained while at work. Conversely, the new insight you gain from working on your own stuff outside of work, will trickle into your work.

Also, your personal projects will likely not be affected by pressing deadlines or asinine client requirements. You have greater control. You'll finally find out just what awesomeness you can pull off when nothing's holding you back.



Use others while making
yourself useful. Stay connected.

10. Network

Web development's a very diverse field. One person can't know everything (fun trying though!), so the next best thing is to have a network of people you can talk to and seek advice from. They can be specialists in programming, SEO, databases... who may also have blind spots in their knowledge they need your help with.

An extensive network is good for news exchange, job referrals and idle chat. It develops your interpersonal skills and insight.

Get cracking!

Your craft isn't going to hone itself. An idle developer is a developer in danger of extinction. What, you thought this path was going to be a bed of roses? Boy, do I have bad news for you, sweetheart.

Don't be a tool. Sharpen your tools!
T___T

No comments:

Post a Comment