I do design work and can handle HTML + CSS very well, but my JS is a bit lacklustre. Is it possible to do great design work and competitive front-end development (delving deeply in JS, Angular, React, etc).
I consider myself an expert designer. Various mediums and almost 15 years later, I comfortably teach the conceptual, technical, and professional facets of design to colleagues, clients and mentees.
The technical dimension is the easiest to master, but the most obsolescent. The remaining dimensions, the conceptual and professional, are mostly one-way transformations... discoveries you carry forever.
I’ve found programming to be similar—except that conceptually, programming is (unfortunately) far more experimental than contemporary digital design, and as such, new approaches to old problems (e.g. The Flux Pattern over MVC, the proliferation of APIs, etc.) introduce a more dynamic conceptual dimension to mastery.
I still struggle to identify as a developer even though the past 5 years have been focused on front and back-end (now converging into "full-stack") methodology, because of the dynamic nature of development technology and practice.
The Unicorn (Yang)
There are so many parallels between design and code, inasmuch as they are both design—except that one is user-facing, and one is machine-facing. You can most certainly do both exceptionally, and the mental acrobatics you practice with one, will certainly contribute to your agility with the other.
There's a lot of truth in what Ian said:
”You hit diminishing returns where after a certain point your knowledge of development ceases to help you design better. Knowing details about how web apps (and native apps) hang together is a great help; knowing exactly how to implement them is not, unless your goal is to build something rather than just design it.”
However, I don't believe the diminishing returns become no return. I believe you will always get something out of your investment, but I agree there is a point at which the cross-disciplinary advantages will slow.
The Price (Yin)
I’m actually suspicious that the more you study development, the more sterile your design inspiration becomes, as you begin to "think in implementation". Ironically, this is exactly what is praised about designers learning code—eliminating impractical designs—but few comment on what is lost when it (seemingly inevitably) goes too far.
The flat design
cursetrend may be exacerbating things, and this is what I am struggling with now... to reinvigorate my design work with art and spirit. I used to Graphic Design websites as an amateur… totally naive, but they definitely had flare; I lost something along the way.
The Path (As recommended by a stranger...)
I think your design learning will serve your development initiatives, and remain relevant for longer, so hone your design blade, which I do think should include studying development fundamentals.
As you notice a diminishing return on your design, consider taking a deep dive into whatever programming technology is most interesting to you. Perhaps seek to design, build and deploy an application on your own.
I’m totally prescribing the path I took, but it has served me well, as a designer, developer, team member and teacher.
and almost 15 years later
Dammit, I knew there was a catch!
I would say I know more than the majority of designers when it comes to front-end development. I've designed and built a fairly large and unique CMS from scratch (using backbone.js, which I would not use if I was starting again).
There are two issues.
- The time you need to become great at design and development is enormous. In my opinion it outweighs any benefits, unless you live for work, in which case more power to you.
- You hit diminishing returns where after a certain point your knowledge of development ceases to help you design better. Knowing details about how web apps (and native apps) hang together is a great help; knowing exactly how to implement them is not, unless your goal is to build something rather than just design it.
I'm in a similar kind of situation as you are. I have just started working, but from what i've heard and seen it only depend on what limits you put on yourself. If you want to be good/competitive in both the fields, you will have to work twice as much in both the areas and put in twice effort, which is very hard for general population. If you think you can do it, go for it.
Best of luck!
From my experience you can learn anything you set out to learn. There are so many resources out there to learn anything you can imagine (not just design and code, but anything really), that it all comes down to how bad you want it and much time you are willing to put on it.
I think the best skill to acquire is actually learning how to learn (read: how to google stuff). I mean, for example, being able to differentiate between good and bad sources of information, or finding just that one article or book appropriate to the place you are on the learning curve for the skill you are learning, and generally just being smart about how you spend your time learning something.
(I do both design and development, front-end and back-end).
I think you should read this article. The short answer is that although it takes time, you should always considering learning code :)
I'm a designer by trade but can write HTML and CSS pretty well. I'd call myself a front-end developer to a degree because I can develop my own Wordpress themes if I need too outside of work. At work I'd never do this though, only edit the projects developers are already working on to make design changes.
Don't spread yourself to thin. You don't want to be jack of all trades, master of none. Focus on what you're good at. Sure it helps to be good at development but don't get to far into it or you'll lose touch with design.
I come from a design background - and trained as a designer - but most of my professional work these days is as a frontend developer (self-taught). Something about building something functional and beautiful is much more rewarding that just one or the other.
It is most definitely possible to do great work in design and frontend. Frankly, the fact that designers and frontends aren't always the same person is a problem. I'm often frustrated when coding out a design done by someone else when I can see flaws in it.
Agreed, the hardcore developers simply don't have the designers eye
I'm obviously speaking for the majority here.
Of course some software engineers have a good eye, but they're few and far between.
I agree. V hard to find a dev that can design well too. But they are in the industry.
I wouldn't say I'm a serious frontend developer but I'm no slouch either. For instance, while I could develop a CMS or application I wouldn't trust myself to create one for a client -- maybe in time. Right now I'm comfortable in graphic design (publications, advertising, identities, websites, apps) and typical frontend code (html, css, js, Wordpress themes, light PHP tasks). I think business logic and database design are a tough nut to crack without training.
I'm a designer and developer.
I do both equally well. I don't do hardcore JS though, interaction dev sure, but not framework stuff.
I personally feel that a designer should be the one creating the HTML / CSS and the JS should be done by a JS engineer.
JS engineers shouldn't be creating layouts IMO.
I used to do a lot of PHP dev as well but currently I don't have a need to do that.
I do both design and development for the web.
I'm a better developer than designer for now. And development includes both backend and frontend.
The major advantage these skills gave me is the complete overview of the full process and stack.
From UX research, UI design to deployment and optimization I can be a good help for small and medium sized companies. Yes it's called product design.
It's not product design. It's web development.
In really short words I define myself as somene that can code anything I design. I may not be the best developer or have the cleanest code in the world (but who does anyway?).
Every single line or shape I do while designing I am coding it at the same time in my mind. It's just the way I work....
I am the opposite, I senior software engineer in the pay tv industry but come from a web / mobile ui design background
I've always done both design and front-end development, the two are a natural fit for each other in my opinion. Front-end development is just another tool to create the layouts you come up with in Photoshop or Sketch.
Recently, as in within the last 5 years I've started backend development as well, thanks to Node.js, it feels great to create products from top to bottom.
That said, my friends who have focused 100% on design in their careers are better designers and I am, in my opinion. There's a trade-off of time spent.
It happens eventually for most designers I think. Instead of having to double check with the front-end developers to ensure they nail certain animations or shadows, you could/should be doing those vital design details yourself.
I design using Sketch and am able to code in HTML, CSS. I have had good experience designing and coding for mobile web apps so I am familiar with RWD patterns and anti-patterns.
I find my hold in JS a little sketchy and can do a better job if I can convince myself to learn more JS.
Designers can and should learn to code, unless they would like to be irrelevant.