A few years ago I developed and taught General Assembly’s first 12 week user experience course along with Dan Maccarone. One of the classes focused on development and in that class, I spoke about the need to become technically literate.
I started my career learning HTML, CSS, and Cold Fusion. In hindsight, I am so very thankful and thrilled that my career path involved getting technical. Through the process of learning to code, I realized some very important lessons and skills that I use every single day. Here are some of the things I learned as a result of becoming (and staying) technically literate.
How design translates to code
As a designer, there came a point in my career where I realized that I could be a better designer if I understood the mechanics of how what I designed would get built. If what I created turned out to be a nightmare in terms of budget and timeline, it wasn’t that great of a solution and it certainly didn’t help foster the relationship between the developers and the designers. If you plan on being a designer, you need to understand how your design will be built, what technologies are available to support and enhance your design experience.
What data is available to play with
Having a basic understanding of databases and how data can be stored and manipulated is key to creating a great experience. It’s one thing for a client to tell you the information they want to have on the website, but it’s a completely different thing to know how you can manipulate that data. As well, understanding data and developing a more technical mind will help you see the relationships between the data. Finally, understanding the data will help you identify what you could be measuring.
Be a problem spotter (and solver)
Likely one of the greatest assets to being technically literate is the ability to quickly troubleshoot issues on a website or application. Specific to my situation, I find I am constantly using the Chrome code inspector to look at the front end code and identify specific parts of the HTML and CSS that need to be changed to adjust the design. For example, to make the job of the developers easier, I give them specific CSS changes based on what I see in the Chrome inspector. This is a huge benefit because sometimes I find it’s difficult to articulate in the proper terminology what the problem with a design is. But, by sending specific CSS changes, nothing is left to interpretation.
Working with developers
I find that often times, people are intimidated by the technical aspect of a project. Many people think it’s a big black box that they are not allowed (or supposed to) enter. I think that’s ridiculous. I have found that by being technically literate, it’s much easier to communicate with developers and more importantly collaborate with them. As well, I think that the developers will respect you more if you at least show some effort to understand what they do. Further, I think that once those communication lines are open, you’ll find that developers will often have brilliant ideas for the product or design that likely never occurred to your product or design teams.
The point of becoming technically literate is not that you’re going to be capable of fully coding an entire website. But, instead having enough knowledge to be comfortable to talk about technical topics, to understand the data that’s involved a product, to help gauge accuracy of scope and technical timelines, and to foster cross collaboration with the development team.
If you’re still not convinced, check out this great blog post that Fred Wilson recently did called If You Aren’t Technical, Get Technical. Also, check out this great blog by Jennifer Dewalt who learned to code by creating 180 websites in 180 days.