Frank Chimero was out of the loop for 3 years when it comes to developing websites. Coming back he was put off by the complexity of how things have gotten. Take layouting for example, where we went from tables to floats to flexbox to grid layout.
[With Grid Layout] I’m reminded of the table layouts I was doing in 1997. There’s a voice in the back of my head saying we’re stuck in a loop and it’s repeating. We’ve completed a lap on a cycle which will go around forever. Another approach for layout will come along five years from now, it will probably resemble floats, and not knowing how to clear a float will bite me in the ass for the second time in my career.
Yes, things do change, and they’re most of the time not getting any easier:
One argument says that continual change in methodology is rigorous and healthy. I agree. Keeping things in play helps us to more easily fix what’s wrong. It’d be terrible if nothing could ever change. But I also agree with the other argument: people only have so much patience. How many laps around the cycle can a person run? I’m on lap five now, and I can tell you that it is exhausting to engage with rehashed ideas from the past without feeling a tiny amount of prejudice against them.
I also started building for the web around the same time Frank started (1997) and must say I recognise a lot of what Frank is writing. Be sure to read the whole thing, worth your time.
I’ve learnt to accept this constant flux over time, yet some might find it more difficult to cope with. If you find that the relentless pace of change is taking you down (which it can), then always remember that you can go a long way with the solid foundations of plain HTML and basic CSS – without the need for any tooling or fancy framework. After all, all tools / framework eventually render to HTML/CSS/JS.
The professional programmer brings his or her full brain, experience and creativity to the job. When asked to develop a feature, the professional thinks about it: Are there gaps in what was asked for? Are there alternative and better solutions? Will it lead to later problems? And then the professional has conversations with the product owner based on the answers to these questions to determine exactly what the feature will look like when implemented.
In contrast, the amateur says, “OK, I’ll give you exactly what you asked for.” That’s easier. The amateur programmer doesn’t have to think about the work beyond the specification. Just code what was asked for.
For over 10 years, we didn’t have a handbook. In those 10 years, when a new person joined the company, they were expected to figure things out for themselves. But when we grew from a company of 10, 20, 30 employees to a company of over 50, our “introduction by immersion” style stopped working. New hires felt lost and isolated, and their first weeks or even months on the job were stressful because of it
Take the section Titles for programmers for example. With this, every employee in the company has the same definition for – and can distinguish – junior/senior/lead/principal programmers, and are talking about the very same thing. It’s very important to name things, and to define what exactly they are. Otherwise they’ll lead to confusion, misunderstanding, and eventually a grudge or the like.
Max Stoiber, on determining if you’re qualified or not for a specific (frontend) job listing:
I’ll tell you a secret: Nobody knows what the fuck they’re doing.
That’s just the nature of front-end development, it moves so fast that one day you’re on top of everything, the next day you’re years of learning behind. Don’t worry about it, pretend you know your shit and get on with it.
I’d tweak the end though … don’t “pretend to know your shit” – then you’re just scamming – but “be aware of the shit you don’t know, knowing that you’ll learn about it when needed”.
Also, when hiring, a company will (should!) most likely hire for attitude, not skills at that certain moment in time.
Jason Fried, CEO of Basecamp, in an interview, answering a question on how his workspace is set up:
I’m a one-computer guy—a 12″ MacBook, so I can work from anywhere. Years ago I used multiple monitors and had multiple computers. Then I jettisoned multiple computers but kept the multiple monitor setup. And a few years ago I tossed out the second monitor and have been a single computer, single screen person since then. I go full screen on nearly every app. I also hide my dock. I don’t want anything pulling my attention away. When I’m curious I’ll look. Otherwise, I’m looking at what I want, not what someone else might want me to see.
Protect your attention like you protect your friends, family, money, etc. It’s among the most valuable things you have.
Being a unitasker (1 window, maximized) myself (yet with two screens): yes!
In the last decade, I went from student to entrepreneur to freelancer to climbing the corporate ladder to blogger to teacher. Yes, that’s not a normal career path, and it’s also not what I ever expected. But life hardly turns out the way you expect. That’s because we’re only human. And humans make mistakes.
Great list of things one should be looking for (or be careful with) when it comes to building your career. The lists resonates with some previously linked posts.
Let’s start treating our careers as a lifelong experiment instead of a preordained slog. Find experiences that allow you to quickly test assumptions about your career interests. Every job, every experience, every place you travel, is a chance to learn something new about yourself, what interests you (and just as importantly what doesn’t), what you’re good at, what types of people you want to surround yourself with, and what type of impact you want to have on the world.
Early in my up-until-now career I’ve had four different jobs (albeit in the same sector) during the first three years. Yes, some people labelled me “a jobhopper” because of that. Though, if there’s one thing I learnt during those first few years it’s that fun beats money. My “best” employer up until then was employer #4, even though I took a salary cut when compared to employer #3. Fun beats money.
You can only thrive at your job if you like your job, independent of the salary you get (*). If you don’t like your job, or are stuck in your job, you must quit. Even if that means that you’ll earn a little less than before.
(*) However, do make sure that the earned salary reaches the threshold for supporting your normal daily life spendings, so that you don’t need to worry about financial things. That way you can thrive at home too.