1. 8

  2. 15

    How can an architect possibly design a building without a knowledge of modulus of elasticity the various structural properties of cement? Other professions exist, you need to talk to them to collaborate. Sure in small shops a programmer can design and a structural engineer can do architecture and that will always be the case. However the idea that every structural engineer should be an architect is extremely uninformed, and in fact the research and practical life experience shows that people perform better when they can focus on one task. Doctors used to also cut hair, shave faces, diagnose illness, and perform surgery. There’s a reason they don’t still do this.

    It’s genuinely one of the most ignorant arguments I’ve ever read, and I’ve read some really dumb ones.

    1. 4

      Yes, this whole article is silly. If a designer gives me a design that can’t be done with our tools / processes, I tell them so, and work with them to come up with a design that can. This is what we call being a grown up and talking to people and it’s part of your job.

      1. 6

        I think it’s more nuanced than that: for example, all great painters know how to use paint and canvas, and it’s a bit silly to suggest that one person should mock up the painting in Photoshop, and a different person “implement” the painting in paint. That’s a different end of the extreme, but I think it helps illustrate that closeness to the medium of implementation can be useful, and separation isn’t necessarily an improvement.

        How close in your view should a designer be to the final product? For web design, I’ve found it much more productive — from a time-to-ship-good-product perspective — to work with designers who can write CSS, even though I’m reasonably decent at CSS and if needed can take a PSD and create a webpage that looks like it. Iteration time is much faster and collaboration is simpler when the designer can tweak their own CSS rather than standing next to me asking to move something “three pixels to the right — wait, no, how about two pixels?” And as the post author wrote, it’s much faster to have the designer understand what’s easy and what’s hard in CSS from the outset rather than having to explain it in real-time during the design process.

        Does that mean all designers should learn [Ruby/Go/Elixir/Rust/OCaml/Java/PHP/etc]? No, I think it’s worth specializing; and besides, there’s no real career in “designer for Ruby applications.” But web design is enough of its own discipline that in my experience it’s valuable to work with web designers who understand the basics of the web and can be somewhat autonomous in making styling changes. Knowing your medium is a valuable asset for designers; if I were hiring one, I’d pay more for a web designer with CSS knowledge than a web designer Photoshop wizard.

    2. 6

      This might also be a problem of communication between two collaborating experts. Like in building when architects and engineers have to work together to come up with compromises that are both beautiful and possible.

      1. 1

        I guess is more than that. In this case the designer / architect doesn’t really knows how the material she is building with works. An engineer would be needed permanently around - preferably in her mind - to correct every unsustainable design decision.

        In other words designing for the web is highly perverted. There are very skilled guys out there using the wrong medium (Photoshop, Sketch, ….) which tells them nothing about how the target medium (the browser) and ghe material (HTML, CSS, JS) works.

        No wonder every project built this way bloats the budget. Someone (the dev) has to normalize the final result and re-do partially a work done previously (the design).

        1. 4

          The fact that you think the conflicts between design and construction in web development is more complex than the conflicts in designing and constructing a building is telling that you are making these arguments without real understanding of how businesses and people work together. The thing your workplace is missing is communication and collaboration. To eliminate the designer would introduce an inherent conflict of interest and sure maybe you’re willing to shoulder that if you can’t afford a designer but it is still a conflict of interest. Also it’s overwhelmingly likely that they are better at what they do all the time than what you do half the time, in addition you’re getting half as much practice with programming.

          Do you think architect’s tools indicate to them when their building lacks structural integrity? Whether there’s a potential harmonic or new maximum capacity constraint that doesn’t align with how they’ve design the space?

          It also amuses me that we constantly hear “Programmers need deep focus” but also hear that “Programmers should design or ux” as if there’s not a contradiction with deep focus and the idea that programmers should be distracted with an entire other profession for half their working day.

          1. 2

            The point of the article is to show when designers don’t know the underlying medium / material the budget blows.

            And I’m not sure everybody is aware of this. I hope there are small business owners among the readers who might start thinking about.

            In web (I don’t know about architecture / construction) there are plenty designers who code. Or the process can be made more inclusive. The current practice is that the designer pushes down the comps to the developer. Better teamwork (yes, communication) and the understanding of the importance of developer input would solve the problem.

            1. 6

              My point was in any workplace, doing any task, we have people who understand things that we don’t. It’s entirely possible that the designer could be right about not including content on the responsive view, at which point it might be valuable to adjust your API to return fewer things. The goal is NOT always to cut development time. The decision as to whether to pick the designer’s perfect world solution and the programmer’s perfect world solution or find some middle ground is ultimately up to the business and their needs. Eliminate the designer from the conversation and you have a website full of visual compromises for the sake of time constraints and convenience.

          2. 4

            Why not tell them? “Hey, this design is great, but those gaps will be really hard to do in CSS, maybe we can design an alternative?’

        2. 4

          I think there are places for both types of designers. If software only ever works within what is easily expressed by a given platform, then we would never push the limits of what can be done.

          On the other hand, it pays to understand the limitations of your medium. Thing is, I don’t think that any one person has a good understanding of all the limitations of HTML. It’s ultimately a bizzare toolkit for applications and visual interactions, due to not having originally been built for them. I’ve web development (mostly back end/full stack) and I wouldn’t have known about the difficulty of the CSS Grid borders until I’d either tried to implement them, or had read this article.

          1. 3

            Funny how decades of innovation went into web programming, and the advice here is to just don’t build what you want, but to keep it simple and build what’s easy. For clarity: I agree, I just think that web programming is a clusterfuck.

            1. 2

              A very valid point … it’s hard both to agree and to not agree.

              I’m both a designer and developer and I build what I want … I mean I never felt I can’t build whatever I want.

              However my design decisions are guided by the full background knowledge of HTML / CSS / JS. That is making what I want fit inside what is possible .

              For those designers who don’t code the whole web programming might be a clusterfuck. They can’t really unleash their creativity by being afraid of the unknown underlying medium.

              For developers who must execute a design created by a designer who doesn’t code the task, again, can be a clusterfuck.

              To sum up, if possible:

              1. Lucky when somebody does both design and code.
              2. When there is a separate designer and developer heavy input needed from the developer on what’s possible to avoid budget bloat.

              Note (Update)

              The point of the article is to help small team leaders to be aware of the problem. And offer a solution. I’m still working on projects when I receive ready-made design comps which blows the budget.