Improving the Developer Culture at Your Workplace

Here are some of the things we do here at BancVue to help keep our developer culture healthy and strong. They are things you can do to improve the developer culture at your work. Many of these things can be started by anyone at the company, though a few may require management approval or financial support. However someone needs to lead the charge. If you want to change the culture, it has to start with you.

Start a Developer Book Club – Here at BancVue, we have a developer’s book club that meets each Wednesday over lunch. The group decides what book they want to read, and then takes it a chapter (or sometimes a section) or so each week. We discuss what we have read and learn from one another to help keep our skills sharp.

Hold Weekly Dev-Shares (Knowledge Shares) – Each week we have a different developer share something they have learned, something they have worked on, or some other presentation that would benefit the other developers. Its a great way to spread knowledge or promote new technologies. We identify topics the developers as a whole need to know and ensure those topics are discussed. However, most of the time it is whatever the presenting developers choose to present. Its a great forum to show ways other developers have found to make your work easier. Its been used to discuss company tools or how to overcome common problems in the codebase or toolset. It helps increase the collective knowledge of the teams.

Get Safari Subscriptions – BancVue provides several subscriptions to Safari Books Online that the developers have access to. This is a great resource for the developers to learn from. Several members of the book club use it to read the books. I have used it on many occasions to learn more about technologies relevant to whatever project I am working on.

Start a Developer Library – I personally bring up several of my development books and have them at my desk for any developer who wants to read them. I have seen places that sponsor a company library that is stocked with current books to help developers learn.

Practice Pair Programming – If you aren’t doing pair programming, you are really missing out on a learning opportunity. Pairing is a great way to transfer knowledge. Each developer has their own bag of tips and tricks they have learned over the years. Paring allows the whole team to leverage this knowledge.  This is also true of domain knowledge. A great way to grow a junior developer is to pair them with a senior. Even the senior devs will benefit. I have learned A LOT through pairing, even from devs that are many years my junior.

Start Mentoring – Another way to really help developers grow is to assign them a mentor. Ideally each developer is both being mentored, and mentoring others. Senior devs mentor mid-level devs, who mentor junior devs. Senior devs can be mentored by other senior devs who have more experience, etc. Regardless of whether this is done formally or not, encourage the developers to take on an attitude of mentorship.  Everyone should be continuously learning from each other.

Ask for a Training Budget – Ask management to encourage outside training by providing funding for it. BancVue has a budget for training that can be used for conferences, online training or other courses. Some good examples would be attending JP Boodhoo’s Nothin but .NET course, or Udi Dahan’s SOA course, etc.

Use Screencasting – At BancVue, we screencast our dev shares. This way anyone who missed can still see it, plus, as we bring new employees on, they can benefit from them as well. We also have used them for training on company tools and walkthroughs of common tasks. A good example would be a screencast on how to set up a developer’s box.

Get Training Videos – There are many video training resources available. Some are free, and some are for purchase. There are many great free videos out there. The purchased ones, however, often cover the topic in much more detail, but this is not always the case. Get videos that cover the technologies you are using, or the techniques the team needs to learn. Make them available to all the developers on a drive share or wiki. Make sure you watch the videos (or a sample of them) before making them available. You want to make sure they aren’t a waste everyone’s time. Some good sources for videos are:

  • Free
    • DimeCasts.net – A great site with short 10-minute videos on all types of development topics. The length is perfect for the ADD-impaired (like myself).
    • Virtual Alt.Net – This site holds a collection of virtual meetings/screencasts on various topics. Check out the “Recordings” tab.
    • InfoQ – This is far more than videos. It constantly has great new content. I suggest subscribing to their newsletter, which is just a concise set of links to all their new content.
  • Paid

Broadcast Useful Resources – When you learn of upcoming user group meetings or training opportunities, let all the developers know. I do this often. When the Austin Code Camp comes around each year, I personally invite every developer to come. When I find a great link that I know others would be interested in, forward it to them. I am always trying to make resources available to those who could use them.

Start a Blog – Starting a blog is not only a good way to learn technology yourself, its a great way to teach others what you are learning. If you want to lead others in your company how to use a particular method or tool, what better way than to write up a blog post and refer them to it. You will not only help the developers you work with, but you will be contributing to the developer community at large. I can’t count how many times I have directed others to my blog for something they have questions about.

Give a Presentation at a Local User Group – Find a topic you are passionate about, and give a talk on it. It’s a great way to get people to come to the user group who may not otherwise come. They may come just because its you. It also encourages other developers to start doing the same. They see that you don’t have to be a genius to do these things. It ups their confidence. Not only that, but in doing so, you will learn a lot. The saying is true, “If you want to learn something really well, teach it.”

Keep up with Twitter – To get a lot of resources and stay current, follow leading developers on twitter. The resources you can get from there are great. I find myself relying more on twitter and less on my RSS feeds for current information these days.

Read Books – This will help you stay current and keep your skills sharp. Aside from the obvious benefits to yourself, this also lets you determine what books you may want to suggest to others, or to the book club.

Well, that’s a lot of tips. The bottom line is, the change starts with you. I encourage you to implement some (or all) of these tips. Not only will you grow to be a better developer, but so will everyone around you. You will be a blessing to your company and your team, and create a better place to work in the process. Go for it!

-Chris

This entry was posted in Continuous Learning, Leading, Mentoring and tagged , , , . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *

You may use these HTML tags and attributes <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*
*