Skills that every web developer should have
Filed under CSS, JQuery, Javascript, My Life, Web
Hello www.
I am back with my second & useful post. There are wide range of skills that are available and constantly changing, being a good developer means staying on your toes and always learning to be the best one, and that is my favorite thing about web development.
Here is the list of few skills that are most important for being a good web developer. You may feel that this is focused on front-end skills. but they apply to all developers. I haven’t discussed here much about back-end skills because they are specific to language & platform. I will provide more details on back-end skills on my upcoming posts. But let’s talk about the general skills first.
- Regular Expressions :
Regular expressions are among the one from which I was scared most during early days of my carrier, but later I found that, Regular Expressions, a most powerful tool to manipulate string and data. They are found in scripting languages, editors, programming environments and specialized tools.
Regular expressions are used to parse strings, basically to find and replace bits of text. Versatility of regex makes it quite powerful tool.There are wide variety of methods for optimizing a regex string, which may lead to huge performance improvement to your app/system.Regular expressions can be used with just about any language, they work great with Javascript & PHP to name a few. They are also great with Apache rewrite rules for htaccess.Its surprising how few developers use regex considering how useful it is. So if you haven’t learned already than make sure to learn regular expression. - Javascript Library :
Even if you don’t write much javascript you should have basic knowledge of javascript library that can make too easier for you. Whether its JQuery, Mootools, or whatever. My personal choice go with JQuery. Writing native javascript code takes too much efforts & introduces many vulnerabilities in your system, on other hand using javascript library will cut your development time to less then half.
These libraries takes the cross browse dirty work out of javascript programming so you can stop checking features of browser and start animating. Also these library provides wide variety of options to access the nodes of DOM & provides the easy way to animate them. These library also has many plugins available and many are getting available daily to make your life easier. - Debugging Code:
A good debugger will make your web programming go so much quicker & easier. If we talk about front end then I specially like Firebug, which allows you to go through the elements of the page & analyze the styles & details about which stylesheet is being used. Using firebug you can also modify the styles of elements on fly, you can modify elements as well as page markups.Another useful thing about firebug is javascript debugging. Firebut helps with javascript debugging. providing a better analysis of javascript errors as well as console for running javscript on the fly.It also provides the NET panel through which we can see the loading time of various front end assets as well as anything that is 404′ing or otherwise not loading. We can also analyze the data being transmitted through GET/POST request. - Debugging View :
In order to obtain many visitors as possible. your website need to work with majority of browser (IE6, IE7, IE8 , FF2 , FF3, Safari 4, Opera 9). If you ask any designer then most of them hates to do cross-browser debugging, but the better you get the less you’ll have to do it. Most better technique to design cross browser website is to be preventative. starting with valid HTML and good reset style sheet. For your work you can go with this reset css. Beyond that it is useful to understand compatibility master table. - Layout with valid HTML/CSS (and no tables) :
Its not 2000, even a back end developer need to know how to write front end code with valid HTML & CSS – not with bunch of tables. The markup should be clean and valid according to its DOCTYPE. CSS of website should be separated from the HTML markup, it means that there should not be any inline styles.If you are beginner to front-end then you should learn various css tags and CSS Box Model.
Whenever you write HTML code it should be XHTML valid. it means that you should have properly nested nodes, closing tags, Image tag with necessary attributes and other basics. You can check XHTML validity of your HTML code by using W3C’s HTML Validator, it will show an errors if any on your page. Its really a good practice to fix all those errors shown by Validator. - Basic Performance Rules :
End user spents most of his time on the front-end. When end user opens the website, he gets tied up in downloading components of your page like images. css. javascript, flash etc. Performance of website can be improved in many ways, but most basic way to improve performance is reduce the number of HTTP request made by the browser to render the page.
There are techniques like CSS Sprites are available to reduce the number of image requests. Also using Content Delivery Network for the loading your javascript library can reduce the HTTP request time considerably. For more details you can see Yahoo’s Best Practices for Speeding Up Your Website. - Basic SEO :
A knowledge of basic SEO is essentially for any good web developer. You can leave work of research of keywords to your client. but developer should have basic knowledge of targeting those keywords on the web page. Web developer should use clean markup and should know the good use of <title>, <meta>, <h1> and <h2> tags on the front end. It is also very important to have solid & organized directory structure on back-end. Best resources I have found for learning basics of SEO is Beginners guide to Search Engine Optimization and Search Engine Ranking Factors - Payment Gateway Integration :
Obviously your clients wants go get paid for their investment. So as being a web developer you should have basic knowledge of payment gateways like Amazon, PayPal, Google, etc. Every payment gateways provides API to integrate your website with their gateway. Many payment gateway provides their own development kit that you can plug into your site, but you must have strong knowledge of any of the back-end language to handle the issues that arises during the integration. I will talk more on this in my later posts. - Apache rewrites :
Apache rewrites are very useful for converting your messy URLs and make them cleaner & easy to type. If you know regular expression then you can remove the ugly URLs like index.php?section=post§ion=comments&limit=10 and you can rewrite it as post/comments/10. Apache rewrites are not only useful for making clean urls but it can also be useful for converting simple page into complete app with a directory structure. Simply, rewrite all of your query strings to the directories and that’s it, you are all set. However be careful, apache rewrites are very hard to debug (I feel it personally). The rewrites can’t be traced because they don’t provide any debugging information. They are nightmare that can’t be tracked. - Version Control :
Last but not the least, every developer should know & use the verison control. Version control is not only only provides way to backup your files but it also provides smooth integration with other developers working on same project. Version control works by keeping track of the changes made in directory content. Using version control you can commit your changes to centralized server, or revert back to previous version.
I personally prefer SubVersion which is centralized, and I use it at my work place. You can also find distributed as opposed to centralized version control, since it provides two levels of version control. You can commit changes to your local repository and then push those changes to centralized server. Using it you can make small numbers of unstable changes to your local repository and then push final revision to your team. If you have large team working on same system then you should go with distributed version control. Mercurial provides distributed version control.
Did I leave anything important from above list? What you think for above items? They may not be in good order but is any item more or less important to you? Please post your valuable thoughts as a comments below.
-
Hussain Cutpiecewala | ehussain
Jul21











July 21, 2010 at 11:11 pm
Nice to know bout basic performance rule. Wanna know more bout reducing http requests. Also waiting 4 some tips to back-end developers.
July 21, 2010 at 11:17 pm
Hey Maulik, Thanks for your quick response & congrats for being first commenter to this post
I have already made list of such interesting topics to share.
I have also planned to have next post related to back-end part.
I’ll share them all one by one.
Thanks!
July 22, 2010 at 1:49 am
Good
July 22, 2010 at 8:29 am
Hey This Post is GREAT!
For some beginners who are beginning their journey towards the web this can be quiet useful since many of them do not know from where to start and just does what ever feels good to them rather then what is more important, so this can be a guide towards their interests.
Also for some who are just starting their career and want to make their mark this can be a really useful read. Some of these things are kind of they “should be” using it and most of them are kind of they “must be” using it. So, they can change their way of work based on this guidelines.
In summary, a great post for anyone. You Rocked with this…
One thing came in my mind was there may be some ways to accomplishment things. Many developers just like to make things work, no matter how. But you can also share your experience with them about how to make things work IN A PROPER WAY. I think this can also be a useful post in the beginning of their professional life.
Anyways, was an interesting and a resourceful post.
Thanks.
July 22, 2010 at 8:39 am
Hey Tanmay,
Thanks for your tremendous response. Yeah, even at beginning of my carrier I was facing the same problem “where to start and what to learn”, so thought came to my for sharing this post
Its correct that “making the things working in proper way” is very much preferable than ” just making the things work”, so its a very good topic to share. Thanks for it.
Again Thanks for your encouraging feedback
July 22, 2010 at 10:35 am
FireBug par thi Devang ni ek chillar yaad aavi gai je tene Jignesh Sir same kareli
“Sir, Te issue (OurSurat no ek UI issue) me pelu VANDA jevu aave ema pan check karelo..”
July 22, 2010 at 2:32 pm
Thank you for the nice blog, even if it took quite a long time to finish reading. (English is not my national tongue) Can I ask where you get your information from? Thankyou!
July 22, 2010 at 7:23 pm
Hi @Tyisha,
Thanks for your feedback.
I have collected information from various sources to build the improved one
July 23, 2010 at 12:26 am
nice bt To understand this to it’s require little more knwoledge ab web devl.
so if possible plz give us GUI code or put some exple.
so
July 23, 2010 at 12:35 am
ck this too
it’s all ab server config and network admin.
yes if possible plz provide some GUI CODE oR DEMO
July 23, 2010 at 2:44 pm
You got a really useful blog I have been here reading for about half an hour. I am a newbie and your post is valuable for me.
July 23, 2010 at 7:17 pm
Nice and a very helpful blog post
July 23, 2010 at 10:20 pm
This is a useful post about design. I’m a student just trying to learn more about web design and I really enjoyed your article. Keep up the great job!
July 23, 2010 at 10:51 pm
Thanks everyone for your appreciable response
I am preparing next blog post, you will have it soon.
July 24, 2010 at 10:54 am
Real good guidance for newbies and developers.
Keep the good work up…
July 24, 2010 at 4:05 pm
hey hussain cute piece.. nice job.. keep going man…
July 24, 2010 at 5:37 pm
we will be waiting for your next post