@Jeremy: Yes, but Salary(MarketingExec) Salary(Jeremy) !?!
This boils down to : donât build then sell, find out what will sell then build
âŚand as usual :
donât copy what people already have - they have that already it wonât sell
donât ask people what they want - generally people donât have a proper idea what they want (or they wonât tell you) this is why marketing is hard
@Twylite: Programmers donât communicate with customers. If they do, then they are doing analystâs job and designerâs job and so on. The programmers should not need to care what they are creating. They are just programmers that make things happen according to blueprints and designs that others have made. Of course this is not that straight forward, so programmers need to understand some of the stuff. But I donât like at all the idea that a programmer has responsibilities like engineering business, defining software and systems, architecting or such. One person cannot master everything, so I wouldnât trust a programmer, though I would need a programmer. I want the programmer be as good a programmer as he possibly can.
I want grand master programmers, I want grand master analysts, I want grand master business engineers, grand master sales persons, grand master architects, grand master bosses⌠I donât need a programmer who spends time advertising his code and skills to others. Sure there can be code reviews and design meetings. I want more collaboration, but a programmer should be a programmer. And sure a programmer cannot always be just a plain programmer, but you get the idea. I want the corporation be a lightning fast and good at every level, not that some guy goes to other guys telling about his code. I hate if I would have to go talk and hope to get some ideas about what others are doing. I want the ideas to be in a database documented and ready to be downloaded.
There is nothing wrong about sharing ideas and talking to others. But a company cannot rely on random talks. Think also craft versus engineering / manufacturing. They say software industry cannot be like factories, but of course it cannot if we donât even try.
If the other people are not existing or not doing their job, its not the fault of the programmer.
I love the DD part.
Just wanted to say, glad to see you posting regularly again jeff.
âŚfundamental human communication. Not something us programmers have historically been so great at.
~ The comments show that this is still, and probably will be for the foreseeable future, the case.
In other words, you want us to learn how to manipulate and mislead people into doing things for us through deceit and half-lies. I got an MCSC not an MBA for a reason.
If you program only for the love of programming or are satisfied with being a drone in the code factory, then knock yourself out. Let someone else handle all that other nonsense.
If, however, you write code (at least in part) to provide you and your family with food, clothing, shelter, health care, expensive toys, and fun vacations, then understand that expanding your ken and your talent beyond your mind-boggling and awe-inspiring programming abilities and into the domain of your analysts, your architects, your project managers, and your boss - whether you do their jobs or not - will make you more valuable and more valuable means a more secure ability to provide food, clothing, shelter, health care, expensive toys, and fun vacations.
The choice between your coding acumen and your business acumen is almost never Either/Or.
You can make a wonderful living coding the hours away with no concern for the world around you, but you will likely still have limited your opportunities, increased the risk of writing code thatâs never used, and left your income at some degree of risk. If you choose to rely on someone else to understand the business needs and customer requirements and everything else that is required to turn your artfully-designed strings of zeroes and ones into cash flow, then you have chosen to be reliant. You rely on their competence. You rely on the quality of communication between you and the non-coders. You rely on your ability to deliver more value per dollar than coders in countries youâve never heard of. You rely on a lot of things not entirely in your control.
Thatâs okay; the world may need more people that will just sit and code whatever theyâre told than it needs consummate IT professionals; more excellent line cooks than great chefs; more expert draftsmen than sought-after architects.
Itâs not for me, though.
Itâs hard to get heard on a blog like this, but there is a great Radiolab podcast on this topic: Robert Krulwichâs commencement address Tell Me A Story at CalTech
Haha, now this is a topic I can get behind
Iâve explained programming in terms of DD before:
http://d20.jonnydigital.com/2006/12/object-oriented-programming-concepts-in-java-explained-with-dd
If the average is 10.5, then are you also suggesting that programmers should be in the top 5% of the population with statistics like that?
You can spend any amount of time improving your skills in any area.
Sure, if youâre Bill Murray in Groundhog Day, but most of us have to deal with things like the passage of time.
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.
Because of all the many activities in the world, coding is second only to reading in its isolationary effect. Simply put, if you work in a product-focused role, you spend all day staring at a screen, thinking deeply about how to solve a problem, so you wonât talk to people as much as if you were in a management or people-focused role.
Communication skills improve through practice, and where marketers, salesmen and managers all practice communicating constantly, engineers spend their most productive time NOT talking to people.
But I canât improve my str stat! I need to maintain my noodly appendages in reverence of my chosen faith! (FSM for the win!)
Seriously though, I do agree that people need to concentrate on communication skills in addition to coding skills. That being said, it isnât appropriate to waste all your time attempting to become a true generalist. Barely capable of all tasks, yet suitable for none.
In other words, you want us to learn how to manipulate and mislead people into doing things for us through deceit and half-lies. I got an MCSC not an MBA for a reason.
Alright, this always annoys me. MARKETING does not mean sleaze and half-lies.
Is your code no good? Are you no good at your job? And if not shouldnât you be able to make people aware of how good you are, and why your ideas have merit? Shouldnât YOU be the best person to market the products youâre actually involved in creating?
Maybe if people stopped passing all the marketing work over to people who donât have an engineering background and canât understand how a product works, weâd get a little less half-truths and outright guessing in the marketing-speak. Half the time, salesmen arenât even lying to you, they just donât know the real answer.
Marketing is about telling people why you are the best person to do the job you want to do. If you donât honestly believe that, then you shouldnât be doing the job. And if you do, you shouldnât be afraid to say it.
And if the answer to those first two questions is Yes, shouldnât you be able to convince people that thereâs a problem that needs fixing? If You canât market your solutions to your problems, then somebody less qualified but a better marketer will solve the problem for you. Badly.
Continuing the DD analogy, you forgot that programmers are the magician class. They can be excused for their odd behaviour because they know magicâŚ
Maybe if people stopped passing all the marketing work over to people who donât have an engineering background and canât understand how a product works, weâd get a little less half-truths and outright guessing in the marketing-speak. Half the time, salesmen arenât even lying to you, they just donât know the real answer.
If You canât market your solutions to your problems, then somebody less qualified but a better marketer will solve the problem for you. Badly.
Well said.
The marketeting department I would put them in the Thief ClassâŚ
As a side off-topic note, it is important to note that under the BGIIâs DD rules, one could not have more than 18/19 INT plus some modifiers; therefore reaching INT 50 is definitely impossible.
I agree with the poster that also made some emphasis on Wisdom rather than full INT.
Chaotic Good is not a nice alignment either. Iâd rather be Neutral Evil. Do not harm unless you have to⌠otherwise youâd never use Goto statement
A nice analogy thoâ. A nice product not known by its potential customers is not a product at all, is it?
Now to find my IrenicusâŚ
You keep using the word people in this article, but Iâm not sure which people you have in mind.
If you mean customers, then I canât agree that selling the product should be the main priority for an engineer. Assuming you are working in a reasonable sized company, there are going to be people much better at that job than you.
If you mean your employers, than I think I can see your point as far as your own career is concerned, but I donât think it is good for the industry. All too often, decisions are based on which engineers have been best at selling themselves, rather than actual results.
If you mean your colleagues, I think this is just confusing marketing with communication.
BTW, how does this fit in with the concept of egoless programming?