Happy and Productive Developers: Motivating Developers

Developers produce their best work when they are motivated. What motivates developers? That can be very different depending on the developers. It is important to build a relationship with a dev and learn what motivates them. Let’s look at some common motivators that can apply to most developers.

Money

Developers motivated by money are never worth the money. Money is a very short term motivator. Devs that are primarily motivated by will cash change jobs frequently, and are usually the biggest complainers on the team.

Value

Your marketing/strategy department is supposed to sell the customer on the product, but have you ever thought about selling the product to the person building it? I personally put in a lot more effort knowing what I’m building will make people’s lives better. You should frequently remind developers the value they are adding to customer’s jobs.

New Tech

Developers love getting to play with the new toys. I don’t know any developers that want to be coding in .Net 4 in five years. Devs get excited about new shiny frameworks and existing tools getting upgraded. Do your best to provide them the opportunities to utilize them as soon as they are available.

Growth

Tasks for entry level developers are rarely any fun. They usually involve maintaining existing code or minor updates on multiple projects. These become tedious and boring over time. Few developers want to stay doing the same tasks forever . You should be transparent with what growth will be available if they do their work well.

Recognition

Most developers I know are heavy introverts. They don’t go out of their way to seek recognition from their peers. You can quickly boost their moral with some public recognition. One on one recognition can go a long way too. Simply saying “I like how you handled that challenge” can be priceless to a developer’s esteem.

So what do you think? Do you think you’ll need to move mountains to motivate your developers? I bet it will be worth the effort.

I’m a Technology Architect for Rockfish Digital. I’ve been there since 2007. I love coding and spend most of my time in C# and JavaScript. I’m a firm believer in the Full Stack Developer.

Happy and Productive Developers: Tearing Down Stereotypes and Understanding Developer Motivation

The first step in creating an environment for happy developers is to build a good relationship with them. You must start things off on the right foot. This all starts before your first interaction with them. This first interaction could be an interview if you manage developers. It could be the company’s all hands meeting where they are introduced. Your first impression of a developer can be incredibly skewed because of developer stereotypes.

Society has cemented stereotypes and cliches into our brains. They influence our first impression of people and cause us to be judgmental. Stereotypes in the work place put barriers between work groups and developers become victims of this pretty frequently due to the nature of what society makes them out to be.

There are plenty of appearance and hobby stereotypes for developers. They don’t care about their appearance, spend 20+ hours a week playing MMOs, and know the Star Wars lore inside and out. You can find out if there is any truth pretty quickly. Asking a developer “What do you geek out on?” may not yield positive results if the person doesn’t consider themselves a nerd or geek about something. Leading with an Office Space quote isn’t going to lead to positive conversations. You’d be surprised how different the typical developer is outside of work. Personally, I’ve worked with former US Marines, a marathon runner, multiple MMA/Kickboxers, several carpenters, a former pastor, and the list goes on.

Lets focus on actual work related stereotypes. The above may get an occasional eye roll or laugh, but they shouldn’t affect developer morale across your company… unless you’re just a total jerk about it. Removing work related stereotypes will improve your relationship with the developers you work with on projects, you manage, or the ones you simply work with.

#1 Developers will get your project done if you simply throw pizza and redbull at them.

There isn’t a developer in the world that will be willing to do this for no reason. Developers don’t want to be treated like slave labor. The quality of work will reflect how you treat them.

#2 Developers are difficult to work with

This is hard to defend because developer’s job is hard to do. Developers ask a lot of questions, challenge requirements, and resistant to change. There is a lot of truth in this xkcd comic.

A simple task can turn into a mountain with one requirement. Imagine you are told that you told to build a two page web app. That should be simple right? It’s a search page and a results page. Super simple! Oh we need the search page to search the entire internet…. Yeah, it’ll be just like Google. Both of you need to slam on the brakes. The developer is most likely going to panic and say it’ll take 10 years to do. You, the person wanting this product built, need to ask the right questions before throwing your hands up and requesting a different developer. Developers have a good idea of the level of effort required for work. You have to find a middle ground. Trust them and work towards success together.

#3 Young developers are better than older developers

This has become an increasingly more common thought over the past few years. New and hungry programmers will typically overshadow their well-seasoned counterparts. They’ve been engulfed in technology longer and pick things up quickly. There is a lot more to programming than simply knowing the latest language or framework. Older developers have already learned how to work efficiently, problem solve without panicking, and can offer a unique perspective.

#4 Foreign developers aren’t reliable

This stems from another myth that offshore work doesn’t produce as high quality work as local. Developers from a foreign ethnicity or speak English as a second language have an incredibly hard barrier to break down to get hired. There is a bunch of other garbage that we can throw around this that is hard to go into.

#5 Female Developers aren’t as good as Male Developers

Let’s pause for a second. Do you believe the above? If so, go ahead and punch yourself in the face….. Go ahead and do it again for good measure…

Women have struggled to get into the tech space. There are a lot of movements to help get women into the field Girl Develop It provides affordable programs to get women into development.

I’ve had the privilege of working with about 10 women developers over the years. Their skills stood out a great deal and they were all very motivated to excel in their respected programming languages. Because of this, I really have a hard time wrapping my head around the fact that this stereotype is still a thing.

Bonus: Inner Developer Stereotypes

Here is a bonus for you if you manage a group of developers. Developers love to banter with each other about what languages they use for some reason. This banter can quickly turn south and turn toxic. Keep an eye on your team and don’t tolerate disrespect due to tech stack.

I’m a Technology Architect for Rockfish Digital. I’ve been there since 2007. I love coding and spend most of my time in C# and JavaScript. I’m a firm believer in the Full Stack Developer.

Series Introduction: Happy and Productive Developers

I’ve been obsessing for the last 8 to 10 months about developer moral and productivity. Early last year, I read the book Team Geek and ran a book club over it with the developers I work with. Everything went downhill from there. I’ve been pouring ideas into a OneNote document for about 6 months now. I’m pretty sure I’m going to get too broad on the topic if I don’t start focusing on getting stuff on paper… or on the web.. whatever. The ultimate goal of this series is to build a foundation of ideas that I can take and present at tech conferences, user group meetings, and other gatherings of tech leadership.

I’ve collected topics from sources such as Fog Creek’s blog, Base Camp’s blog, and several other books and blogs, but the bulk will be from my personal experiences. I’ve gotten to work in an excellent environment for analyzing morale and productivity and I’m in a position/role where A LOT of developers come to me when efficiency is a concern, something is bothering them or they are down in the dumps. I’ve gotten to experience rapid growth in a company, extreme leadership shifts, no leadership, shifts in company focus, failure, success, politics, head count fluctuation, too much work, not enough work, politics (yes, twice) and most importantly…. drama. These sound like some pretty common topics that people in the industry can talk about, but I’ve experienced 100% of them as a developer. I can discuss many of these topics with confidence and I really look forward to putting all of this together.

I will be touching on these topics and more: debunking stereotypes for a better relationship, managing vs leading developers, trust, equipping for productivity and success, finding and retaining good developers, simple perks and benefits, how and why you should minimize distractions, and why no good code is written after the 10th hour.

Feedback will be more than welcome and I’ll answer any questions that are brought up in post comments.

I’m a Technology Architect for Rockfish Digital. I’ve been there since 2007. I love coding and spend most of my time in C# and JavaScript. I’m a firm believer in the Full Stack Developer.

So you want a promotion as a programmer?

Disclaimer: Opinions in this post are my own and do not reflect the opinions of my employers past, present or future.

I’ve been very blessed at my current job. I started in the lowest development job title and I’m currently in the highest non-management development position. I’ve received 3 promotions over the span of the 7 years I’ve been with the company. Getting a promotion without job hopping can be really challenging. I think there is much more respect to be earned by staying at a single company working your way through the ranks. Here is a collection of helpful tips I’ve seen through my own promotions and other people’s promotions. Keep in mind that all companies are different and these may not apply to every job.

Communicate

Let your boss know you are interested in a promotion. I was once a holiday hire at a retail store and there were 2 spots for permanent hires after the season. I was the top holiday hire, but they overlooked me because I had been talking about applying somewhere else. I missed out a pretty decent gig because I didn’t let him know my intentions.

I would encourage you to sit down with your supervisor and make sure he knows your career goals. Follow up with them regularly to make sure you are on track.

Prove your WORTH

Have you ever thought “I deserve a promotion!”? If you have, go ahead and slap yourself really hard in the face. Like, right now! This is totally the wrong attitude to have when looking for a promotion. You need to prove you are worth a promotion.

Every company has a different method to determine the value of their employees. In my scenario, clients are charged per hour for my work. I pushed myself to learn as much as I could. This allowed me to work on more projects and being good at it.

You should not confuse this with working extra hours. Working 60 hours a week to prove you are Sr. Developer material will do more harm than good. You will set the expectations that you will always work those hours and you wont ever be able to get back down to a 40 hour a week work load. You should spend time outside of work reading and trying to expand your skill set. You wont always be provided opportunities to try new stuff and outside dedication will demonstrate your desire to improve and grow.

It’s important to never judge a promotion based off another employee’s experience. I helped out Sr. Developers on jQuery all the time when I was a Developer 1. I frequently thought the roles should have been switched and I was the one getting help. I thought that I should be the Sr. Developer because I was more intelligent on the subject. I didn’t think about the fact that the other developer had 8 years experience in the field and was much more experience in planning and execution than I was. Never assume that you should have the same title as someone else because you THINK you are better at the job .

Attitude is everything

This kind of follows what I said above. Keeping a positive attitude can go a long way. Never fight for a promotion as a response to someone else getting the promotion you wanted. This is more of an emotional response and will prove to be more harmful than good. It’s impossible to know what the other person went through to earn the promotion. They may have been lobbying for it longer than you or they are really good at some aspects you over looked. Occasionally, politics come into play in another person’s promotion, but you just have to get over that. Worry about yourself and not other people.

Whatever you do, don’t threaten by saying you are going to look for a different job. You are just going to burn bridges by doing this. The job interview with offer and counter offer maneuver just for a raise is really risky and could also damage relationships.

You also don’t want to push a promotion to get away from someone or to report to someone else. I’ve seen this backfire many times. It’s more beneficial to actually work through your problems with other employees than avoid them.

Know your company

Not all companies can issue promotions on the spot. Figure out how your company handles them. Company A may only have 5 Sr. Developer positions and only fill them when there is an absent seat. Company B may only do promotions every six months due to budget forecasting. Get the conversation going and make sure your superiors are aware of where you are wanting to go when these scenarios arise.

Job titles and responsibilities also change a lot. You need to keep up with this. A Sr. Developer for a company of 50 employees may have completely different responsibilities than when it becomes a company of 100 employees. Mold yourself and take on the additional responsibilities to prove you are ready for the title you want.

Stay consistent

Stay consistent with what you want. Do you want to go into advanced coding or leadership? Sit down and really think about it before you start pushing for it. Bouncing back and forth will give the impression you really don’t know what you want.

Be Patient

I cannot stress this enough. It’s really easy to get bent out of shape if things don’t go the way you think they should. Keeping a level head and a mature attitude can go a long way.

I hope you found something useful here. Let me know if you found this useful or if you think it’s hogwash. Thanks for reading!

I’m a Technology Architect for Rockfish Digital. I’ve been there since 2007. I love coding and spend most of my time in C# and JavaScript. I’m a firm believer in the Full Stack Developer.