When I became a developer, I thought that my job is to write software. When my customer had a problem, I was ready to write software that solves that problem. I was taught to write software.
But what customers need is not software. They need a solution to their problem. Your job is to find the most cost-effective solution, what software often is not.
Top comments (6)
No. The job of a software developer is to transform requirements into software. Period.
Finding the most cost effective solution might be the job of a consultant.
But "software developer" is not a person, it's a role. Even if you are hired as a software developer, you are likely to take on other roles as well. And that's not a bad thing. Most of the time it does make sense.
It all depends on whether they want a code monkey or software developer: if the the requirements are of the form 'this exact design with that exact color', then it's the former while if they're of the form 'a customer should be able to ...' the it's the latter. Most jobs of course have some combination of both.
"I transform requirements into software. If you want cost-effective solution, call a consultant."
^ Don't tell this to your customer
In the role of a software developer, you don't talk to customers, at least not about business related stuff. But as I wrote, it does makes sense to take on different roles sometimes.
Correct. For some of us it may be a harsh reality but you are 100% correct.
That's a good point!