RSS
people

To be a good web developer

  1. Be a good programmer first. (Point 2 to 14)
  2. Understand the pointers, memory allocation and all those low level ‘outdated’ things. (Yes, even when you program in Java)
  3. Learn the sorting alogrithms – You probably never going to write one, as your language has a built-in function for the job. But, Do it and understand the time and space complexities of each.
  4. Remember the good old data structures like Linked Lists, Trees, HashMaps – even when the language provides abstractions for these.
  5. Learn to use Objects properly.
  6. Learn when not to use objects. Appreciate the fact that functional programming paradigm has its positives.
  7. Seriously – seriously – even when it feels insignificant – seriously – comment your code.
  8. Be comfortable with point 14.
  9. Never stop learning – learn from everyone.
  10. Be open minded. There is always a possibility of better solution.
  11. Use IDE. Vim and EMacs are geeky but little help while writing code does not harm anyone. Pick any – Netebeans, Eclipse…etc.
  12. Always keep a track of your code. Use a subversion system. (SVN/git)
  13. Be platform agnostic.
  14. Be comfortable with point 8.
  15. Learn HTML – it’s NOT a job below your standards. Afterall, whole point of your application is to output HTML.
  16. Understand symantics in markup. Even though you can make h1 look like p and p look like h1 – Do not do that.
  17. Learn to make h1 look like p and p look like h1. Yes, I am talking about CSS.
  18. Learn JavaScript, detect those memory leaks. Specially when you want to be a ‘backend’ developer.
  19. Seriously, its okay to pick one JS framework (jQuery, mootools, yui – whatever) and be good at it than to know little bit of every framework.
  20. Never forget the config files. Always read them. (httpd.conf, php.ini, redis.conf – everything)
  21. Think about optimization and caching – always. You do not implement optimizations later.
  22. Write a single deployment script. Deployment should mean pressing ‘enter’ once.
  23. Learn SQL. SQL is not only about select, insert, update, delete. Understand transactions, triggers, views – use them.
  24. Keep an eye for NoSQL. (Point 9)
  25. Use firebug on daily basis.
Note: These are my personal opinions and I will keep updating it, as I understand more and more things. Any suggestions is welcome.

5 Responses to “To be a good web developer”

  1. Ladke Says:

    Awesome compilation. Could not have written it better, and would have been forced to write it one day. :D

    [Reply]

  2. dipali Says:

    Nicely written article. It is applicable for developers at all levels from beginners to expert.

    [Reply]

  3. archana mandhare Says:

    A developer who has all the above mentioned programming skills can deliver work equal to a team of 10 average developers and designers in half the time that they would collectively take to complete a project. This would save time, resource, money and most importantly would provide a high quality product that would require minimal maintenance. The moral of the story is learn the basics guys!

    [Reply]

  4. Shib Says:

    Good ones… my additions…
    26. Performance – A good developer just doesn’t stop at implementing the functionality, but also thinks about hi-performance and scalability of the application (point 21 is invariably taken up after things start to break or get stressed).
    27. Use a bug-tracking/project management tool like Bugzilla or Redmine or Trac. Couple it tightly with your version control system (point 12).
    28. Security – Keep “security of the application” high on your priority. Use tools to do penetration testing.
    29. Understand your network and hardware setup – find out the capabilities of your load balancer (LB), your LB may be able to do SSL offloading, url based filtering and redirection and many things more. Learn (point 9) and ask your Operations guy about how the internet traffic will hit the app, what path/devices does it traverse through, if latency is added in the process, what ip address hit your app, etc. etc. Also learn about your hardware, the amount of CPU, Memory available that can be consumed and put restrictions accordingly.
    30. Monitoring – After deployment, Systems Operations team will need to monitor your app for smooth functioning. They will check the port the app is running on and need some urls which will check various components (db connection, data fetching, php execution, memcache, etc.) of your app and give out specific results; this will be used to set alerts. The response time of the app should also be monitored.

    [Reply]

  5. Abhishek Says:

    8. Be comfortable with point 14.
    14. Be comfortable with point 8.

    use of GOTO in the program is a strict nono. Multiple use of GOTO which leads to a never ending loop is heights. ;)

    [Reply]

Leave a Reply