Yazan is a senior Java developer and a part-time entrepreneur!! he loves technology, chess and guitars!! Yazan has posted 1 posts at DZone. You can read more from them at their website. View Full User Profile

Don't be a Scholar, Be an Engineer

  • submit to reddit

Many software developers I know seem obsessed with learning new technologies, even some of them use this is as a scale to measure how much progress they've made in their career and how much they have benefited from working at a certain company. You can hear something like "Hey! company X is so cool I learned to use this and that while I worked there". Don't get me wrong I'm not against learning new technologies, learning is a fun activity (to some people at least) and it can feel pretty good after you've finished reading that 500 pages book, It's just that I think software developers should always be thinking of how they can add value, maybe by coming up with new product ideas, adding new features to a product, creating new tools to make work more efficient or product easier to test! By doing so not only will you create more value but also you'll get a higher return on all the efforts you've spent to learn the technology and here is why.

You will learn the technology better:

No technology can be learnt by only reading a book and doing a couple of samples. You have to use it and the first time you will you'll be shocked by the amount of details the tutorial book didn't mention, and and the amount of details you actually miss-understood. Not to mention, a book can never cover every use case and introductory books end up covering the most basic ones, which is a small part of what you'll encounter in a real project. 

You will learn it on the Job:

I've just read this interesting post by David Heinemeier, his answering the question "How do you keep up with new technology?" Basically he learns the technology on the Job when he needs to do something that requires him to learn a new technology,and not the other way around. He learned Ruby because he had a new project and he was sick of PHP, created Rails because he needed it for that same project and also learned Ajax because he wanted to create a compelling UI experience. The motivation here is building software not learning new stuff.

And finally, stick with what you know!!

The first few weeks of using a new framework or a programming language are usually a nightmare. You'll have to do somethings that the tutorial book didn't mention and you'll have to figure out how to do it. You'll  start finding bugs in the technology or missing features, or even worse, you'll  find more than one approach to do something and you have to decide which way is best. 

After those few weeks are over you start to get productive, you have to make less decisions and you'll stop facing new problems. It's only by then you'll start to really benefit from the time you spent learning and by then, the more you use the technology the higher your return on investment will be.

Published at DZone with permission of its author, Yazan Jaber.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)


Willie Wheeler replied on Tue, 2012/12/04 - 8:58pm


Kalyan Bhadra replied on Thu, 2012/12/06 - 3:11am

Right... but how much the interviewers will impress by listening "I don't know, I will learn and work" rather "I know". New concepts, technology, frameworks are coming up every day. How an individual can even learn or get basic concept of those? And it is not possible also to get chance to work on new/ good technologies every time.

Any way, your topic at least give me some inspiration to stick to the basics and learn what ever your coming project needs.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.