Agreed. You're either a designer who can do some coding, or a coder who has a sense of design. Artist or technician, never both.
I really think it's 2 different types of brains.
That's an interesting assertion. So what about the many programmers who are artists (painters, musicians, poets, etc.)?
They are the true unicorns! :)
I mean designers (look of the product) vs coders (make it run).
Generally I find people are either better designers than coders, or vice versa.
There is overlap of course! Designers can code well and coders can make good looking products.
However, finding someone who is equally good at both is rare.
Personally, I enjoy both the technical coding and the creative designing, but I also know one comes easier than the other.
I suspect (pure opinion here) it's because of how our brains are wired, plus our experience / bias.
I also think the 10k hour rule applies too. You need to invest a lot of time to be really good, so the odds are a little more time was spent on one thing vs another.
Bottom line, coding and design go hand in hand. You should be able to do both. IMHO
However, if you're looking for someone who can create brilliant design and brilliant code, that's a reach.
However, finding someone who is equally good at both is rare.
That's fair. At one point I was probably an equally good programmer and violinist, but programming pays the bills and I haven't kept up with my music.
Isn't every web developer with 15+ years of experience that kind of unicorn?
Heck, I studied computer graphics 23 years ago, got my first job as a web designer / 3d artist / web developer. Started with HTML slicing, then DHTML (ahah), at the same time I was working on personal PHP (2.0!) projects while doing ASP, Perl and other obscure Windows CGI stuff. Then migrated the Win NT internet connection sharing server to Linux because it would constantly crash (yes, you had to do auto dial-in and NAT manually back in the day) and stared using PHP3 to develop the new business websites. I learned CSS when Firebird (yes, before it got renamed to Firefox, that was v0.6 I think) around 2003, taught it to colleagues a few years later, worked on bespoke PHP frameworks, participated in design studios, orchestrating UX, UI and front-end dev, created style guides and design patterns, the list goes on.
Today I mostly do front-end because I think that's the most exciting part but I could still do all the rest, from design to Apache setup with front and back end in between.
That artist/designer/technician split is wrong imho. Web design is, well, design. It's not a painting or art for the sake of it. You need to be the kind of designer that is in fact a technician. Or, I like to use the term craftsman. There's no point creating an interface that is completely useless, or a tool that is so technically complex that it is also useless (on top of being ugly).
I hear you! I've been at this for a long time as well, since the days a hyperlink was leading technology. :-O
I followed a similar path, and agree the interesting stuff is on the front end these days and programming really is a craft.
You do need to code and have a sense of design. My point was you can do both and be good at it, but your probably a little better at one than the other by nature.
BTW, I love the idea that old programmers never die, they just turn into Unicorns. ;-)
I have to say I strongly disagree with you.
How I got to this point? Time and environment. I started making websites in the mid 90's when I was about 10. My parents are in creative fields (architecture and interior design) and I started out doing a lot of visual design with computers as a teen. I started a web agency at age 22, and have since worked professionally in all fields: Project management, design, frontend/backend, devops, information architecture, you name it. Spending 60+ hour work weeks over a couple of years adds up to a lot of time and skills.
I'm also not alone, I've stumbled (albeit not often) across other people with similar skills. So yes, I actually consider myself a pretty good full-stack developer, and I'm confident as one too. While I do consider my strong suit to be in the visual field more so than programming, I can do much more than "some coding".
Sorry Adam, I should have been clearer.
My point is, IMHO, you need to be a little of both in this business.
If you're a designer, you need to be able to code and vice versa.
Of course designers can write good code, and coders can create good looking products.
However, I think it's difficult to have equally good skills in all areas because of the time it takes to develop and hone those skills.
I also suspect people are wired differently, and some things come easier than others.
Good on you for working on building up a variety of skills! Very often having a broad understanding of many things serves you well.
Thanks! Yes it does, most of the time. The downside is that I have trouble not wanting to have a say in parts of projects that are not necessarily within my area of responsibility. It's so much easier sometime to not know a lot about an area, because then you always trust those that you think are experts. The upside is that I'm generally wanted in projects due to my experience.
Sure, 100% equal skills is rare, but I don't really see that how it's relevant. You could apply the same argument to a developer who knows two different coding paradigms or two different languages. He/she will most likely be better than one than the other, but you wouldn't necessarily claim that it's impossible to be good at both those languages just because of that. Or, you could, but it wouldn't really mean much.
I do however think that there are traits that are more useful as a developer or as a designer. And I suppose developers are more prone to carry the traits that are better for programming and vice versa.
I think we as humans want to categorise things because it makes life easier, but life is seldom b/w. There's a lot of hues in-between.
UPDATE: Anyway, I think this discussion is excessive, most days I would agree with your original statement, because I also think most people are better than one than the other. I got little carried away by all the "anti-unicorn"-iness in this thread :)
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.