18

Code is killing my creativity

over 6 years ago from , Creative Developer Freelance

Hello everyone,

I have a strange feeling that my coding skills is killing my creativity. Let me explain I design and build web site for years. First I was a designer, but there was never someone who could code what I designed so I begin to learn to code. Since I touched to a lot of things : PHP, Ruby, Node.js and also After Effects, Photoshop, Illustrator, Cinema 4D, etc… I also have a degree in Art. And last years I spent too much time to find the best tools to code my designs like CoffeeScript, Backbone.js, Angular.js, Ember.js, Prismic CMS, static site generators, replacing jQuery by Ender, ruby vs node…

My mind is always thinking about the best practices, but there is never a perfect solution and each time that I learn something new there is already something better.

I would like to know if there're designers who experience the same issues as me ? And how they deal with it ? How they find balance to stay creative and be up-to-date on best practices ?

35 comments

  • Marcelo Novaes, over 6 years ago

    “There are two wolves fighting in each man’s heart. One is love, the other is hate.”

    “Which one wins?”

    “The one you feed the most.”

    I think the same about everything you do, design and coding included.

    I love design and I like to code a lot.

    I can never be apart from any of those, or I'll miss the other.

    TL;DR: Equilibrium

    23 points
    • Dan Maglasang, 6 years ago

      "I love design and I like to code a lot. /I can never be apart from any of those, or I'll miss the other."

      well put sir

      Equilibrium ftw

      2 points
    • Maxim ZhukovMaxim Zhukov, 6 years ago

      I feel the same, I can't imagine be separated from one of them. But I think my feeling is coming from my situation, where I'm currently working, designers don't code (and they think it's right) and developers don't design.

      0 points
  • Travis VocinoTravis Vocino, 6 years ago

    Well there's an important thing to note, regardless of whether we are talking designing the interface in a graphical tool or picking a technology stack to build it with:

    Done is better than best.

    Don't get caught up in trying to figure out what the absolute best tool for the job is (e.g node vs. rails). If you're writing the code and you're designing the interface, either at the same time or at different stages, just ask yourself what you know like the back of your hand which will enable you to get it done.

    That's not to say you shouldn't learn new stuff, of course. Just make sure you are solving the real issue first, which is deploying something by a certain date. Building in timeline constraints will help a lot when you're creating your own projects.

    Otherwise, you end up doing what you're doing: thinking too much.

    17 points
  • Geoff KimballGeoff Kimball, over 6 years ago (edited over 6 years ago )

    Don't fret about always being on the cutting edge or leveraging every optimization trick in the book. The world won't end if you didn't run your JPGs through three different compressors, or didn't perfectly use @extend versus @include in your Sass, or didn't find the most optimal build system to assemble files.

    It's best to take it slow. There's an opportunity cost in learning a new process, so instead try to iterate on it. Take a process you feel comfortable with, identify a problem area, and consider ways you can bolt something on to your process to improve it.

    And when it comes to choosing between different kinds of software, just learn one and stick with it. Learn Foundation or Bootstrap, learn Angular or Ember, learn Grunt or Gulp. The web prides itself on building systems that are flexible and can hook into anything (which I feel like is where much of the complexity comes from for new developers), so there's usually a way to connect any two systems to each other.

    Just focus on getting things done.

    8 points
    • David MDavid M, 6 years ago

      incredibly well said

      0 points
    • Maxim ZhukovMaxim Zhukov, over 6 years ago

      You're saying the same thing that Drew Wilson in his book Execute: that it's more important to execute that using the new fancy tools.

      What’s Under the Hood

      Speaking of keeping it simple and re-using code, he did the same for the back-end. He personally likes to build a fully custom backend for each app that he makes, because he’s not a fan of MVC or using JSON templater libraries.

      He has a code-base that he’s been refining and re-using for a few different apps. It’s extraordinarily light-weight, uses JSON API by default, and is full of abstractions to make re-using it super easy. It’s built-in PHP, since that is what Drew is best at. His favorite language is Javascript by far, so he also really likes using Node.js. Space Box has a RESTful JSON API built-in PHP and stores the information in a MYSQL database, and uses AES encryption for any sensitive data. Space Box never stores or processes credit card information, another good reason to build on Stripe.

      All the JavaScript is custom, other than using jQuery. Writing custom JS is always best since you have full control over everything and you can always make things run faster when you don’t have additional overhead. A lot of people say to use frameworks or templaters, but Drew usually just tells them to get better at JavaScript.

      The service is hosted on MediaTemple. He setup a custom box and installed GIT, and uses GitHub for deploying code.

      0 points
  • Sacha GreifSacha Greif, over 6 years ago

    I used to feel very "creative" when coming up with beautiful homepages and UIs in Photoshop. But then I realized that none of the things I was “creating” were actually seeing the light of day.

    Or if they were, it was in a mangled, sub-par version. So I decided to code stuff myself and take charge of the whole product, from A to Z.

    I feel a lot more “creative” now, because I'm not just creating visual designs, but actual products, and sometimes even whole businesses or communities.

    So my advice would be to redefine what ”being creative” means to you :)

    5 points
    • Maxim Zhukov, over 6 years ago

      Sacha you're a exception :) , I always admire your designs and code execution ! I think my problems comes from the place where I work now (designers don't code) and I'm always trying to find the best tools.

      0 points
  • Ryan GloverRyan Glover, over 6 years ago

    Me too! This came to a head recently. Like you I started out as a designer and slowly morphed into a developer. For awhile I was convinced that "design in the browser" was the way to go, but much like you described, you start to think about design more in code terms (very subtle so it takes awhile to notice it).

    Lately I've been focusing more in design, spending time actually designing as opposed to just hacking up designs in CSS. I have noticed more attention to detail and being more open to experimentation/different implementations (with code this is limited because there is usually a "best practice" to adhere to).

    Good to hear someone else is bumping into this, too :)

    3 points
    • Chris GriffithChris Griffith, over 6 years ago

      I felt the same way. "Designing in the browser" sounds great, especially to stakeholders, but there's a huge barrier in between the thought and its representation. When you sketch, wireframe, or design in Ps/Ai/Sketch the thought can be expressed pretty quickly, but in code, you have to figure out exactly how you might set something up to express the thought = big wrench in the process.

      Plus once the code gets messy enough, you don't want to or simply can't change anything.

      I've found that sketching and wireframing really helps lay the foundation. Then I go into a more solid visual design, but may start coding at this point - going back and forth between Ps/Ai/Sketch and code. Getting into code does help getting a feel for interactions. Ae and Ps are great for showcasing animation, but in this case, it's way quicker to just code them.

      2 points
  • Braden HammBraden Hamm, over 6 years ago

    I've been a hybrid my whole career, but I had the realization about 2 years ago that I was happiest in the day to day grind with just design.

    So I only applied at design only jobs. It took a while, but I found one and I'm MUCH happier.

    2 points
    • David MDavid M, over 6 years ago

      hey Braden could I chat with you via email about this? I'm a developer myself pushing into further into design..would like to know about how you transitioned. thanks!!

      0 points
      • Braden HammBraden Hamm, over 6 years ago

        My background was always design first. Code was just something I learned out of necessity, so when my job became 90% front end dev, I just started focusing my portfolio more on design. I resisted the urge to apply for jobs I was qualified for, but didn't actually want.

        0 points
  • Jake ChapmanJake Chapman, over 6 years ago

    I fee like code made it harder for me to design because I'm constantly thinking about the code and designing even if I know something is going to be a pain in the ass to code to be performant and maintainable.

    So I totally feel you. So now I just roughly wireframe, design in Sketch... nothing is ever REALLY pixel perfect, I just need to know where stuff is and what it'll look like then its off to code land for me.

    2 points
    • Maxim ZhukovMaxim Zhukov, over 6 years ago

      Before I was more like you but where I design now, the creative director wants everything to be pixel perfect, so I spend to much time on details and I'm not able to apply changes on the design ones is given to the developer. I thinking the fact that hybrid designer know how the design will be coded is a great, because you can design solutions that're less creative but more profitable to the company.

      0 points
  • V---- CanecoV---- Caneco, over 6 years ago

    This is why I design my code, and I code my design. I think one could not live without the other and both work well that way.

    2 points
  • Nic TrentNic Trent, over 6 years ago (edited over 6 years ago )

    I had to go through this too. But for me, the creative restraints faded away as I became more comfortable with code.

    2 points
  • Account deleted over 6 years ago

    You don't HAVE to learn all the new things.

    Learn to master your workflow, which might include thinking, sketching, etc. Find a code editor that suits you and an environment where you feel happy.

    Decide upon the frameworks you feels are the best for the way you do things (there is always more than one way, never the "only" way) and stick to them.

    Hope this helps.

    1 point
    • Maxim ZhukovMaxim Zhukov, over 6 years ago

      Yes but to me all this new tools is like the grass which is always greener on the other side. Sure I have to find solutions to limit myself about trying all the new technologies. Thanks for you advice :)

      0 points
  • Damian MakkiDamian Makki, 6 years ago

    I think it's up to you to manage that separation. As nice as it would be to embody that "unicorn" status, the reality is that there are only so many hours in a day. If you're splitting that between design/creativity and code/best practices/chasing the bleeding edge you're gonna end up burning yourself out. Is it empowering to be able to do it all? Absolutely. Is it sustainable? Not in my opinion.

    Take a step back and evaluate what you prefer doing. Focus on that.

    1 point
    • Maxim Zhukov, 6 years ago

      I'm already facing those burning issues, not easy to deal with them, but you're right this situation is due to my "unicorn" status. But I can't be separated from design & code.

      0 points
  • Coulter PattonCoulter Patton, over 6 years ago

    Sounds like a classic case of trying to do too much.

    As others have said below, there's an opportunity cost to everything – and also a mental cost.

    You need energy to be creative. Trying to do too much is a surefire way to kill your energy.

    Decide what your strengths are and put your efforts behind those skills. Let the other stuff go. I know it's hard, but you'll feel so much better when you're not splitting your focus between 100 different things.

    The most creative people I know are the ones who pick a few tools and learn them deeply. It's hard to be creative when you're switching tools all the time. Learning something deeply opens up mental space to be creative with your tools.

    If you were gonna slap the Pareto principle on this issue I'd say spend 80% of your time using your core set of tools and 20% of your time experimenting.

    0 points
  • Daniel Robert P, 6 years ago

    It happened to me some years ago when I got too much into AS3. I think that putting too much time into knowing solutions makes your mind focus on feasibility and production. Knowing less gives you the naiveté that helps you think about "what if" without production worries. Then, once you got the solution you can get together with developers and they're gonna hate you but the idea is already there and that is a good thing. Wearing the production and design hats at the same time can definitely be a bad thing.

    0 points
  • David DarnesDavid Darnes, over 6 years ago

    I've come from a similar background, being fully focused on design and staying within the realms of Photoshop. Then branching out to full front-end development.

    Not tried out nearly as many languages and packages as you have, but maybe thats the issue?

    I like to code smart, use best practices and essentially write tidy code. Only to a certain extent though, at some point I'll think "sod this, lets get something cool done".

    Put the best practices to one side and use your development knowledge to build something creative. Making something awesome is better than making something perfect.

    0 points
  • Ramis KhawajaRamis Khawaja, over 6 years ago

    Im dealing with something similar right now. I was previously trying to prioritize one over the other but now I'm trying to find the balance that I am comfortable with :)

    0 points
    • Maxim ZhukovMaxim Zhukov, over 6 years ago

      After the all answers, I understand that there will be always something better and we don't have to be always early adopters.

      1 point
  • Nemanja NenadicNemanja Nenadic, over 6 years ago

    You don't have to have the best tools, you just need the tools to do the best job.

    That's why I never cared about anything besides HTML/CSS/JS.

    0 points
    • Maxim ZhukovMaxim Zhukov, over 6 years ago

      I don't completely agree with, for example without Backbone.js I wouldn't be able to build this game : http://jeumaisonverte.com/ . I think we need some tools, but we shouldn't try to learn them all, just learn one and stick with it !

      0 points
      • Nemanja NenadicNemanja Nenadic, over 6 years ago

        I didn't say you shouldn't learn Backbone. I gave an example what I need for my work. If you want to build games good old HTML/CSS/JS may not be enough.

        My point is you can't learn all tools and languages and be good at them all.

        Choose what you need, stick to it and be great at it.

        0 points
  • Mike JohnsonMike Johnson, over 6 years ago

    I don't think that learning anything, especially anything that requires a new way of thinking, can be bad for your creativity. For me, transitioning from a design role to an engineering role has opened up tons of doors and given me great ideas for things I could build and new directions I could take my career.

    But when it comes to the other problem you've mentioned - feeling overwhelmed by trying to keep up with all the new technologies that come out - my advice is to not fall into the trap of learning everything that comes out. A lot of these frameworks/libraries are really good at solving a set of problems, but they introduce a new set of problems. A lot of times, you can accomplish the same things with a new technology or an old one, but you could have launched a product faster if you just stuck with the old one and didn't make yourself learn the new one. Strive for a balance - know what all the major technologies do, and what problems they solve, but don't start using them until you have those problems.

    0 points
    • Maxim Zhukov, 6 years ago

      Yes completely agree with you each time that I found something new I think that this thing will solve all my problems and will allow me to ship high quality sites. But soon I realize that the new thing brings new problems…

      0 points