I was recently chatting with a friend and he was talking about all the things he wanted to learn. I was exhausted just hearing the list and realized that I am either getting old or I am getting tired; I’m not sure which.
There is a constant pressure to learn new things and keep up with all the latest ideas: new frameworks, new platforms, new ideas of how to write code, they just keep coming out. In addition, the ebb and flow of what is desired from a front-end developer keeps changing. It used to be that knowing CSS and HTML was enough, then jQuery came along, then responsive techniques, then Node.js and then Angular, Ember, etc., etc., etc. That list, right there, it tires me out.
So lately I’ve had to do some evaluating. What do I want to focus on, what do I love about the web? What do I actually want to learn, versus what I think I should learn. And to be honest, what I really like about the web, it isn’t always whatever is the sexy new hotness—it’s the bread and butter that makes sites easier for everyone to access and use. I love responsive design, I care about accessibility, and lately I’ve gotten really interested in performance as it pertains to CSS styles and load times.
There is a lot of pressure out there: to learn new things, to spend all your time coding, to be the super developer. I now believe that to be impossible and unhealthy. It means you aren’t living a balanced life and it also means that you’re living under constant stress and pressure.
So I’ve started devoting the time I have for learning new things to learning the things that I like, that matter to me, and hopefully that will show in my work and in my writing. It may not be sexy and it may not be the hottest thing on the web right now, but it’s still relevant and important to making a great site or application. So instead of feeling overwhelmed by code, maybe take a step back, evaluate what you actually enjoy learning, and focus on that.
35 Reader Comments
‘I now believe that to be impossible and unhealthy’ — This sounds like a statement from a ‘designer who also codes’, as opposed to a ‘coder who also designs’.
However, if you were forced into imperative programming (as have been many markup and CSS-focused folks over the past few years) I can completely appreciate your sentiment.
I have always felt this way, given that code is a means to an end as far as users are concerned. Huge fads come and go, especially among people who talk about technology news online, but visitors looking at your webpage and typing in your input box don’t particularly care. What’s more, following fads can mess up your UX and product, not to mention your general business goals. I have specifically seen the way the using Angular degraded user experience because of latency issues on a site where old-fashioned server-side-rendered pages load with a snap.
The flipside of this—learning new things driven by curiosity—is also something I have found worthwhile. Firstly, the reason I’m in the field at all is because I was setting up personal websites when I should probably have been doing something else (ha.) It just happened that because of the nature of the world we live in, that ability to set up websites came in handy in my career. Even after that, however, I’ve found that things I figured out of personal curiosity (cloud services) came in handy down the road.
We are privileged to be in a time and industry where pursuing your interests this way is rewarded. Your conclusion is exactly right, then: don’t chase fads, but chase your curiosity.
Super article, Susan!
I have recently been having this same exact epiphany. (And no, I’m not a “designer who codes”. I don’t think dichotomous thinking about “if Real Programmer, then will always love learning All The Things” is accurate or helpful. I know many hard core programmer CS majors who have expressed this same sentiment to me. I love code, but I geek out on and feel more passionate about some kinds of code more than others.)
Thanks a ton for the article!
I’ve voiced this same ‘overwhelmed by code’ sentiment over the last 2 years. Working for smaller agencies that still depend on ‘traditional’ development processes – it’s tough to justify learning Angular,Ember, et. al. While I can see their benefits if I’m looking to leave and pursue other opportunities – my goal isn’t to job-jump every time a new technology comes around; rather, refine and perfect what I’m good at now and be great at it.
@tony: thanks for your comments, but I would disagree, as Johanna says, I too know many programmers that come from the more traditional route or are self taught but program things such as Python and Ruby who also get overwhelmed. To learn all the things, one would need to be at the computer all the time, and this is what I mean when I say that “I now believe that to be impossible and unhealthy” because that is unhealthy. Balance is good, breaks are good, letting the mind rest is also good.
To the rest: thank so much for your comments, I’m glad others relate 🙂
@susan @johanna: What I mean is that continuing education is just a part of being in the software development space. You learn new things as you need them, and you learn enough about them to know if something new will make your life easier.
That doesn’t mean you have to sit in front a computer all day, just be aware enough to know if something will help you reduce the amount of time it takes you to do things.
My experience in general with those who say: ‘let me stick with what I know/like’ is that they end up hurting themselves in the long run (like jQuery users who don’t want to learn Angular or Ember) because they miss out on tools that could make their lives easier.
There is absolutely a balance that you have to strike, but if you use a hammer often but never learn about a nail-gun, you aren’t really saving yourself time in the long run.
And apologies if ‘designers who code’ was an insult, it wasn’t intended as such. I honestly find those who come into coding from design more easily learn-fatigued because code is a means to an end, not a love, and that’s totally understandable.
…and yes, some coders feel that way too, but I find those are folks in the same camp, where they came into professional coding as a means to an end (building software, product design, UX, making good money) as opposed to those who come from a true love of mathematics, logic, and computation. Nothing wrong with either. Just the reality of human nature.
Designer who also USED TO code here. I survived coding on early typesetting equipment and was thrilled when Quark usurped it, only to see code re-emerge in the late 90’s and aughts. Ugh. I sympathize completely with Susan and agree that code is unhealthy, although I’ve been taking interest in variable scoping with Python. As a hobby, I mean. But the stress of coding is history for me. It’s great to learn things that make one happy when possible.
@tony: I think the point of my piece is to learn the things you want to learn. I am not saying don’t learn anything, merely that you probably can’t learn everything, so figure out what you want to learn, what you like to learn, what will help you in your job and learn that.
I just find that a lot of people get fatigue from constantly having to learn, we all have phases where we aren’t as excited as others and I’m just trying to say it’s OK to be fatigued and that you don’t have to know it all.
I understand your point as I am doing the same thing. I’ve put a lot of “new things to learn” on hold so I can focus on front-end performance and how that relates to responsive design practices.
Yet I fear that in doing so I’m hindering my ability to be a rounded front-end developer and putting myself in a box of being the performance guy. Don’t get me wrong though, I love focusing on performance as it’s what’s interesting to me but that doesn’t mean I have to just learn that one thing.
Instead of focusing solely on one thing, just start with a focus on something and see where it leads. Often times looking at the big picture is daunting. Looking at the little pieces is far more manageable.
I designed and coded my first site in 1998. I’ve dealt with Netscape / IE before 6. Flash! Sound effects. Always everything mac vs pc. AWK! I even remember 640px width as the standard starting size for a site. I’ve felt like the last 16 years I’ve been standing on a train platform with that train not even slowing down.
Today it’s responsive sites. It’s SEO. And everyone wants a CMS system of some sort.
All I can say is the tools are better. The bandwidth is better. The browsers are better. And ya gotta pick your battles.
Great read! It’s one thing to try and keep current with the current framework-of-the-month and all of the new shibboleths of development, in an industry that’s constantly mutating. It’s quite another to focus on the things that really matter for your work at the moment.
There has to be a better way to grow one’s craft and career than the Red Queen hypothesis.
Great article; after having spent the last month *finally* getting round to developing a workflow with Git/SASS/Grunt/Bower (and some other tools), which reminded me why I stopped working 24/7, this resonates quite a bit.
It’s not a cop-out to stop doing one thing all the time, either; everyone needs balance. The moment I put a stop to that behaviour (a year or so ago after 8/9 years as a developer), I actually started to learn new things much more quickly.
Now, if I need to learn a new stack or something, I’ll put a couple of weeks burn into it and then step back. Find your balance!
Thank you for posting this! As an illustrator and designer who got hooked on learning to code some 7yrs ago, I was delighted to learn ALL i could, and I wanted really to learn it all: HTML, CSS, JS; PHP, and with the rise of HTML5 and CSS3 and WordPress, the raving popularity of jQuery, learning was made easy. But then – there is SASS, LESS, Angular.js, Node.js., Bootstrap, RoR, RWD, new Adobe versions, new Apple products versions, Mountain Lion, Yosemite, “oh you’re still using jQuery instead of pure JS”-movement, Chrome developer tools,new Firebug versions, SEO, Boilerplates, Normalizer,and many other -izers, testing on all platforms and devices, WordPress upgrades every few months… And as Tony above did comment “coders love to learn new things” – well I do, too, even if I’m not a “coder-coder”, but with a never-ending flow of upgrades, we all work with constant interruptions. It would be fantastic if it were only code to deal with,but when you have to update/upgrade every segment of the working environment, it’s distracting, and the next stage is – being overwhelmed.
I can absolutely relate to the sentiment in this article. Just in the last year, I’ve finally started to get my career headed back in the direction I want it to go. I feel the pull from many directions to learn the tools and languages that are most important to them. But I guess I’ve gotten old enough that I can think to myself, “Would I be happy doing a job where I had to do X all the time?” If the answer is no, then I don’t work on my X skills.
Instead, I’m trying to become an expert at the things I like to do, or things related to the things I like to do, so there will always be a place for me there.
Thank you for this. I thought I was the only one feeling this way.
I agree Susan. It made me think of @leonardteo and his post on RoR vs PHP: http://www.leonardteo.com/2012/07/ruby-on-rails-vs-php-the-good-the-bad/
This post gets a lot of traffic and I think it’s because it’s really instructive; developers are now under a lot of pressure to be “full-stack”, and I think this pressure will create a large group who are, as the song goes, “jack of all trades, master of none”.
My takeaway quote from Leo:
“The days of a single developer being able to ship a full application from start to finish are becoming more difficult. Even front-end can no longer be handled by a single hybrid designer/developer who can hack CSS + HTML markup.”
I’ve felt this way for years. I first noticed it when I was trying to decide whether I should learn jQuery, continue developing my YUI skills, MooTools, etc. Then wondering if I should learn Ruby, try to become a PHP master rather than a PHP hacker, etc.
There’s no real solution either. I guess the best way to proceed is to look at the kind of things you want to accomplish, then see what kind of tools will help you get there. And if you’re part of a team, there may be some negotiation involved to get everyone moving the same way.
But the thing that worries me is the question that I ask myself but I feel few front-end developers every ask: Why?
Too many times the answer is “It’s what everyone else is doing.” or “It’s popular”. Either way, it’s not the answer I need.
When I pick a tool, I am the one you is going to use it. Not the other way around. And that is what learning a craft is.
Thank you all so much for all your lovely comments.
Thanks Susan, it’s a great point. There is a great deal of pressure to learn new tools. It’s rarely pointed out that this time we spend delving into frameworks means time not spent on looking at what our users need, and therefore what we ourselves actually need in order to support that. And beyond that, as you say, we have lives outside the computer, we have families and other commitments that are little more important than the next website or app. So we have always to evaluate if the extra work of learning tools that we may or may not use, that may be obsolete in 1 or 2 years, if not months, is worth it.
I am a full stack developer, love to program (and am slowly learning to be patient with web design 😉 — and I completely disagree with Tony. There is nothing fun about frameworks. I want a toolset customized to my users’ and my own needs, not someone else’s, and certainly not some corporation’s idea of best practices.
The solution I found is to focus on fundamentals. Ember, SASS, angular, etc.. they are great but they reach their full potential once the systems they are based on are understood. It’s like in music.. A bad guitarist who plays a $3,200 Les Paul guitar will still suck. But put that same guitar in the hands of someone with great technique and understands music theory, it takes it to a whole new level. It’s the same with these frameworks. It’s all about the fundamentals.
I totally agree with your article and thank-you so much for writing it.
It amazes me how employers want people to be unicorns these days who can design, code front-end and back-end and make them all look amazing!
I think it’s important to stick to what you know and do it well which is what i believe you are getting at.
As a front end developer I need to be absorbed in css and html every day to get pixel perfect front end perfection based on the design. A little bit of jquery is enough to get some small interactions that i need.
However a designer needs to be able to create Photoshop comps that the user engages with and loves, they don’t need to code them. And an engineer needs to get the system to do what the end user wants, not what it looks like ( front-end).
I see front-end and back-end crossing over a lot nowadays and this can be really overwhelming and you do feel as though there are so many things to learn.
I’m sure engineers out there would feel the same about learning the latest front end code and how to design in Photoshop. As would designers trying to learn to code front end, and don’t even go there with back end for them..!
It’s not so much so much to learn…, it is the way the industry expects people to be all rounders which i totally disagree with because you cannot perfect what you do if you are a jack of all trades and a master of none.
Oh and i forgot photography, edms, video editing, media players the list goes on…..all things we front-end coders and designers dabble in…
Thank you for this article Susan.
It absolutely reflects my situation right at the moment. I’m glad to see, that I’m not alone feeling a bit overwhelmed by all those things to learn – or not!
It’s an interesting approach to learn just what you want to, but what if you really want to learn too much of this stuff?
I’m totally interested in everything connected to web-design & -development. But there is just not enough time to grasp it all. I think the trick is to figure out how deep you want to dig in which field of interest. And this is what I’m struggling with most of the time.
And it’s not just about code. Even content strategy, UX and visual design are dealing with interesting stuff that is worth to know. For me it’s hard to focus on one particular thing, while many other exciting issues pop up as I’m learning that one thing.
I agree with the sentiment. I love learning new techniques, whether I have my techy or arty hat on, but sometimes it’s overwhelming. I try to concentrate on what I’m good at, have a genuine interest in, and can deliver. I’m too old to stay up all night coding after a day’s work.
I like shiny new toys as much as anyone (I’m playing with Meteor at the moment) but the latest hot tech isn’t always appropriate. I remember working with a company who had embraced Rails because it was the new thing, but what they produced was terrible. Sure, they were Agile, writing DRY code and following the Rails ethos, but the product was unusable and didn’t meet the client requirements.
Thank you for your article, Susan. To me the takeaway is the need to prioritize what we invest valuable time and energy into learning in a constantly changing marketplace of new technologies competing for our limited attention. Your title makes it clear that you are speaking to those of us who do feel overwhelmed by the feeling (sometimes maybe even fear) that we have to learn every new thing that comes along. You provide an important compass to help us make those decisions: stay true to your own reasons and values as a creator and don’t feel compelled to slavishly chase every new trend. Like others who have responded, I reject the “real coder vs. designer-coder” binary as inaccurate and not particularly helpful in this (and many other) discussions of this nature. Your piece reminds me that the foundational principles of good design continue to serve us well after many, many years of use in a wide variety of media, and that ultimately it is the experience of our end users that decides if what we’ve created is effective or not. These two ideas are what helps me choose what new things to invest in learning. Thanks again for your great article; I’m definitely sharing it!
Reading this article and the comments brings me so much relief. I’ve felt so overwhelmed recently with all things web. Being the sole web developer in an agency, the pressure is on to know all things but it’s an impossible mission. Even looking at some of the recommended front end workflows out there makes me want to just give up, go home and hide under a duvet!
There’s the argument that learning these things helps you do your job more efficiently (hammer/nail gun example, #7) but trying to reach that point makes me feel like someone has given me the task of taking this magic ring that everyone wants and dropping it in a mythical volcano on the other side of the realm, and that’s just installing the pre-requisites!
I’d rather get better at what I do know and produce great design than having the latest hotness powering my site (something the end user will never see). It’s hard not to feel left behind but times, they are a-changin’ and we can’t do it all, nor be expected to. Usually a foundation of understanding is all you need so that you can communicate effectively with those in the know.
Thank you again for making me feel a little less alone, all of you.
Amen to that! I often feel the same way too.
This is so refreshing to read, I thought I was the only one. Yes, how does one keep going on like this? I believe we must focus in on our “specialty.” We must discover that passion and focus microscopically. If not, we sacrifice ourselves and we will fight this battle upstream relentlessly, tirelessly without moving forward. Thank you for your writing!
Excellent post. I can’t imagine how I would be able to keep up with the learning curve of web development if I had more demands on my time. I’ve bookmarked your reassuring thoughts as inspiration.
Finally! Somebody said it & blogged about it!! Just what I needed to hear today. Thank you Susan!
And there was me thinking that it was just me. I confess I’ve not even bothered keeping track of the number of potential tools that have come on to the scene in the last two or so years. If I come across one and can quickly see that it will be of use to me then I’ll figure out how to make use of it but everything else I’m letting fall by the wayside.
Being a web developer means you always have to keep up with the latest trends on the web. For quite some time, WordPress has been my tool for creating a website. Right now, I’m returning to coding, and I have to learn the latest style and frameworks in coding. It’s fun!
I think that you have a really good point here when you say that there are just so many languages to learn. This get’s more difficult if they assume you are able to memorize the code to get the job done. I just recently learned about Grunt, but the setup took longer then if I did the work by hand. The plus side is that I have a config file I can use next time. What I am getting at is that it is important to consider the what you actually get out of the new language from the time you put into it.
@scott I think that you are right when you say that web development can be exciting to learn especially learning new frameworks, but I think there needs to be a problem and a cause to use that framework first. At least this is how you are really going to learn and enjoy it. It is harder in my opinion to learn to code home alone then in a organization because you can only do so much.
In terms of finding new employment, I would find a place that is open to knew ideas, isn’t stuck in it’s own ways, and is willing to grow and consider new things. If the company recognizes you don’t know everything but assumes you can learn quickly and can think on your feet and is willing to hire you, congrats!
Got something to say?
We have turned off comments, but you can see what folks had to say before we did so.
More from ALA
Personalization Pyramid: A Framework for Designing with User Data
Mobile-First CSS: Is It Time for a Rethink?
Designers, (Re)define Success First
Breaking Out of the Box
How to Sell UX Research with Two Simple Questions