The One Thing Every Software Engineer Should Know

I agree 200%

Jeff,
This post is something that addresses something very basic. I fully agree that marketing oneself is a compulsory skill everyone must have, no matter what field the person is in. If you cant sell yourself or your ideas, you are finished in this world.

Programmers do fall in love with their technologies, languages and algorithms and after a point, its difficult to see the big picture anymore because they are so neck-deep in technology. It takes a a rude awakening to realize that what the world ultimately sees of you is what you show them on the surface; no one knows or cares to know whats inside your head

I had written a blog article a couple of years back that pretty much says the same thing in a different way. Rule 1 from that post is specially the most pertinent. http://truelogic.org/wordpress/?p=5

Keep up the good writing.

Charisma of 4. LOL

There needs to be sales persons who know what they are selling. Business engineers and analysts model some business, not the programmers. Then architects and designers come up with solutions and programmers just write the software.

@ Twylight

To a marketer, everything is marketing, which makes it one of those nearly impossible things to talk about. It’s unsurprising that there are dozens of hits for Tao of marketing on Google.

Determining what to build, and who to build it for is just good process for product development, and involves inputs from good market research. Actively currying an audience is what I find distasteful, as much as I recognize it’s necessity. There’s something in the engineering mindset that wants the intrinsic qualities of a well made product to be good enough. Seeing others label it, and groom it for an audience is a feeling not completely unakin to a parent watching their daughter put on makeup for the first time.

Maybe good marketing is possible, but it’s a hard sell for me. I feel that Naomi Klein accurately described the death of the quality product to the superior economic force of marketing and branding in No Logo.

So Tiber’s experience is currently 156K and for the next level he needs… 150K? What happened? Did he miss a service pack or something? Hotfix? FDIV problem?

if i had those high stats :), i would hunt down ogres or goblins.
Believe me, i would not be in coding. :)))

That, in a nutshell, is marketing.

And that post, in a nutshell, is full of affirmations from somebody who don’t know what he is talking about.

What you describe as marketing really is only a part of marketing, and yet not all the time.

Marketing involves, among other things, study of the market, making choices (technical, cosmetic, …) in order to better suit the needs of the market (and your owns), putting a product on the market, and so over. If you think you are a good marketer just because you are good at your 3 poins, well, why not, but please precise the field you are talking about, your achievements, and don’t assume you will necessarily be a good marketer in an other field.

Yes sometimes getting people excited can help. As this involves no feedback on the product, I doubt this is very efficient by itself anyway.

On the other hand, on some markets, the products are inherently boring; you won’t get people excited (at least not in the stupid way the general public usually is excited about technology, using gadgets for at max a few month before either falling back to an extreme minimal routine or just completely stopping to use the gadget), everybody already understand what you are doing, everybody is interrested about what you are doing because you are using very specialized channels of communications.

The programming world is not limited to web or general public apps…

As usual, you are talking about your experience (i hope it is at least based on something!), in a misleading way, giving your readers a lesson about things you barely have a superficial knowledge of. In this context using words like in a nutshell to state a false definition is just arrogant.

I can understand everyone having to have some level of skill in marketing and communication. However, I think communication skills are far more important. Though some may disagree, I think business skills are very important too. The most valuable programmers I know like to understand the business problem they are trying to solve. Though that may be more dependant on the industry you work in. As I read the above posts, I wonder what kind of company lets the programmer decide the technology they will be using. That’s the job of the architect and the designer. If you’re working for a startup and you have to wear many hats then maybe marketing is one of them. I don’t know what kind of work dynamic makes the programmer have to sell the work he/she has just completed to get it in a version. Everywhere I’ve every worked, coders are assigned tasks that are slated for the next version of the software. If it’s finished on time and relatively bug free then there isn’t a question of how can make sure this feature ships?. Your manager has been waiting for it and has paid quite a bit of money to have it developed. If you work at company that lets you work on whatever you want and then try and pitch it to the business side then HAZZAH for you in the short term. I’d start working on a resume though, I bet they have a lot of development work that gets thrown away. Sounds like they need some better management. I appreciate Steve Yegge’s point of view, but he works at Google and their RD budget is an order of magnitude greater than a lot of companies gross revenue. They have the luxury right now of giving 20% time and hoping that some of those internal startups are money makers. In the real world I think most coding jobs are far less flexible. I think it’s important to understand marketing skills. I think it’s far more important for people to listen to you because you are right and have a history of being right. When you are pitching for venture capital then yes marketing skills are important. If you need the same level of marketing skills to make sure your new password hashing algorithm makes into version 2.4.3.1 then you work at a dysfunctional company.

Great to see someone who loves Code Complete talking about the importance of marketing. And great job on stack overflow!

Great post. However, what I really want to know is how did you photoshop Charlie Sheen into DD? =)

Isn’t this just cliche psychobabble?

I agree with Steve: if I could teach my fellow software engineers one thing, it would be how to market themselves, their code, and their project.

This is very true, many coders write so brilliant stuff, but it never leaves the boundaries of their PC’s , why because they don’t know how to market themselves, nor their talents, in my opinion, a good coder, is the one who writes code that get used.

This is really an Excellent post.

Steve Yegge:
How to Ignore Marketing and Become Irrelevant in Two Easy Steps
http://itc.conversationsnetwork.org/shows/detail3375.html

1 Like

Or you could be a brilliant programmer AND have competent business skills. Life is not a clich role-playing game where you get a finite number of skill points to apply. You can spend any amount of time improving your skills in any area.

I understand the message here - most programmers don’t have communication skills. Those are important to have. But you’re one of the few public voices who seem to think that it has to be at the expense of core design and development skills. I wonder why that is.

I would love it if more programmers got excited about there work but isn’t it more important that the programmers are the ones that don’t care about all that stuff and just want to write the best software with the least bugs just for the fun and pride of it?

If they can market themselves then so much the better but does it really matter if they can’t? Surely that’s more of a managerial task i.e. to motivate the team, come up with the buzzwords and make sure the work being done is what the customer really wants?

Should i bring in another analogy? I play World of Warcraft (WOW), not DD, so I will use that.

Almost anybody who’s played WOW to the max level knows about the three talent trees a character class may invest points into. Much like Diablo2 before it, in WOW each level up affords only 1 point to invest in a particular talent. How one chooses to improve existing talents or learn new talents is up to the player. Deeper layers of talents down a tree can only be achieved by investing on lower layers of talent in that same tree. So in general, characters tend to specialise in a particular tree (or role) for that class.

In the real world, our contraints in time, energy, and money equates to that measely 1 point that we have to carefully choose where we wan to plug that into. Do we choose to plaster the points all over across the three trees, or go deep in a particular tree? Effectively, becoming really good at that particular role/task.

For building a team, I’d take a tanking druid and a restoration (healing) druid instead of two druids with talents across the spread. On the broader spread of building a raiding team, I’d make sure all members are specced to perform the role/job they are assigned to do. Other jobs are handled by the rest; they must concentrate on their own.

While this sounds awfully stringent in reality (which actually is), my point is, not everybody is supposed to be marketing. Only some. There are be a spread of talents/disciplines that everybody should pick and focus to excel on one or two. They cannot excel on all.

This is 100% spot on. I work only on internal apps and I find that the ability to market my ideas and sell them to management who make the decisions is probably one of the best skills one can possesss outside of being a good programmer. You have to be able to sell yourself and your ideas to get them implemented.

If you make the best app in the world, but can’t make someone get excited about it, it’ll just sit on the shelf.

The importance of marketing cannot be easily conveyed to someone whose just an employee and earns wages. But even then, you couldn’t have been employed without marketing yourself. What do you think a CV (resume) is? What do you think you are doing when someone asks you “so what do you do for a living”? or when you are about to go out and you put on your best cloths and make yourself look good? What about when you are behaving in certain way and you are only doing it because you want to be percieved a certain way?

Marketing is about effective communication. In my report 10 reasons internet marketing fails for businesses, one of the reasons I talked about was lack of clarity. If you cannot clearly communicate the benefit of your products, you might as well not talk about it.

So it’s not so much about letting engineers do the marketing, I beleive its about finding the marketers who will take the time to understand the benefit to the intented customers and be able to communicate that benefit in a way that demonstrate to the prospective customer that you have engineered a solution just for them.

I agree with Aaron though. The frame of mind needed for engineering is not the same needed for connecting and relating to people. The point, don’t leave your marketing to someone just because they are good engineers. Good engineer != good marketer.

On the other hand, we all need to know what we do, why we do it and the benefit those we do it for get from it. This way, instead of seeing yourself as “an engineer” which is who you are, you can says what you do like. When I used to be a developer I used to say just that. “I work in IT”, “I’m a developer” etc. Later I changed it to “I help businesses get the best out of technologies” and leter when I was working in business process management part of IT (integration, workflow and automation) I refined it to “I help businesses understand what they do day to day to run their business so they can cut out wastes and focus on what matters”.

Of cause if you are content where you are right now you may not see much need to market yourself. What I always tell my friends, colleauges, clients is to know how to and practice it, so that when you need to, you’ll know what to do and how to do it.

I can’t believe no one has mentioned that in the D&D character picture, the experience points required to attain the next level is lower than his current XPs!

He’s a 7th level Ranger with 156,400 XPs, but the next level is 150,000. Yeah yeah yeah, I know this is a necrobump, but hey, this is a good post and there are a lot of good (and unlike this one, relevant) comments here :smile: