Coding helped me become a better designer

I don’t consider myself a developer. I’m a designer and my passion lies in visual, interaction and experience design. At Namogo, design is in everything we do and above everything else. That being said, coding was a big part of getting to where I am today.

First encounter

I was 14 when I first found myself scrolling on the Yahoo site and glancing at it like I didn’t understand where it comes from. Until then I thought everything I could enjoy on a computer is on a … computer. Games and drawing in Paint was all I could and wanted to do on it. I used to draw in Paint pixel by pixel, print the result and hang it up on a wall.

The first instinct I had when going online was to figure out how everything works (where did that website come from, who made it and how) and if I can build something like that. Building websites visually and getting them online was really an obsession of mine early on. Most of the interest I had for creating websites came from my passion for drawing and painting (caricatures, oil paintings etc.) coupled with the fact that the internet is a good way for others to see your work. That made me switch from playing computer games all day to wasting nights on the most trivial things like building pages visually in PowerPoint (yes, it was possible!)

Coding for design

Because I didn’t know how things are done properly in this realm of web design, for about a year I made simple things, learning very little (google was just born around that time, so looking up things was pretty difficult) and moving quickly from one “project” to another. Soon, I discovered Dreamweaver. Aah! the horror. That opened up a world of opportunities, including frustrating me into looking at the HTML and the CSS behind it to try to escape this limiting tool. Learning HTML early on was probably one of the things I value most. HTML lets you “write design”.

Because of that, interface design became a very structured process for me and it brought me closer to not being afraid of writing code. There is a very strong distinction between descriptive code (markup languages) and others. I believe these are in a designers realm of understanding and learning them is no different than learning a new design tool.

I had the time and the breathing space to explore and learn on my own.

At that age, I had school (where, by the way, I never learned anything about these things) and going out as my “necessary” activities. I couldn’t get employed nor did I have the opportunity to work on projects alongside other developers. But I wanted to build things that others could see and that pushed me onward towards discovering code as a way to build things on my own. For me, there was no other way of doing it. There wasn’t any debate on whether or not designers should or shouldn’t code, design was 90% visual and experiences were awful. I had the time and the breathing space to explore and learn on my own. So I went through HTML, CSS and Javascript bit by bit, getting hooked on how much control you have on the end result.

Applying what I learned

Over the early years, I made so many things I can’t even remember most of them. Simple things out of which I made no money and most of them didn’t even go live. From a social network (which I built on the Zend framework) to a website where I used to take so many hours creating Photoshop tutorials for. I worked on stupid, useless personal projects that fed my hunger for learning new things and I learned it all on my own. But during high-school I got involved in building the school’s website and that brought some perspective to what I was doing. Finally, my silly insignificant work was being looked at by others, which is what I always dreamed of accomplishing. It was during high-school when I took everything more seriously and decided, without knowing, that this is what I love doing: building websites.

Deciding on design

With each new thing I tried I got the feeling that this is how my nights will be spent. Even so, at no point I ever felt coding was part of what I’m really good at. I just don’t have that mindset or the developer discipline that I believe is required to focus on just that. After all, I was driven by the impact of the visual result and that of the way it was being used rather than how it was built.

So I chose to be a designer that codes instead of a developer that designs, but learning to code at a basic level opened up a world of possibilities for:

Doing my own projects and actually finishing them

Understanding how far one can go technically

Improving the process of handing over projects to developers by being able to understand the terminology

What designing means today

Today, there’s a lot more to design. User experience came into play and interaction design became just as as important as (if not more than) visual design. If you want a good design you need to think about a lot more than just the visuals. You need to start thinking of the users, who they are, what are their habits, what they need and then go so far as imagining and describing every interaction and how the interface responds. Pixel by pixel. Moreover, designers have a wider spectrum of skills they need to acquire in order to become problem solvers. Skills such as management and communication, business understanding, psychology, etc. Interfaces become so complex that gaining clarity is more and more difficult for us.

All this means that on one hand there’s less time to spend on understanding code (even if we ever wanted to). On the other hand, complex interfaces bring more problems to tackle between designers and developers, since just handing over visuals is no longer enough.

Designers are by nature protective of their work. Because of that and because we’re the glue that ties the whole thing together, we must make sure we have the right tools and processes to do that. And that can only happen when we take responsibility for what developers do and how they do it in terms of implementing designs.

Looking back

I look back at how hectic my ride was (and still is) and I cannot regret learning to code. It made me more empathetic toward what developers do, more in tune with new technologies and gave me a broader understanding of the processes involved, helping me focus on improving them here at Namogo.

There is no question about whether or not designers should code. But there is a question of whether or not we should understand coding and if it’s beneficial to what we do. In a good team, knowledge is shared, people listen to one another and are involved in creating something beautiful. That means designers should understand how websites are coded, what technologies are available and how it all fits together. I personally achieved this without the pressure of this debate. I’m thankful for that, even if I don’t think that if I was 14 today I would do it the same way.