10 Signs That You Are An Awesome Web Developer
So you know how to make a website or two. But are you worthy enough to be called an awesome web developer? Here are 10 positive signs that you are.
1. You use a framework
Even if you are a rockstar programmer, a web development framework makes a lot of sense. It gives you a collection of good practices and libraries that let you concentrate on your web app, instead of reinventing the wheel. As a bonus, you get things like templating, pretty URLs, session management, ORM, testing facilities and more for free. A framework leads to easier to manage code and minimizes the chances for security issues to arise, so you probably should use one. See a huge list of frameworks here.
2. You use version control
Version control systems allow you to keep track of every change that you've made to your code, to compare, branch and work collaboratively without stepping on your team members' toes. Git is the most popular system with web developers today and it is easy to get started with - you can turn your project folder into a repository with a single init command. Experienced web developers make full use of git's advanced abilities, but so can you - every IDE offers integration with it these days, so even if you don't know the commands there is a lot that you can do with git.
3. You reuse code
Reinventing the wheel and the NIH syndrome are big issues for programmers. You might have spent a day coding, feeling incredibly productive, only to discover that a 30 second Google search would have revealed a library that does exactly what you need. A positive trait of awesome developers is that they use their language's package managers to search for libraries that they can use before solving the problems themselves. Every language has an online repository that makes things easy to find - PHP's Packagist, Node's NPM, Ruby's Gems and more. The same issues apply to reusing one's own code. Extracting common functionality as libraries can save you time in the long run.
4. You write tests
You should never trust that your code is bug free only because everything works when you refresh the browser tab. Things can break in subtle and unforeseen ways. Awesome web developers know that automated testing is the only way to be certain that their apps work and continue to work after every code change. Testing takes many complimentary forms. Your framework likely has built-in facilities for constructing and running tests. There are also tools like seleinum which you can use to simulate how a user would interact with your site.
5. You take security seriously
CSRF, SQL injection attacks, XSS, session fixation, MITM attacks are only some of the hot topics that a security minded developer should be aware of. Luckily, your framework's authors have to worry about these issues, but it is important that you know what the threats are and how to mitigate them. Here is a video tutorial series to get you started.
6. You document your code
Experienced developers know that code is written once, but read many times. This is why they try to make their code as easy as possible to understand by naming their variables and functions descriptively, and by leaving plenty of comments. Every language has conventions for writing doc blocks - descriptions that appear before every class or method. They describe the parameters expected by the method, and can be picked up by an IDE and shown contextually, or by a program that turns these comments into HTML documentation.
Other developers even take the time and write down the architecture of their apps and the technical decisions behind it in a wiki or another document. Such documentation is very valuable in a team setting, where new developers can join at any time. Even if you don't go all the way and write documentation, making it a habit to leave comments in your code will still win you the awesome badge.
7. You can set up a web server from scratch
Basic administration skills can go a long way if you are a web developer. After all, every site that you create needs to be run on a properly configured web server. Knowing how things work will help you debug problems, set up your development environment, and to save on hosting bills by running your own server. Another place where such skills can be handy is in setting up a deployment strategy. Uploading stuff via ftp is prone to error as well as insecure. Here is a nice collection of guides to get you started with system administration.
8. You keep track of new libraries and tools
Web development is an extremely dynamic part of the software industry. Every year there are major new libraries, automation tools, build systems, css frameworks and preprocessors, and even languages that compile down to JavaScript. Awesome web developers are able to keep up with what is new, and are open to change. But they don't adopt every new tool or framework they come across. They know that their time is valuable and treat everything they learn as an investment. A library should have an active and enthusiastic community, good documentation and clear benefits over the old way of doing things before they consider it seriously. Our twitter feed is a great place to learn about what's new in web dev.
9. You manage your time efficiently
Everybody knows what it is like to waste hours in front of your computer, doing everything except working on the things you are supposed to. Awesome web developers don't have this problem. They are able to plan a week in advance, break down large tasks into smaller ones, and start working first thing in the morning. They start with the easy things and move on to harder problems while picking up speed. They know where they work best - some are more productive from home, others from the office, and third from coffee shops or other public places. Here are some time management tips.
10. You know how to stay healthy
Although it is in the lifestyle category, staying healthy has everything to do with your productivity as a programmer. We spend most of our days sitting and staring at computer screens half a meter away. This can lead to everything from chronic back and neck pain, eye problems, weight gain and more. It is not difficult to prevent these problems - taking breaks, going for a midday walk, doing the 7 minute workout in the evenings and getting plenty of sleep can have a good energizing effect on your mind.
That's 10! What's your sign for an awesome developer?
Bootstrap Studio
The revolutionary web design tool for creating responsive websites and apps.
Learn more
I'm down 9. and 10. haha nice article though. :)
8 of 10 not bad :) Now to fix points 4. + 5.
i agree with you.
Maybe know agile management like Scrum and XP too.
Not be interested by only one technology, and keep track on competition (php vs asp, mac vs microsoft...)
cool article ^^
"10. You know how to stay healthy"
Hmm, I've already passed that phase, now I can say: "You know how to not get crazy".
Btw, nice article as always Martin!
Good points. I'd also add:
Apart from being very helpful in overall development it also simplifies the communication in the team (assuming that the other developers also know Design Patterns :) )
I play rugby.
I still have to figure out if it's a good way to stay healthy!
yes i wanna be a awesome developer
Wow, so im awesome :D
Nice man :)
great article!
Additional to #10. Get a good office chair. Seriously!
Well, very good article,useful.. My problem is always,I have no time for anything..I go to sleep at 3 - 4 am because finishing work at 6pm.. Dammmmmn.. :D
Nice article, I believe this is what every developer should. I'm in the right direction, I need to work more on the 10th sign.
Nice article & well said Martin :)
Don't forget about the point of sharing the knowledge - doesn't mean much if you keep all the info hidden from the outside world where there are people always learning how to improve their work ... Tutorialzine is a great example of sharing tips
10/10, i am awesome, good way to wake up in the morning.
Awsome as usual Martin!
nice article martin, i love point 9 and 10.
yes, not only An Awesome Web Developer,but also be a Professional programmer.
These are definitely good, except for number 1. I would argue that if you are an awesome web developer you shouldn't need to rely on a framework, unless of course you develop that framework yourself.
Using a framework is like using a pre-built WordPress theme and modifying it. Yeah, it works, but it doesn't make you awesome.
Nice article, thanks Martin !!!
Thanks Martin for this wonderful article.
Very nice!
I really like this article. I am a Web Designer/Interactive Designer and I really enjoy your tutorials and articles. I need a lot of work getting to this point, although this is more for web developers, I'm sort of in between as I like to work with programming code and I design. Love your site. Keep it up!
add extra two points: