Youíre a software engineer. Youíre awfully good at it. When it comes to software; you code, architect, and deliver. You study your craft. You are continually improving your skills and knowledge. Software engineering is what you do. Sales people sell. Marketers market. Software engineers engineer software. It makes sense. If youíd have wanted to market, youíd have gotten a marketing degree.
Marketing is just that department that is attempting to put a positive spin on all those wonderful software products that you produce. Maybe they put too much spin. (You didnít know your product could do that!) Maybe they donít put enough spin (Why donít they mention your favorite feature?). Either way, thereís a good chance that you donít know much about what they do, and you donít really care.
Marketing isnít your thing. Maintain your ignorance at your own risk! Itís only your career thatís at stake. Your ability to achieve your career goals and dreams likely hinges on your marketing ability. HmmmÖ (Suddenly this marketing thing sounds a little more interesting). If you want to attain the career success that you have been dreaming of, youíll need to approach the marketing aspect of your career with the same passion and energy that you put into software engineering.
Fortunately for you, youíve had more practice, and probably have more skill than you realize. Almost every interaction and relationship that youíve had in life has been an exercise in marketing. The time you watched your neighborís dogs when they were on vacation. Marketing. The time you worked the weekend to help another team finish a key project. Marketing. The time you made a presentation to key leaders about how you thought the development process could be made more efficient. Marketing. Your interactions with your family. Marketing. Every action youíve ever taken that has been visible to someone other than yourself has been an exercise in marketing. Whether positive or negative, each interaction is another little building block of the brand that define you.
If you want to get the recognition and promotions that you think you deserve, you need to become visible. Attempting to blend in to your surroundings is not a good strategy. Thatís a strategy thatís best left to those creatures who are likely to be become somethingís next meal.
I'm embarrassed to admit that I was rather late coming to this realization. For a significant portion of my career as a software developer, my thought process was focused on technologies, frameworks, and feature development (as if that actually means something.) What I didn't realize was that customers don't care about features! Customers are focused on increasing revenue, decreasing costs, and reducing pain (which usually results in reduced cost or increased revenue). Everything else is just noise!
My ability to provide value to the organization didn't depend on what technology stack I preferred. It wasn't predicated on my knowledge of the latest frameworks and tools. It wasn't even my ability to crank out features. My value to the organization was based solely on my ability to reduce costs, or increase revenue.
In hindsight, I should have chosen a different context to market my accomplishments. The time I created a permanent fix for a troublesome database resource leak that kept recurring at various customer sites, I chose to talk about the creative design pattern I used to fix the issue. However, the business wouldn't have cared if I'd have used an old shoelace to fix the problem. I missed a golden opportunity to let the organization know how each prevented occurrence reduced thousands of dollars of support costs. The time I created a unit test to verify the validity of XSD schemas that had caused multiple production defects, I talked about the technical details of the test. I once again failed to mention how much money it saved by preventing an entire class of production issues. Another time, I created a new tool to improve the technical phone screen process for potential software engineering candidates. It saved the company hundreds of thousands of dollars in reduced hiring expense, created a more consistent candidate experience, and dramatically improved the quality of candidates that made it to the onsite round of the interviews. What do you think my main talking points regarding this accomplishment were? Of course, the technology platform! It would be impossible to list all the examples of failures by software engineers to properly market their accomplishments. They are numerous and frequent.
Patrick McKenzie goes into great detail about this topic in a really wonderful post titled Don't Call Yourself A Programmer, And Other Career Advice. He explains this concept much better than I can, and his blog contains a wealth of useful information for software engineers.
When it comes to marketing, perception is reality. You might be the most productive software engineer in your organization. However, if you arenít widely recognized as the best, then you won't be paid like the best. Itís a cruel truth. Donít complain about it. Embrace it. If you are not recognized for your talents, it doesnít mean you donít have talents. It just means that you havenít been doing enough to bring visibility to your talents. If your talents arenít visible to others in the organization, then itís going to be difficult for you to leverage those talents in ways that help others. Youíre basically a talent hoarder!
You need to start doing things that will allow your organization to leverage your knowledge. Start volunteering to give talks and share knowledge at developer forums within your organization. If you have an idea on how you can improve development processes and procedures, put together a presentation to show the benefits. Socialize this presentation and knowledge.
If you know your idea is a great one, but itís not getting traction, start moving up the organizational food chain. In another post, I've outlined the steps you can take to build a coalition to implement change. If your peers arenít buying into your idea initially, get the management team on-board. Itís a lot easier to convince peers if leadership is preaching the same message. Just be sure you are positioning the message in a way that demonstrates value to the organization, and doesnít come off as self-serving. If you are interested in the psychological reasons why change coalitions are effective, see this post.
Marketing is about gaining exposure. The more exposure you have, the more your accomplishments will be magnified. Your successes will be more glorified, and your failures more vilified. Thatís ok. Nobody is perfect. Everyone has failures, and you are no exception. Be prepared and willing to accept the responsibility. While it might be traumatic to fail in the spotlight, those who own up to failures are often given more respect because of it. If youíve never experienced failure, then youíve not trying hard enough. Nothing ventured, nothing gained. Risk is always part of the equation. Whatís important is that you donít let a single failure keep you from trying to market yourself and your brand.
Every decision you make has opportunity cost. For every choice you make, there will be an alternative choice you couldíve made. When it comes to your career, and the marketing of your career, you canít have it all. There will be times when you need to make choices that will affect your brand.
Maybe you have the choice between leading two different development projects. One is deemed to be organizationally strategic, has extremely high visibility and will be under intense leadership scrutiny. Maybe the other is equally important, but has much less visibility. (This does happen Ė visibility isnít always directly proportional to organizational importance).
There is no right answer on which choice is going to be the best for you. It depends on a number of factors and specifics related to you, the projects, the environment, etc. You need to be aware of both the pros and cons, and then make the choice that is going to be the best for your personal brand. While marketing is all about getting the exposure, there are times when the better marketing move is to get less exposure. Be aware that there are marketing ramifications of each decision you make as you navigate your career.
If you end up on a project that isn't getting much visibility, there are some things that you do to make management take notice. It gets back to the basic principle of reducing cost or increasing revenue. Just make sure to let your management team know when you have any accomplishments that significantly improve cost or revenue. Even "boring" projects become interesting to management when they are getting positive signals on revenue or expenses.
A great way to get visibility within your organization is to become the expert in a particular area. This might be a technology, a product, a methodology, or a process. If you know it better than anyone else, embrace the ownership that comes with this knowledge. You will naturally be thought of as the expert in this area. People have been conditioned to remember the leader in a category. They are not conditioned to remember the second-best. Who was the second person to fly around the world? You probably need to look that up. However, while it's great to be the expert, remember the rule!
Become the expert in those things which are perceived to provide great value to the business (save money or time / increase revenue).
You have a couple choices when it comes to marketing. You can try to convince your customers (the business and management, in your case) that you are more knowledgeable than your peers. Or you can show them how you are different. It takes a lot less energy and is a lot more effective to differentiate.
As a software engineer, this may be much easier than you realize. Most developers are so focused on technologies, tools, and frameworks, that they totally forget what's important to the business. You immediately gain a distinct advantage on your peers the instant you come to this realization. You will soon differentiate yourself by stating your accomplishments in terms of cost reductions and revenue increases.
Maybe you have an idea that makes the development process more efficient (reduce cost). Maybe you know how to make the signup process less painful for customers, thus improving conversion rates (increase revenue), etc. While this concept will initially feel uncomfortable and difficult, the adoption of this mindset will actually cause you to become a more productive developer. You will start seeking opportunities to improve costs and revenue.
An application feature is not the end, it is a means to the end! While this may not seem like that big of a deal, the shift in thinking has profound effects. Thinking about the intent rather than the feature spurs the developers creativity and innovation in ways that were not possible when bounded by the context of the feature itself.
There are two schools of thought regarding strengths. One camp says "focus on your stengths." The other camp says "improve on your weaknesses." While these may seem to be two competing schools of thought, they are actually complementary. The most effective version of you will be focused on those things that you do extremely well. It can be incredibly inefficient for you to focus great time and energy on things that you will never be good at. However, the distinction lies in the emphasis of "never".
You may have areas of weakness that could be developed into potential areas of strength, but just haven't been developed yet. The key to focusing on strengths and weaknesses is as follows.
Focus on your strengths, while continuing to improve on your weaknesses (until they've reached a threshold).
You will discover that you have areas of weakness that will always be weaknesses no matter how hard you work to develop those skills. When you reach a point of diminishing return when attempting to improve a weakness, it is time to stop expending energy on it. You should focus on your strengths, and only attempt to improve weaknesses as a means of discovering if they have potential to become one of your strengths.
StrengthsFinder 2.0 by Tom Rath is a really wonderful book for helping you discover your strenths. The book also contains a code to take a free stregths finder assessment that you will likely find very beneficial. This is a one-time use code, so if you buy a used copy of this book the code will likely not work!
Marketing isnít an activity that you should only do for brief periods of time prior to your annual review. You should be undertaking this activity continuously throughout the year. Your efforts donít need to be gigantic. They just need to be consistent, regular, and visible.
Maybe you occasionally send out tips-and-tricks to the software developers. Maybe you present on various technical topics in your developer forums. Maybe you share ideas and thoughts with management on how to improve processes, procedures, and implementations. Maybe youíve figured out how to automate manual repetitive tasks. While it doesnít always have to be something major, you should continually do things to create visibility for yourself. You will eventually be recognized and thought of as an authority within your organization.
And remember the only thing the really matters! Make sure that management and the business understand how all of those cool technical things you do save them time, decrease expenses, or increase revenue!
With all your marketing efforts, you are not trying to convince people that you are perfect. You donít need to be the expert at everything. You are allowed to have faults. While not intuitive, a great marketing practice involves admitting your faults. If someone comes to you for advice on a topic, and you know that there is someone other than yourself who is more of an expert, send them over to that person.
By admitting that you are not the expert at everything, you will brand yourself as approachable and friendly. People will appreciate your ability to acknowledge your own weaknesses, and they will give you more respect and credibility because of it.
Your ability to add value to your organization are only important in terms of increasing revenue and decreasing expenses. You technology skills are just a means to provide business value, and are not the end. Having great technology skills alone won't be enough to market yourself as a valuable member of the organization. You need to make sure you, your management, and your business partners understand what things you do to provide organizational value.