Problems faced by designers who code

I am trying to understand what are the problems that designers face when they try to code. By designers, I typically mean people who do not know to code. (I do not want to debate if designers should code at all. Some already do and some want to learn to code, so my question is directed to them)

For instance, Chatfuel lets us build a FB chatbot through simple drag-drop interface. But when we need to do some advanced operations like storing and reading information, knowledge of JSON is important. While services like Zapier and Integromat make things easy but still a working knowledge of javascript and json is necessary.

How do you go about things?

2 Likes

Hi @Sridhar where I’m at we tend to stick to basic html and css. Anything beyond that - like Javascript we tend to hand over to the devs.

The problem I have is that sometimes it’s easier for me to code a design and hand over than use Axure. In the end, the devs have to code from scratch anyway so it can be a little pointless. However, it does help that we use bootstrap.

Our process goes as follows:

Design > Development > Styling

My colleague and I are at the beginning and the end of development then hand over to QA. Our devs are strong at the backend and as designers we ensure that the front end is as it should be.

4 Likes

hi @Sridhar

as a designer working for tech industries, I need to have a basic knowledge of the technology stack used by the DEV teams (for instance, design-wise, what does it mean to develop a software with Angular JS).

This doesn’t mean I will be able to code the software as an engineer, this means:

  • for short-term solutions and quick wins, I will be able to provide design deliverables according to the capacity of the engineering process
  • for long-term solutions and new products, I will be able to figure out new/different UX/UI patterns based on the technology stack the DEV teams are using

My team provides code only for presentation purposes, we code our prototypes with HTML, CSS and JS only to show to the stakeholders and to the customers. Afterwards, our deliverables are used only as a blueprint for the DEVS but they don’t rely on our code

4 Likes

The thing I’ve learned through too much interaction with computer scientists, is that too few developers really work on structuring what they’re building, first, before they get right into the guts of it.

My preference is to comment out each section before writing any code. I want to define what’s happening in each part. I also write pseudo-code and diagram the algorithm/process on the board so that I can assign blocks to sections. From there it’s a matter of determining the inputs and outputs for each function so that I know what I need.

I’m not really a developer, and the highest praise I’ve received from our lab developer was that my code was “like watching someone try to precisely build a house using nothing but hand-tools”. What was notable, though, was that when they actually got into adapting my code into something more usable, they knew what I was doing because I commented it. If you comment and structure, first, and decide what you want to build, then there’s usually a way to get there. If you get lost in the thick of it and lose your map, then it’s another matter entirely.

3 Likes

UX and design is not where I started my career. It was a long path that started in journalism and took me through working in a call center and as a software engineer.

I taught myself both how to code and how to do UX design, and as a result my development skills are a step above what you’d see in a lot of designers. I count HTML, CSS, JS, PHP, JSON, SQL and MySQL among my main development skills, with a fair knowledge of other bits and pieces, depending on what I’ve had to work on over the years. I worked as a developer for a couple of years before moving into strictly UX design.

So my experience here is a little skewed, but provides a unique insight.

It’s important to recognize that it’s very difficult to be good at both design and development. This is partially due to the changing nature of the work.

Both disciplines require you to be diligent about keeping up with changes in industry, techniques, and software. Doing so requires a dedication to consistent continuous self-education. Finding time to keep pace is difficult enough in a single discipline, let alone two.

Compounding the problem is that UX and development require very different skills. UX professionals deal with research, design, requirements refinement, and communication on a near-constant basis; developers, on the other hand, are usually more focused on writing code and shepherding a project through the dev cycle.

For me, I still try to keep up with both, but I admit that my dev skills are rusty compared to my UX skills. I do side projects to keep them sharp, read what I can, and learn something new every week - but I simply don’t have the time or energy to put into it what it needs to stay top-notch.

5 Likes

Wow this is so profound. I agree not many developers structure or comment their code though it is quite essential. I am glad you are doing it. I guess having an outsider’s perspective is helpful at times :slight_smile:

3 Likes

As @dougcollins said, UX Design and coding are two different things, they’re similar in some ways, but in general, you can’t compare them because they go on their own ways. I was a computer science student for 3 years, at my 4th year, I started to learn about UX Design alongside mobile development. What I really found difficult doing both designing(not UI, forget UI please) an experience and coding is implementation, sometimes you get the most brilliant idea of all time, but your skills in coding wouldn’t let you implement such idea, not that it’s impossible, but your knowledge of a certain field wouldn’t allow you to do it. For example you can make an application that registers certain places from a map and vibrates each time the user passes by one of these places, as an experience this is perfect, the user is free and won’t have to check his phone every time, but when it comes to coding, if you have some rusty skills, in both algorithmics and mobile operating systems, you might find it very difficult to make. Another difficulty is the way you think, a designer doesn’t think the same way as a code or a programmer(there is a big difference between a coder and a programmer), for example a designer will keep thinking about why am I doing this, or why should I use this or do this, while a coder/programmer will think about how can I do this, what should I use to achieve this. Simply put, a designer thinks in a critical way, while a coder/programmer thinks in an algorithmic way. Therefore, moving from designing to coding will be very hard, while moving from coding to designing won’t make a difference.

4 Likes

The “Why” vs the “How” is one of the biggest differences between the two. You’re answering two fundamentally different questions.

I’m a programmer, I ask the how question a lot, one of the reasons I was interested in UX is because I asked how does it work, that’s how I got into it. Now when I’m starting to think like a ux designer, I started to ask the why question whenever I program something. A designer moving to the programming realm will find it hard to adapt, because moving from why to how is difficult, and this is because a designer gets used to the why like a programmer gets used to the how. For example, why should there be a button here? A designer asks, answers immediately because they liked how the experience will go, now when they will ask how to actually put the button there in reality, they’ll have to learn some basics, programming languages are very tricky, they might find themselves learning a bit by bit, but eventually will start asking why should I use this, like why should I use echo and not print in PHP, which will lead them to start learning a different way, which will yield the same result, and then they’ll fall into a-never-ending loop of learning unnecessary things, and each time they learn something new, some of the already acquired knowledge will be lost.

2 Likes