At the end of 2016, I decided that it was time to get back to working as a freelancer and quit my job at a startup. As a freelancer, I came in contact with a higher rotation of projects, which allowed me to broaden my horizons and gain new experience. At that same time, I had the pleasure to meet Patryk, who was working on a very interesting project at the time.
(This article has been originally published on Medium and featured by Muzli.)
He got me interested in his approach to design and, luckily, we got along well enough to decide to share an office, since both of us did not feel good working from home.
I clearly remember my surprise when, during my first days at the new office, I discovered that Patryk spends almost 8 hours on design… Writing code in Framer.
My knowledge of programming at that time allowed me to edit the code of simple websites written in HTML and CSS. Writing websites from scratch was a challenge for me, so try to imagine my face when I saw the guy (a designer, mind you) designing a prototype in Coffee Script.
“What’s going on? ”, I thought.
My approach to design at that time was as standard as the toolset I used. Adobe CC + Sketch for design, InVision for prototypes and Principle for animations. That was it.
What is worth highlighting - in my brain designing was an area entirely separate from programming. Of course, I knew the differences between frontend and backend, I know what Bootstrap is and what the programmer’s work looks like and, what’s more important — how to design without making programmer’s work more difficult. However, it would never have come to my mind that I could benefit from programming knowledge being a designer.
For eight months, I interacted with a designer who programmed every day. It helped me to learn to program a little better, but most of all, it changed two very important things: my approach to programming and my thoughts about what design is, even if before that I thought I had already had it all figured out.
First of all, I have improved my design process. Not only did I start using Framer to create prototypes on a daily basis, but I also developed a more pragmatic approach. I began to understand that the design process is something way more than just pixels.
Testing was and right now still is a part of my design process but right now it's something more than just a preview of static image on a device. Framer grants me access to all technologies inside the device. Thanks to that I can for example gain access to the microphone in the smartphone and test my solutions when designing a voice-controlled app. The possibilities are almost endless. More about that can be found on Framer’s blog.
I quickly realized that programming is closely related to the design process in the context of digital products. A good cooperation between designers and programmers not only allows building products faster, but those products can also be better than ever before.
I believe that learning more about programming influences our thinking about design and, as a result, we notice problems we wouldn’t have been aware of otherwise. What’s important — it influences not only the way we see the problem but also our awareness of possible solutions.
The more limited our knowledge about related disciplines is, the higher the likelihood the that our product will encounter many problems along the way. It can have serious consequences on how the target audience would receive our product.
Good design is not limited to GUI, aesthetics or completion of business goals. We all call ourselves Product Designers or User Experience Designers but have those roles not lost some dimensions when they were popularized?
Limited knowledge on programming causes us to reluctantly approach solving problems linked to the purely technical side of building a product. We, designers, think that those are problems for programmers. And this is one of our biggest mistakes. Different teams working together on building a product can bring amazing results. And it does not apply only to designer-programmer cooperation…
If you want to know why you should talk about building a product not only with designers or developers, read the book — The Design Sprint by Google Venture.
Designing is the ability to select means for goals and solve project problems related to with something more than just GUI.
One of the most important skills I developed last year was project building. Before I dove into programming, I had thought about project building only in the context of my own tasks as a designer. I did not consider whether the app was to be written in Swift or in React, or whether the website would be written quickly and with the smallest amount of work possible, so it could be designed and developed with Bootstrap. For me, those problems (and many other issues) belonged to the realm of programming, but the truth is that it’s also my task as a designer.
Design is not just what it looks like and feels like. Design is how it works. — Steve Jobs
We all probably know the most popular quote among designers, but do we really understand its meaning?
The quote that we, designers, should really remember and hold dear is completely different.
Design should be easy in the sense that every step should be obviously and clearly identifiable. Simplify elements to make change simple so you can manage the technical risk. — Kent Beck
The eternal forbidden question is: “should designers code?” But the truth is that the question should be formulated differently: “should the designers be programmers?” And the answer is “no.”
Your task as a designer is solving problems. Looking at the problems from a programmer’s point of view will allow you to see problems related to product building from a broader perspective. Your work will become more efficient and, as a result, you will become a better designer and a great team player. Your teammates will quickly see that you are a person they can talk to about many aspects of product building, and they will not be afraid to ask for your advice. This will lead to you sharing experience with others, which will benefit all parties.
Just because you will start learning to program does not mean that you will be expected to code your designs by yourself or when the programmer takes a day off, you will be expected to replace them. To you as a designer, programming should be a way of broadening your horizons and gaining experience that will make you even better. As much and as little as that.
To answer the question from the article’s title: “yes, we do need more product designers.” However, we need those who can take many aspects of project building into consideration. Design does not end with the user.