Posted: March 5, 2020 - and - Last updated: March 29, 2020

Written by: sheriffderek

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?” – which is a strange question – and renders my answer a bit off-topic – but I enjoyed thinking it over. As I wrote out my thoughts – it was clear that none of my bullet points had anything to do with “coding.” Here’s where I landed:

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 3 weeks’ worth of stuff. You’ll probably just hurt yourself.
    • Learning your native language took ~3 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 OK! It just takes some effort. It isn’t just 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)

An understanding of how The Web – works

  • I wont speak for you, but in my experience – most people have a very loose abstract ‘feeling’ about what the internet is. I ran into so much 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.

An eye for patterns

  • This means you can see commonalities across different concepts. An example might be that you see 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 things 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 – then consider sticking to the non-visual side of programming. Everyone has their strengths and weaknesses. I don’t think you need to be a graphic designer or anything too specific… but – a common understanding of basic visual considerations really streamlines the process.

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 not a complete “Learn to be a web developer” book. You’ll learn enough to be productive – and you’ll learn to be confident learning as you continue throughout your journey.
  • There’s a certain kind of conceptual hump – and not everyone can get there. I’m not sure how to describe that 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 and 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.

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.

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

  • Staying on task / knowing how to look up the right things – and when it’s time to research vs. get things done.
  • 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 3 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 – that you shouldn’t be reliant on some super system of secret commands and tool-chains. 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.

READ The Elements of User Experience

  • This book is necessary.
  • Forget about all the buzzwords and 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.

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 you have to work hard. But – also – (make sure that you keep a solid balance – if you get an onsite job = leave at 5 pm)

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 earth. If your boss tells you to do something that hurts people – or manipulate 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.