15

Designers who have become developers: how have you found the experience?

1 month ago from , Interaction Designer

Designers who have learnt how to program, what was your reason for learning coding? (By coding I mean a programming language such as JavaScript, Python, PHP etc). Was your motivation to change careers? Or was it to turn an app or website idea into a reality? Or was it to understand programming concepts so you could communicate better with developers?

Is programming something you do full-time now? Or do you balance equal amounts of design with coding? Do you see yourself as a developer? Or a designer who can code? Or just simply a designer and a developer?

Any advice or thoughts for designers considering learning programming is much appreciated :-)

12 comments

  • Dor Bens, 1 month ago

    As a 14-15 year old kid who had a great joy of designing in photoshop, one day I realised that it's not enough for me. I took action and I searched what does it mean to "code a website" and found that there is such thing called "HTML" and "CSS". From there, my perfectionism (in a good aspect) took me to study some back end (PHP and MySQL) because "I have a cool HTML website but it ain't no dynamic, right?"

    I was also touching a lot of Visual basic for software development and enjoyed creating chat clients or other things which I wont expand about :)

    Recently I got into python as I wanted to create a program that recognizes stains in fruits. I had to learn basics of python because I used OpenCV (python library for machine learning).

    I think it really shaped my path.

    I feel that this has an insane amount of benefits while working in a company. I feel like I'm somewhat in the same page as the developers even though I don't write any code at all, so we already have a mutual topic. Also, when I want to explain my design I can use their terminology which is an advantage.

    I was working for 1.5 years as a webmaster (Back end, Front end, WordPress) in quite a known company in my country. But after working there I decided I should go along with a design path and here we are! :)

    But I still do enjoy programming quite a lot and I'm not afraid using my Visual Basic Code editor.

    I'm a self taught and I hope this pushes people to not be afraid to try.

    8 points
  • Darrell HanleyDarrell Hanley, 1 month ago

    I started out having to learn coding with my thesis project, Flood Zone NYC which I've kept up over the years and has improved along side my abilities. I've occasionally gotten to play both roles simultaneously in my career, and occasionally work side projects where I get to helm the designer and developer roles like my playlist generator for Spotify, Dubolt, A color contrast desktop app (wip), and a parody sticker pack for iOS

    If I'm being honest, I've found it difficult to maintain a career as a designer as I have grown as a developer, largely because developers are more in demand and employers usually prefer to utilize me in that capacity than a designer. I do think that for a true hybrid designer, there's an inflection point where your development skills are deep and robust enough that employers are no longer interested in using you as a designer because your engineering talents, to them, are more valuable.

    I think I'm at a point where I'm just going to have to pick one and move forward with that as my specialization. Perhaps I could find a middle ground as an interaction designer and prototyper on a product team, or maybe someday one of my side projects could evolve into an actual business, who knows.

    I think I would still recommend that people learn development, more for what it enables you to do as a solo designer and the opportunities it creates. I think it's also a great leg up for someone who is just starting their careers, but I do think that when it comes time to move up the ladder to senior or leadership roles, the hybrid designer/developer will ultimately have to make a choice.

    4 points
  • Andy MerskinAndy Merskin, 1 month ago

    Hey Josh—such good questions!

    Where I started

    Like a lot of the others here, I started designing + coding in some form when I was younger, around 6-8 yrs old, so it's always been a passion of mine to not only think through the layouts and visual polish as well as the functionality. I've always seen those things as a package. It actually surprised (and disappointed) me when I got into my career to find out these things are very much separated now.

    I started by used Clickteam's Multimedia Fusion to learn layout design and event programming. Then I got into web dev at around 10 yrs and through high school.

    I started my career in high school at around 16 doing freelance design + dev doing WordPress sites for small businesses and learned the deeper ins-and-outs of HTML, PHP, and CSS with a little JS on the side, writing contracts and making money that way.

    School and Professional use of both skillsets

    I went to an art school (RMCAD in Denver) to get my BFA in Graphic Design and joined a company called IHS Markit Digital as a UI / UX Designer doing probably a good mix of 50/50 design and dev work (mostly prototyping). I mostly used Angular 1.x and Vue.js for UI frameworks with a mix of other libraries and hand-written code.

    Starting in November, after 5 years here, I'm joining a front-end dev team there to do UI development exclusively with frameworks like Vue / Svelte and supplemental design as well, so it's still a hybrid role, but I'll be writing production code now.

    I also really like toying around with Electron. Check out Spriggan, the Celtic sprite generator.

    All this time, I've called myself a UX Engineer because I've always balanced these two skillsets and have taken a passionate interest in both fields for all of my life, but I think I enjoy development a little more—I love seeing my own designs (and especially other designers') come to life. I love taking what they think might be impossible to code and make it breathe and see the reactions I get from a job well done. :)

    Advice

    Not to scare you away, but if you're a great designer and you enjoy what you do, stick with it. If you are curious about development and want to get really good at it, then you're in for some really hard work:

    • Offer to design + code landing pages for local small businesses, and charge reasonably. Sure, they could use Squarespace or Webflow, but you can offer a custom experience and offer to manage the entire process, including content / CMS stuff and add value that way.
    • Find local non-profits who need a website and contribute in that way—and don't be afraid to charge, or if you want to volunteer, even better.
    • Make your timelines flexible, and be upfront about your level of experience.

    The beginning stages of programming is 80% failure and 20% success. Once you learn how to debug properly and learn the ropes of how things work (in web development, at least), things get so insanely pleasant.

    The truth is, an experienced developer:

    • Won't know all of the syntax by heart—they still have to look things up, frequently, so make StackOverflow and other communities your best friend.
    • Has friends with other developers to review code and talk shop—geek out about new libraries, patterns, techniques, etc. Make sure you have a good local community too.
    • Still make nasty bugs and have to do the hard work to fix them. The trick is knowing how to debug and understanding the logic and inner-workings of the languages they're using. A lot of that knowledge comes from trial and error. There is no magic crash course to learn all that stuff. There are some great coding style guides out there to help you get familiar with best practices and good formatting.

    I hope this has been helpful. If you have more questions, please don't hesitate to reach out to me on Twitter via @andymerskin.

    3 points
  • Dirk HCM van BoxtelDirk HCM van Boxtel, 1 month ago

    I couldn't shake design. I'd do both if I could, but at the rate things change in this industry, that's impossible to do at the level I'd like.

    So from my experience, with a bit of back-end coding under my belt, and a lot of front-end coding, it's been super awesome.

    Mostly because the experience has allowed me to more effectively communicate with (and through that, collaborate with-) developers and other IT colleagues and business partners.

    It has given me an appreciation for the craft. Not just from knowing the workload, but also knowing what drives them. What makes them feel good. What's important. What's not.

    It's a way of thinking that is absolutely gorgeous. Especially at the upper end, experience/skills-wise.

    Coding is gorgeous.

    3 points
  • Drew McDonaldDrew McDonald, 1 month ago

    I learned to code because I'm a control freak and wanted to do it all myself. This is a blessing and a curse, because with how much time I spend developing it's hard to keep my design skills sharp and as a developer I have to focus a lot of time keeping up with kids who got CS degrees.

    I develop full time as a Front End web dev, but I design all of my own projects in Sketch and modeling out the data in JSON with control flow steps before implementing a feature.

    I consider myself more of a developer these days and more of a design enthusiast, which is weird because I've been obsessed with design from a young age after seeing the work of Stefan Sagmeister. I do equally geek out on both design and development though.

    As for diving into code, quit the moment you find you don't like to do it and buff your design skills to the max. I love coding, I love designing, and I've tried getting other design friends into code and they find that they don't like doing it. They find the abstract way of approaching a problem hard to grasp especially since both disciplines use opposite sides of the brain. As a designer/developer, I definitely think specialists could do both sides better than me separately, but at least I can crank out a beast mode MVP by myself. :)

    I personally started with a college Java 101 class I took senior year for fun since most of my design classes were finished except for my internship, and I took a code bootcamp course over summer called Make Games With Us (I think it's called Make School now: https://www.makeschool.com/). I quickly found Objective-C was too difficult for me, and Swift came out at the Apple keynote that year anyway lol. I then learned JS on codacademy, but it was 100% free then.

    I think now Treehouse (https://teamtreehouse.com/) is the best service I can recommend for learning code.

    Good luck to you, I'm sure since you're interested you'll dive in and have a great time and take away something form the journey!

    3 points
  • John PJohn P, 1 month ago

    I learnt to code as a teenager in the IE6 days because it was the only way as someone interested in design to make things online really.

    I never fully went into being developer apart from a brief few months doing front end but I often use code in my design work to prototype things or do creative coding style work.

    The idea of doing it full time and building things other people designed sucked the fun out of it for me so I stuck to designing, although it's a useful skill if you want to work closely with developers and speak their language.

    That said I'd never recommend designers to code, all too often it's used as a way to take tedious work away from developers and almost no one pays designers more for learning to code or taking on this work.

    3 points
  • Joni JuupJoni Juup, 1 month ago

    I started 15 years ago doing designs and a little bit of html/css. Coding was a necessary evil for me at that time, to be able to do the creative things I wanted in the web (html, js, css, actionscript for Flash), but it always felt tedious.

    I used my thin coding skills throughout the start of my career, but avoided coding whenever possible.

    Around the time iPhones and responsive web came, something clicked. I understood how much faster it was for me to design certain thing straight up with code, than to draw it. That was about 6-7 years ago and now I find developing stuff incredibly rewarding. It’s a huge asset when concepting solutions, communicating with developers and overall thinking about products and services.

    Understanding different technologies, how they work and how they relate to each other is super helpful, even if I’m not personally developing any back-end solutions. Every new development related thing I learn, connects more dots for me and makes it easier to learn more.

    It can be a frustrating road to take, but I at least found the rewards after the journey.

    My advice: start with what you’re interested in - if you have simple idea, try to make that work. Copy & paste code and modify it. It doesn’t have to be beautiful or even work perfectly, but it’s a start. You can do amazing things just with html/css and javascript. When you don’t understand something, google it and build your knowledge in small pieces. Ask developer colleagues and friends for feedback and advice on your projects.

    Edit: I'm a design lead in many projects, and I'm considered a designer with technical skills, so I'm designing stuff, but I'm also implementing things while designing them. It varies quite a lot. F.e. our developers do much of the intellectual heavy lifting, but I can adjust the UX and UI directly in the code without messing anyone's work (and saving everybody's time and nerves). I don't think designer/developer thing is binary - you can be both at the same time. When we're coming up with solutions to our clients, I'm also thinking about a viable technical solution with our tech leads, that works nicely with our UX and UI ideas.

    3 points
  • Nelson TarucNelson Taruc, 1 month ago

    I learned to code so I could effectively implement stuff I designed, to make it real in the way I intended. Over time, that had the added benefit of being able to communicate design to developers in terms they understand.

    I consider myself a full-time designer who knows how to code, but only in emergency situations (I currently work with really good developers).

    The way I learned is to design and build something for yourself, preferably a mobile app or web site you’ll use daily. Design, build and grow new dev skills as you iterate. Good luck!

    2 points
  • Jide Lambo, 1 month ago

    I had to pick up programming in JavaScript to help design better web interactions. Also, the nature of the ecosystem i find myself is quite tense. If you design alone and don't have programming skills, You'll be considered irrelevant after a while. At this stage, i consider myself a designer that codes. I can gather my user research, design prototypes, validate them and code them into responsive application. Lately, my current work challenged me to pick up Angular/typescript and build mobile apps with ionic 2 because there was a shortage of hands and I had to fill in.

    2 points
  • Ahmed Sulajman, 1 month ago

    I'm a developer who designed to learn the design. For me, it was about enhancing my skills and being able to see "another side".

    1 point
  • Gavin McFarlandGavin McFarland, 1 month ago

    I originally started out creating websites by creating interfaces in Photoshop and then stitching them together using tables in Dreamweaver. At the time I was part of a community dedicated to skeuomorphic interfaces that were popular in games and software. Someone I knew from the forum was very generous and lent me some of their webspace. They also showed me you could do pretty much anything you wanted with CSS and gave me encouragement to learn it. If it wasn't for that one person I'm not sure I would be where I am today.

    Since then I've learnt how to programme, create plugins, fully interactive and animated websites etc. I spent some time as a front end person but eventually I started focusing on more design and UX roles. In my own time I create side projects that use programming and front end code. My technical knowledge helps me massively to understand the challenges and constraints that companies I work with face. But ultimately the real I reason code is because I enjoy the craft so much. It feels great being able to picture something and being able to bring it to life. I'm a massive advocate of design systems and I've been able to test out my own technical solutions that revolve around problems in this space. I've then used these ideas in my side projects making them easier to manage and deploy as I want.

    So much credit and appreciation goes to many many strangers that had and have the time to teach me and help me learn.

    As others have mentioned I would follow what you are interested in. As you find you can do things yourself you may have a bigger desire to push yourself. Things will get hard at times and it will seem like you are hitting a brick wall, but over time things will seemingly click into place and you will know more of what you didn't know previously.

    0 points
  • Andrew C, 1 month ago

    You don’t need to code. There’s a reason why designers tend to give it up when they get a job on a team: generalists just aren’t as good as specialists.

    I direct a fairly large team now. The designers on the team that consistently nail execution don’t know any code. They just know how to negotiate and provide measured front end specs if a dev isn’t as comfy w front end.

    -1 points