3 ms·
This is a very exciting trend, and I'm glad more designers are jumping into code. As an art school dropout who later finished a CS degree, the combination of sk
by callmevlad 14y ago
This is a very exciting trend, and I'm glad more designers are jumping into code. As an art school dropout who later finished a CS degree, the combination of skills is invaluable.
I honestly believe that the most difficult work in creating something new/innovative is skewed to the design side, so I hope we see a corresponding trend as well: programmers becoming more interested in design.
I like to think of 'creative coders' as great chefs - not only can they dream up a great tasting dish, they can also roll up their sleeves and turn it into an actual meal. A (web/app) designer who shies away from code is like the visionary chef who needs to rely on others to do the cooking, while a programmer who is not concerned with design is little more than a line cook following instructions.
Edit: spelling.
- shrub 14y ago> while a programmer who is not concerned with design is little more than a line cook following instructions. I disagree with this and am inclined to take offence. Programming is not at all like following a simple recipe. Perhaps if the chef specifies that the line cooks must raise special chickens to be slaughtered for the main dish, keeps a herb garden that the line cooks have to maintain, puts the line cooks in charge of estimating and purchasing ingredients, and gets them to experiment with genetically engineering food to taste good in the dish, maybe then there is hope for a comparison.
- callmevlad 14y agoSorry, I did not mean to offend. And I admit that in hindsight it is a weak analogy at best. When I wrote that, I was thinking of consumer software specifically, and by a "programmer who is not concerned with design" I had in mind those that just care about implementation details, while not valuing the importance of end user experience. And I've met quite a few programmers like this, mostly in larger companies. You know you've found one when their sentences start with "Why doesn't the user just..." In your expanded example, the fact that the line cook is concerned with the taste of the dish (e.g. after genetic modification) already implies that they care about the "design" of the dish. If, however, there is much more concern around how the cookware is organized in the kitchen, or which brand of vegetable oil should be bought, that has almost no tangible benefits to the person eating the meal.
- whatshisface 14y ago>If, however, there is much more concern around how the cookware is organized in the kitchen, or which brand of vegetable oil should be bought, that has almost no tangible benefits to the person eating the meal. I think you are only looking at one side of the multiplier effect. Yes, organizing cookware does not prepare food, but have you ever tried to cook when all your tools are in a drawer, piled together? Design leads implementation and implementation gives substance to design. Valuing one over the other is like saying a car's engine is more important than it's gas pedal. So, why not have specialized workers? It makes sense to me that the people who don't understand the needs of the average user would be the perfect people to have slog through the mess of poorly designed APIs that pretty much every project ever will have to deal with at some point.
- tikhonj 14y agoYou know, there is quite a bit of very interesting programming that does not culminate in a web-app or even a GUI. If anything, this is where the most interesting work lies: embedded systems, AI, machine learning, compilers, static analysis, distributed systems... The problems in these spaces require a significant amount of ingenuity and creativity but no design. (I'm assuming you mean visual design rather than something more general.)
- whatshisface 14y agoAll programers are concerned with design, if nothing else the design of the implementation! All good coders realize that there will really be two groups of users, the consumers and those who wish to extend or maintain the application. A piece of code with a good UX (maybe DX instead?) makes my life so much easier and can save my company quite a bit of money if my salary is high. For small groups, having developers who can make good end user interfaces is pretty much a requirement, but this is noting special. If you were developing oilfield software, you would need to know about drilling. If you are developing software whose purpose is to augment some already-existing element of humanity (like communication), then it is not a surprise that you would want developers that know about how humans like to do things. As members of a community focused almost entirely on a specific subset of everything there is to know about in the world, we must not forget that while a furniture maker should know woodworking well, he should also know about how people sit.
- irreverentbits 14y agoWhile condescending, this analogy isn't terrible for user-facing applications of the most trivial complexity. But equating developers to line cooks in domains where actual engineering talent is required seems a bit ridiculous.