views:

308

answers:

5

The more I am in the industry the more it appears to me that the average developers that I have met along my way are not really passionate about getting better in any way (e.g. reading books or articles, participating in communities outside the company like SO etc.).

While I realize that at least until there will be enough qualified people in the industry to cover the demand, it is not going to change, I am still interested in how can I make it better at least on a small scale, in our relatively small team of developers.

It can also be understood that under a time-pressure of the things to be done and a family lives of the guys they have enough other things to do in their free time other than learning, so I am looking for some ways to learn effectively within the work-time without disturbing the schedules and everything (basically to make a time investment that will in the end pay-off by increased motivation and productivity of people).

Provided that I can persuade the management about some steps to be taken, how can I effectively encourage my team mates to learn about relevant things (such things that would improve the overall quality of code, communication etc.) ? Do you have some experiences with internal lectures / meetings or any other ways that could help ?

A: 

I have experienced this on myself, I was put to comment pro and contra another guys code. There were some things I didn't know so I had to lookup. You can put this up for them, as a request somehow like: You are very important for this company, and I your ideas count a lot, take this and review it, then come back with comments.

Pentium10
+1  A: 

May be reading this book might help! :)

How to Win Friends and Influence People

The book is rather famous, give it a read! Here is the product description.

Millions of people around the world have - and continue to - improve their lives based on the teachings of Dale Carnegie. In "How to Win Friends and Influence People", Carnegie offers practical advice and techniques, in his exuberant and conversational style, for how to get out of a mental rut and make life more rewarding. His advice has stood the test of time and will teach you how to: make friends quickly and easily; increase your popularity; win people to your way of thinking; enable you to win new clients and customers; become a better speaker and a more entertaining conversationalist; and, arouse enthusiasm among your colleagues. This book will turn around your relationships and improve your dealings with all the people in your life.

chutsu
+3  A: 

If your company is set up well enough, there will be targets for each employee to have achieved at the end of the year which directly affect their bonuses and/or pay rises (a certain large company I know of has "Personal Business Commitments" for this very purpose).

These targets are agreed between management and employee at the start of the year and need to be hard targets ("hard" as in specific rather than difficult, although they should be at least moderately difficult so as to stretch the employee).

By hard targets, I mean "win $100k of new revenue" or "close all bug reports within 30 days", not soft targets like "increase revenue" or "respond to bug in a timely manner". That's so there is no doubt as to whether a target is met or not. If there's not an actual number somewhere in the target, it's probably not measurable.

Once there's something like that in place, you can add self-education (whether paid for by the company or not but, since it's the company mandating this, they should be ponying up for the cost) as one of the requirements and specify things like "take a course in web design" or "learn how to code in F# (by developing an interface module for the current software)" - again hard targets, not waffle.

At the end of the year in the annual reviews, the employees are rated against their targets, including any educational improvements deemed appropriate. You'd be surprised how much people will do to ensure they get a bit of extra money, especially if they can see it will also benefit them in the long run as well.

paxdiablo
+3  A: 

A lecture isn't going to help. A meeting isn't going to help.

If your company is full of programmers who don't care about programming, then there is a fundamental problem with the culture of your development organization, or the development organization is unimportant to the mission of the company (or is viewed as such).

So, the problem isn't going to be solved by a lecture or a meeting. If you think that the programmers are not the motivated type of programmer, it's either a fact of life, or something you will have to struggle mightily to change.

Andrew Johnson
+1 for culture.
talonx
Or get new programmers :)
talonx
A: 

It's difficult, as usually a lot of professionals (not just developers, but on every work) are resistant to change and tend to think that they know more or less anything they need to know.

One think that has worked on one company I was were to make more or less frequent workshops (about one each month) presenting new technologies or new procedures to change a little the way of doing things. The idea was to make a presentation of about 2 -3 hours, on one or two days. One member of the team explained to the rest about a technology he knows (for previous jobs, or maybe he had to learn it for a project) and that could be interesting on a long time run... The difficult part is that the rest of the team really applies the new knowledge to their projects. In some cases it was easy, for example, explaining how to use Subversion, as the company was changing from SourceSafe to SVN and the change was encouraged by the managers, but when it comes to more "you can do things as always, but there is also this new way", you really has to show up that the new way of make things is really easier/more productive in some way...

The bottom line is that it's easier to learn new things if you keep everyone's momentum forward learning. If you learn one new thing each week, in a few months it's easy to be learning two things a week...

Of course, that has problems, you have to expend time on meetings, the one explaining what he knows has to prepare it, etc, but I think it's a good way to share knowledge and encourage conversation. Also, because you put one guy as "the expert" on a particular field, and everyone knows who to ask when some problem arises... But on a lot of companies that kind of things will be seen as wasting the time.

Of course, it helps that in this company these workshops has been running from some time and that a lot were for highly specialized fields that were used on everyday work.

Khelben