• Jimmy HookerJimmy Hooker, almost 5 years ago

    This is kind of an impossible question to answer without more context, enough of which is probably also impossible to give without writing a treatise.

    However, one of the two is likely: Either your arguments aren't compelling, or are at least not compelling to your audience. Or, you're working with a team that is uncooperative and doesn't appreciate your work. OR! Some mixture of the two.

    Regardless, when talking about implementing an entirely new design because there is an 'outdated user interface', that's a big fucking task, and I can honestly understand people being hesitant, regardless of how big an improvement it might prove to be. You really have to marshal a lot of resources and motivation for that (and pause feature development), unless you can significantly help with implementation, especially since your team is relatively small.

    Not to pile on to the whole 'should designers code' crap, but the main reason I learned how to write pretty good (read: semi-working) html/css/javascript is because I became impatient with the people trying to implement my designs. Not only did it seem to take forever, but they would do a shitty job of it. No one cares more about your work than you.

    If you learn enough front-end dev that you could take the work 90% of the way there, and then just have them code-review and fix the dumb shit, or connect data correctly, you wouldn't have to have these discussions. You could just do it, and be like "Here, fix the shit that I can't". You can even do that in pieces. Lets say you want a panel to show, and you don't understand how to have the click event handler show the panel correctly. It wouldn't take more than 5-10 minutes of a front-end developers time to handle that, then you can copy that code for other stuff. You can often get away with being pretty hacky.

    I've written too much here, but I totally understand your position. However, it's common that designers who can't write html/css/js feel powerless in these situations. The whole reason people recommend learning it, even if it's basic, is that it gives you so much power. A semi-working prototype is WAY easier for a front-end dev to be like "Ok, I can edit this and make it production ready", rather than starting from a blank page. They also then don't have to deal with you constantly being like "No, it should be 2 pixels left", which is obnoxious for both the developer and the designers. Working with them this way will also develop your empathy for the developers, which they'll generally recognize and appreciate.

    TL;DR - I had these same problems, which motivated me to learn to code just enough that I could hand them a mostly working prototype or semi-broken version of the existing product, which they could help me fix and make production ready.

    24 points
    • Stephen Hill, almost 5 years ago

      You've actually hit the nail right on the head - and I'm pleasantly surprised to see that some of the recommendations you've made, we're actually starting to put into place at the minute as a team.

      For example, one of senior members of the front-end team mentioned how helpful it would be to them for me to gain some understanding of REACT (their framework of choice).

      I could 'wireframe' up my layouts in REACT, apply some basic styling and then leave them to figure out how to perform the complex workings of it e.g. panels sliding in etc...

      0 points
      • Jimmy HookerJimmy Hooker, almost 5 years ago

        That means they empathize, which is a pretty good sign. Could they give you read only access to their git repo? Looking at how they do things could also be pretty informative (although maybe overwhelming for a beginner). Being able to fuck with something real is really compelling. Even if you just tweak some shit and see how that affects the way things are displayed. You can then look up conventions online, and how the developers did other things, and copy-paste/tweak.

        I would definitely find some good tutorials to mess around, but also would be nice if you could dig into your actual products codebase. Here's one that looks like it has potential (I haven't tried it): https://learnreact.design

        5 points
        • Linton Ye, almost 5 years ago

          Hey Jimmy! Author of the learnreact.design course here.

          Thanks a lot for mentioning my course. I completely agree with your points above which is why I created the course in the first place.

          It'd be much easier to work with devs if a designer can speak devs' language and show them that your design is not just pixels in Sketch but actually backed by code. They'd respect your design a lot more. Also completely agree that it's really compelling to be able to dig into actual product codebase and tweak things there. As long as you learn the basics, learn how to set up things, get the project running, and have a sense of where to look at and which file to change, it'd be life-changing since you can start contributing your design into the final product without someone else's help.

          4 points
          • Account deleted almost 5 years ago

            Let's end this crap. At least a solid designer knows the basics of coding but is not to code. This is the first thing. The second - when will we start telling the devs to be more communicative, cooperative and learn the soft skills? I am fed up with this attitude that they are the ones we need to listen to and care for. If you understand coding, you create something good and you get poor communication, anger, hustle (you know, the "rush" to "let's just produce it, it doesn't need to be designed"), then whose problem is this? The designer's problem? No way!

            3 points
        • Account deleted almost 5 years ago

          Git repo? Are you talking about the UX or the UI part? I hope the UI, at least... and not a UI Designer but UI Engineer. But wait... aren't we talking about more of a UX Designer with UI?

          And one more - can I come to a dev and point a line in the code and say I object using it and he has to convince me that it should be there?

          1 point
          • James LaneJames Lane, almost 5 years ago

            If there is a shit piece of code that you think could be done better, of course you can! But if you do, you've got to have an example of how you think it can be better.

            0 points
            • Account deleted almost 5 years ago

              If it's about a UI Engineer, then OK. But it seems the author (and me, personally), are more UX + designing solutions. And in such case NO, we do not even try to get into dev's work. We understand it, yeah, but we don't do it, don't try to edit it, etc. The same is the other way round - the dev gets what's to be done, analyzed, designed. Produce it, the best possible way you can produce it. Of course, you can be asked questions or asked for comments in the process but once given to produce - produce, maybe with petty questions if something is not clear, but I can't imagine useless discussions about the designer's choices. This is ridiculous.

              0 points
      • Linton Ye, almost 5 years ago

        Hey Stephen, I'm the creator of learnreact.design.

        Just in case if you need any help in learning React. Are you familiar with HTML/CSS/JavaScript? I'm preparing a free email course that helps people get up to speed with the basics if they are not familiar with HTML/CSS/JavaScript. Let me know if you are interested!

        Feel free to ping me and I'll try to help wherever you need it.

        1 point
    • Josh Rio, almost 5 years ago

      This x100.

      We're in an era, where it's acceptable to be a 'non-technical' designer, but I believe that era is coming to an end. As a designer, you should want to carry your designs through to completion to ensure your design maintains its integrity as it's translated from pixels to code.

      I can guarantee you one thing. Learning to code makes you a better designer. You'll stop doing frilly bullshit because you'll know how hard it is to implement. By simplifying your designs and thus the associated code, is likely to make half the argument for you.

      The other half of course, is learning to code. The fact you guys are using React, shows they know the right approach to frontends. As a designer, you should be learning it because it enables you to build cross platform applications with a single tool. Reacts mantra after all is 'Learn one, write anywhere'.

      If you can learn React, then you'll be able to design, implement, then code applications for Desktop, Web, Android and iOS. From a developers perspective they're going to respect you a great deal more. From an employees perspective you're a unicorn.

      And in the odd case that the company or development team are actually fuckwits. You can pack up your bags and take your skills to a company that respects them and make more money.

      My advice is to learn React through Stephen Griders courses on Udemy. React is a great way to start actually learning more functional Javascript too. You'll realize that CSS/HTML isn't that hard, and now you want to figure out how to stop duplicating code and use data instead of static code.

      Once here, you're in good shape for the next 10 years.

      2 points
      • Johan Gunnarsson, almost 5 years ago

        I think we're moving in the opposite direction. All fields (design, ux, front end) are way more advanced today then say 5 years ago. To be a top tier designer you have to have a strong understanding of classic design principles, stay up to date with all the tools, all new frameworks, design processes, be great at communication your decisions and to sell your design (to clients or internally), etc.

        If you besides that want to be a skilled front end developer and write production ready code, well good luck with that. You can be average at both, or really great at one.

        0 points
        • Josh Rio, almost 5 years ago

          1,000,000% disagree.

          I have a feeling this is coming from a perspective where you haven't actually tried to code and so you think it's an unattainable skill. I could be wrong but I doubt it because I used to think the same way before I taught myself to code.

          I consistently hear this defeatist attitude on both sides of the aisle. Designers saying you can't be good at developing. Developers saying they can't be good at design. The truth is, good design and development share many of the same fundamentals such as simplicity, modularity, reusability, scalability, systems thinking etc.

          If you learn Javascript and a framework (like React) for even 6 months, you'll see that it's not that difficult. Is it hard? Sure. Is it a 'savant-only' skill? No way.

          You might also be in a position where you work in a large company or studio where specialists are all that people hire. Personally, I don't do that, I start companies or work on early stage companies where being a generalist is your only option.

          At early stage companies you don't have the budget to hire:

          • 1 x UX designer
          • 1 x UI Designer
          • 1x User Research
          • 1x HTML/CSS Developer
          • 1x Frontend Developer
          • 1x Backend Developer.

          You learn to 80% yourself or you're unemployable, or in my case unfound-able. If you're not a "specialists specialist" (i.e Erik Spiekermann, Massimo Vignelli) you're always at the risk of a person with 1 more skill than you stealing your opportunities.

          Personally, that's not a risk i'm willing to take.

          0 points
          • Johan Gunnarsson, almost 5 years ago

            Yeah we seem to disagree. I come from a code background and early in my career I did both design and development. But I have come to realise that this skill has little impact on how "good" a design is. Code illiterates can create amazing design, all you need is an understanding on how it works.

            I still code for fun but rarely uses it professionally. Mainly because my code is not as good as that written by a real developer. I think it's too hard for most people to be good enough in both design and code to make the stuff you produce production ready. If it's not good enough to use for real, then you might as well use a visual prototyping tool.

            My 2 cents

            1 point
    • Account deleted almost 5 years ago

      I disagree. Well, not completely, but still. Of course, having some knowledge of coding is a must-have but it's not a designer's role to actually implement it. I can see another problem - mixing UX with UI. It's like combining to save money - this is the first problem here. The second - you are either a UX Designer and you don't stick to coding, you just beware of some problems + ask for dev advice. If you are a UI Designer then there's no problem because I say you would actually await advice from a senior dev. If it's a junior blocking everything, then well... the junior has a lot to learn, also the soft skills. It's not a solution to do everything yourself. You first analyze, talk to users, then wireframe, and prototype (which is not a product yet!), maybe create aesthetics but code the final product? IMO that's way too much and if your boss even lets you do it, then there's a problem in the organization.

      2 points
    • Cristian MoiseiCristian Moisei, almost 5 years ago

      Another possibility is that they actually have good points, if the design OP is pushing for does improve the UX but means huge technical complications, it might not be worth pursuing to begin with. What I try to do, instead of coding myself, is to get a rudimentary understanding of programming and enough basic coding skills to understand what it would take to develop a particular design and use that knowledge to try and keep my stuff reasonable. I also involve developers early on, discussing my ideas and giving them a chance to speak up if they think something would cause difficulties. This also helps them feel less like they are handed some dude’s design, and more like they had a hand in shaping the product and the thungs they care about were addressed too.

      I found there are usually very small compromises that only minorly impact the experience but save us a ton of development time, so this means I can have 80-90% of the design I had in mind, and choose which parts we change, vs letting developers decide on their own.

      Have a look at this course that explains the core concepts of programming without teaching any specific language or framework. I found it useful. https://www.linkedin.com/learning/programming-foundations-fundamentals

      1 point