Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Effective Learning Techniques for Software Craftsmen

DZone's Guide to

Effective Learning Techniques for Software Craftsmen

· Java Zone
Free Resource

Build vs Buy a Data Quality Solution: Which is Best for You? Gain insights on a hybrid approach. Download white paper now!

Go in one ear and out the other

Programming languages, operating systems, SQL, NoSQL, web frameworks, Spring, Java EE, HTML, JavaScript, Agile methodologies , you name it. A developer must know a ridiculous amount of things to become effective. There’s no wonder many of us are struggling to keep pace with the ever-changing programming landscape.

When you’re a kid, doing stuff is the most natural way of learning, but then you go to school and you’re brainwashed into thinking that reading is the only way of studying.

Become an active learner

Ever since I started writing this blog I began to question my old ways of learning. I used to be a passive learner, reading books, articles or watching videos. But I realized this is not working the way it should, so I started looking for alternatives.

Edgar Dale‘s evaluated the most common learning techniques and came up with the famous Cone of experience. Basically, if you want to be a better developer you need to become an active learner.

Writing a blog

Until you start writing, you don’t really appreciate the actual effort put into coming up with a decent article. Writing down your findings not only helps the community, it helps your too. The writing process is going to teach you more about a given subject. You want to publish quality articles and the upcoming critique is going to be a good motivator.

Contributing to your favourite frameworks

The customer doesn’t want you to spend his money on writing frameworks, so your company makes use of high-quality open source frameworks. This is cost effective, but someone has to write those frameworks after all.

It’s time for our employers to realize that contributing is a form of investment. Getting involved is the best way to master a given technology. Passionate developers will allocate their spare time in this purpose, but it doesn’t always have to be that way.

What if all employers will allocate developers some hours for contributing to those open source projects they’ve been employing? You’ll meet other great guys with solid developing skills and this is probably a cheaper way of training your developers.

If you enjoy reading this article, you might want to subscribe to my newsletter and get a discount for my book as well.

Vlad Mihalcea's Newsletter

Contributing to your own frameworks

If you want developers to appreciate all the effort put into managing, testing or marketing, the best way is to have them lead their own open source project. Starting your own GitHub project is going to teach you a lot about Product ownership, software design or marketing techniques.

Writing frameworks is so much different than the current enterprise developing experience. You need to pay extra attention to your framework programming usability for your adopters to spend the minimum amount of time while employing your software.

If you enjoyed this article, I bet you are going to love my book as well.






Conclusion

Getting involved is the true way of the software craftsman. A pragmatic programmernever bashes his tools, giving a helping hand instead. Helping building a better software community is the most effective way of becoming a better developer.

Build vs Buy a Data Quality Solution: Which is Best for You? Maintaining high quality data is essential for operational efficiency, meaningful analytics and good long-term customer relationships. But, when dealing with multiple sources of data, data quality becomes complex, so you need to know when you should build a custom data quality tools effort over canned solutions. Download our whitepaper for more insights into a hybrid approach.

Topics:
java ,opinion ,tools & methods

Published at DZone with permission of Vlad Mihalcea. See the original article here.

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}