Click here to Skip to main content
15,890,982 members
Articles / Web Development

10 Questions Web Developers Must Ask Themselves Everyday.

Rate me:
Please Sign up or sign in to vote.
4.78/5 (6 votes)
7 Nov 2014CPOL6 min read 12.6K   4   2
Here is a list of 10 questions that web developers must ask themselves everyday

file6581268573240

So you want to become a web developer?

Well then, it’s time to put down that “Learn Super Duper Language v8.3 in 24 hours” book. Instead, make it a habit to ask yourself these 10 questions every day.

Is There A Pattern Here?

Looking for patterns in what works and what doesn’t work leads to discovering the underlying principles that drive seemingly unrelated concepts and behaviours. To get a deeper understanding of the work that you do, make it a habit of asking yourself “Is there a pattern here?”.

This applies to more than just your code. Is there a pattern in the types of changes requested by business? Is there a pattern in the way technologies evolve? Are you seeing the same types of bugs popping up again and again?

To understand is to perceive patterns
- Isaiah Berlin

How Can I Make This Simpler?

Often as web developers, we want to produce complex and scalable solutions. Making something tremendously complex makes you feel like the master of your universe. The problem is that you will never be able to predict how your product and business is going to change in the future.

“Architecture” and coding is much more like gardening than architecture. You need to be able to adapt to an ever changing environment. The more complex your solution, the more difficult this becomes.

Simplicity is the ultimate sophistication.
- Leonardo da Vinci

Why Does It Work Like That?

Knowing that something works and knowing why it works that way are two very different things. If you know why something behaves the way it does, you are able to make significantly better decisions.

The difference between a great coder and somebody who knows a programming language is the depth of understanding that comes from understanding why.

The same principle applies when fixing an issue. “Just restart the service.” “Have you tried rebooting it?” We have all said something along those lines when a problem pops up. Every time you say something like that, you lose a golden opportunity to learn.

Understanding why something broke allows you to fix the root cause and eliminate this class of issues permanently. At the very least, you won’t make the same mistake again.

Has Somebody Done This Before?

Whenever you find yourself inventing a complex algorithm, you are probably on the wrong track. Unless you are busy researching a PHD thesis, chances are extremely good that somebody else has already solved this problem.

Need to write an algorithm to add a label to the item closest to a users' mouse? Have a look at Voronoi Tesselations. Want to find the shortest path for a delivery truck? Look at Dijkstra. Want to find tags similar to the one the user just entered, how about figuring out it’s Levenschtein distance.

Those are just a few examples but trust me, they are everywhere.

If I have seen further it is by standing on ye sholders of Giants.
- Isaac Newton

Who Said It First?

So you think you know REST, right?

Have you read Roy Fielding’s original paper describing REST and do you understand its intended purpose? That blog post by that guy who has 5 minutes more experience than you using the REST API generation wizard in Super cool IDE v7 doesn’t count.

Do yourself a favour and always try read the original source of a concept or theory. Then by all means, go read the latest developments by industry thought leaders but if you don’t know where they started, how can you follow where they are going?

Do I Love What I’m Doing?

Let's face it, programming is hard.

Besides being hard, programming is constantly evolving. The state of the art framework from 2 years ago is a clunky dinosaur by today's standards. To stay at the top of your game, you will need to commit to a lifelong process of learning and research.

If you don’t love what you are doing, you don’t have a hope in hell of keeping up with the guys who do. So find out what kind of coding gets you fired up. Don’t decide to become a security specialist because there is a gap in the market or because it pays well, don’t become a UX expert just because an article just came out in WIRED saying that UX is the hottest job in tech.

I’ll say it again, do what you love.

Do what you love and the necessary resources will follow.
- Peter McWilliams

Where Else Could I Use This?

One of the biggest limits I see web developers placing on themselves is a failure of imagination.

If we learn something in a specific context or see a technique used to solve a specific problem, we assume that’s the only place it applies. This is almost always wrong. Every time you learn something new, ask yourself: “Where else could I use this?”

Found great new positioning methods to place nodes on a graph, how about applying that same technique to find interesting data points in a dataset that has 2 dimensions? Found a cool way to send data over websockets from the client to the server? How would this apply in making a scalable set of backend services? Sometimes you will be wrong, but sometimes you will be right.

Which brings us to our next question…

Logic will get you from A to Z; imagination will get you everywhere.
- Albert Einstein

What Did I Fail At Today?

One of the easiest ways to increase innovation is to lower the cost of failure.

The game developing company Valve has embraced this like few others. The same applies to your progression along the path to becoming a web developer, if you are afraid to fail, you will never make those big breakthroughs.

Be brave, try something, fail, learn and try again.

Do not fear mistakes. You will know failure. Continue to reach out.
- Benjamin Franklin

How Can We Make This Possible?

In the world we live in, there really is very little that is impossible (with a few exceptions).

Start from the assumption that whatever you want to do is possible and then work your way back. You might find that what you wanted to do is impractical for the time being but with the pace of change in todays world, it might become practical sooner than you think.

It always seems impossible until it's done.
- Nelson Mandela

Who Can I Learn From?

You should never work anywhere where you are the smartest person in the room.

Pick jobs and companies where you can work with people who inspire you and challenge you to be better. It doesn’t have to be coding related, there is a world outside your text editor and the command line. Learn things from other fields and find ways to apply it in your job.

Being competent isn’t good enough anymore.

What questions do you ask yourself that make you better at what you do?

Update: I did a follow up post adding 5 more questions, check it out here.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Architect Allan Gray
South Africa South Africa
Since I was young I always preferred teaching myself to learning from a structured syllabus.

This didn’t always make me popular with my teachers. I guess sleeping through the whole of Romeo and Juliet in an English class doesn’t make a great impression. On the other hand I formed an obsession with always researching something.

Over the years these obsessions would jump from topic to topic ranging from physics to lean manufacturing. Photography to functional programming. Cognition to physiology and strength training. Kitesurfing to fire poi. My obsessions may be random but are always led by my curiosity.

Over time I noticed that I was forming connections and finding patterns in unrelated fields and using knowledge I gained from studying the rudiments of things like cognitive psychology when trying to figure out why I was seeing certain behaviours in the teams I was working in.

I'm interested in communicating those underlying principles and connections in a way that is useful to others.

I have been working as a programmer, architect and manager for the last 12 years so there is a strong bias to helping junior programmers and software development teams improve.

I focus on underlying principles and not technologies.

Comments and Discussions

 
GeneralMy vote of 4 Pin
Santosh K. Tripathi11-Nov-14 21:59
professionalSantosh K. Tripathi11-Nov-14 21:59 
Questiongood article Pin
mohamed ali ahmed10-Nov-14 10:19
mohamed ali ahmed10-Nov-14 10:19 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.