Let's be friends

Posted: March 5, 2020 / Last updated: June 1, 2024

Someone recently asked this question on a question and answer website called Quora. They later changed their question to “What is the right way to be a good web developer?” – It’s a strange question and renders my answer a bit off-topic, but I enjoyed thinking it over. As I wrote out my thoughts, it became clear that none of my bullet points had anything to do with “coding.” Here’s where I landed:

~ Derek

Here's the list!

Note that it’s mostly about character.

  1. Reasonable expectations

    Learning new things takes time and patience. Even if you really, really want it, you can’t just stay up all night and learn three weeks’ worth of material. You’ll probably just hurt yourself.

    Learning your native language took about three years, and you had people helping you 24/7.

    Programming is hard because you decided it was easy. It’s not. Nothing is very easy. That’s okay! It just takes some effort. It isn’t like sending a text message and getting a “like.” It’s going to take some time and effort, but it’ll also be really fun if you let it.

  2. An understanding of how The Web works

    I won’t speak for you, but in my experience, most people have a very loose, abstract feeling about what the internet is. I ran into a lot of frustration when I was learning application frameworks because I didn’t really understand the basics of HTTP at that time.

    HTTP, basic web documents, some history, and a clear understanding of the medium will help you a lot more than you think as you build your mental models.

  3. An eye for patterns

    This means you can see commonalities across different concepts. An example might be noticing how a bicycle handle works similarly to a car steering wheel. You might even want to know how and why they work. Humans behave in patterns. There are many user interface patterns, and the more you recognize these, the more you’ll have to build on.

    This also applies to visual patterns. On one hand, you have the syntax of actual code, but visual design is also important. If you don’t have any opinion or understanding of basic spacing and padding, consider sticking to the non-visual side of programming. Everyone has their strengths and weaknesses. You don’t need to be a graphic designer or anything too specific, but a common understanding of basic visual considerations really streamlines the process.

  4. A love of problem-solving / love of learning (be excited!!!)

    You can learn a lot of the tools and scenarios, but in the end, you will be creating new things. You’ll need to discover how to create them yourself. Just like an architect, you can’t just go to the manual. You are a designer, and you’ll need to enjoy figuring out how to make your design work without directions.

    You’re going to be learning forever. There is no complete “Learn to be a Web Developer” book. You’ll learn enough to be productive, and you’ll learn to be confident in your ability to continue learning throughout your journey.

    There’s a certain kind of conceptual hump, and not everyone can get there. I’m not sure how to describe it yet. It’s a mindset, and if you can do it, then you can do it. If you can’t, then it’s best to be honest with yourself. You’ll find out very quickly. Don’t just try to brute force it. Don’t move on until it clicks, or choose a different path. There are many jobs that don’t require this style of thinking.

  5. The ability to work well with others

    I’m not saying you have to be the most social person in the room, but if you can’t explain your decisions and you don’t like to talk to other people ever, I don’t want you on my team. Working together can be really fun. Let it be.

  6. You need to be able to manage your time and your workflow

    Staying on task and knowing when to research versus getting things done is crucial.

    You have to be able to type. Seriously. You’ll be typing a lot. (Note: When you aren’t typing, put your hands in your lap or in the air. Don’t rest them on the keyboard and mouse—your body will thank you.)

    You can be the best programmer in the world, but if it takes you three minutes to find your file in a huge mess, and you have 100+ tabs open, then you are going to be slow. That also means you shouldn’t rely on some super system of secret commands and toolchains. If I throw your computer in the lake, you should be able to get a new one and get to work without a week of setup.

  7. You like to read !

    This book is necessary.

    The Elements of User Experience

    Forget about all the buzzwords, nicknames, and roles. This book explains how to design and build things for the web. Do it all yourself or build a team, but try to ignore all the nonsense in the industry. How it should really work is all explained right here.

    But beyond that, you’ll be reading a lot more code than you’ll actually be writing, and you’ll also be reading a lot of documentation. So, if you “don’t like reading,” then you don’t like being a programmer.

  8. Work ethic and genuine interest in building things for The Web

    If you don’t like being a web developer and you’re doing it because you heard it makes a lot of money, you’re going to hate it—and we’re going to hate working with you.

    You have to enjoy it and work hard. But also, make sure you keep a solid balance. If you get an onsite job, leave at 5 pm.

  9. Honesty – and responsibility

    If you are a web developer, you are a designer. You are responsible for the things you put into this world and how they affect the earth and the life on it. If your boss tells you to do something that hurts people, manipulates them, or is just plain stupid, it’s your job to say no. It’s your job to hold the line and ensure that what you put out there is good.

    Design for the Real World should be mandatory reading for all designers and Ruined by Design is key to anyone designing in the web-space right now.

    We shape our world. Do a good job.

Are these the sort of traits you have? Do you enjoy problem-solving?

Does this stuff sound like something you could spend your days learning – and after that spend a part of your life practicing day-to-day? If so, our course – Design for The Web, might be right up your alley.

Let's be friends