The Silk In The Web

The face of the Web has changed over the past few years. If you remember what most Web pages were like a few years ago, you’ll vouch for that. They’re getting more complex, they’re prettier, and they’re more functional, too. Of course, we’re generalising, but take just one example: what was Amazon.com like some years ago, and what is it today? In case you’re too young to remember, trust us, it was very different-and limited in comparison, in terms of just what we’ve mentioned: complexity, prettiness, functionality, and more.

Many new Web sites offer online services like word processing, spreadsheets, and image editing, which we normally do on our Desktops. In fact, that is one of the elements that go into the making of what we call Web 2.0-Web sites offering applications that have the functionality of Desktop applications.

The Web programmer is playing an increasingly sophisticated role.

Hard Code
Web programming is different from Web designing. The latter focuses on the look and feel of the site, while Web programming has to do with the functioning of the Web site as a whole. But somewhere or the other, the work of the Web designer does overlap with that of the Web programmer: they may use the same product for creating a page, or similarly edit the code to impart a better look and feel to a page.

A Snapshot Of The Field
Programming for Web sites involves both Web authoring software such as Adobe Dreamweaver, and programming languages such as C, C , Visual C , etc. Code for Web sites is written for performing specific functions such as searches, access to databases, and any processing of text, graphics, animation, and other audio-visual content for the user.

Programming for Web sites can be classified as basic or core programming, visual programming, and programming with database systems. Specific languages are used for specific purposes.

Server-side programming refers to creating code that executes on the servers which send out Web pages. On the server side, programming results in Web server software that responds to requests sent by the (client-side) browser by sending out information. For example, on banking and financial services sites, the code responsible for granting the user access to a credit card statement is server-side code.

On the other hand, client-side programming consists of scripts that are designed to enable user interaction in the Web browser. Client-side programming includes verifying user data, making graphics dynamic, and making navigation easy. Actions performed within the browser, such as the pressing of buttons or filling forms, are responded to by sending a request for information to the Web server and displaying the received data. Client-side programming is responsible for all such behaviour of the browser.

Good mathematics education at the school level, and an emphasis on computer science concepts rather than solely on programming languages, are necessary to meet the demands of a trained, quality workforce”
Sudipto Majumdar, CTO, Zapak.com

“Different markup and scripting languages are used for server-side and client-side programming. One has to choose which side one wants to master, right from the beginning,” says Amit Shah, software engineer with Directi Group, which offers mass-market Web products and services. Shah’s advice is the starting point for anyone looking to Web programming as a career option.

HTML-HyperText Markup Language-forms the base platform to define the layout and structure of a Web document. HTML is complemented by various languages-PHP (Hypertext Preprocessor), ASP (Active Server Pages), XML (eXtensible Markup Language), and more.

With PHP, for example, it is possible to create levels of security against malicious attacks. Using ASP can make Web pages dynamically editable.

Languages
Scripting languages are relatively simple programming languages that are used to create scripts that, when inserted into a Web page, control various elements of the page, such as the user interface, styles, and HTML markup. The scripting language interprets requests for HTML documents and objects embedded in the HTML.

PHP and ASP are some of the widely-used scripting languages. They can result in a code base as much as ten times smaller for the solution for a problem (as compared to a “regular” programming language), which increases the programmer’s productivity by reducing the number of bugs in the code. 

Scripting languages are of two types-client-side and server-side. Client-side scripting refers to the use of scripting languages such as JavaScript to automate applications that are executed on the client side (within the user’s browser). Server-side scripting involves executing scripts on the Web server before any data is passed on to the browser.

Server-side Or Client-side?
A person good at networking and with a ready hand on hardware and Web protocols is best suited for server-side programming. Individuals with good knowledge of databases and servers can opt to learn languages like Perl and Python for writing code for the Web server to perform object-oriented functions such as e-mail processing, advanced content management systems, general-purpose templates, and more.

The Language

Base platforms for Web
page development
     HTML, XML, PHP, ASP
Basic Programming  C, C , PHP, Java, Perl, Python
Visual Programming  Visual C , Visual Basic, Java, ASP.NET, Java Server Pages (JSP), AJAX
(Asynchronous JavaScript and XML)
Database System SQL (Structure Query Language), MySQL,
Oracle, MSSQL (Microsoft Structural Query Language)


Perl (Practical Extraction and Reporting Language) is widely used for writing programs for Web servers involving tasks such as generating reports, database synchronisation, auto-updating of user accounts, etc. Python is used for writing basic CGI (Common Gateway Interface) scripts, advanced content management systems, Web application frameworks, processing e-mail and RSS feeds, etc.

Those who wish to be in client-side programming need excellent knowledge of browser technology, operating systems, Internet protocols and such, with the ability to format content received from the Web server in the best possible manner.

The third option-that of working with databases-can be taken up by those from a database background. For more on careers in database, refer to Digit, April 2007.

The Tools Of The Trade
An education with a specialisation in computer science increases the chances of selection for a Web programming job. Students with an engineering, IT, or mathematics background are considered the best fit for Web programming by the industry. Graduates and post-graduates having majored in computer science (BE / ME in computer science), or those with a degree (BSc / MSc) in mathematics or statistics enjoy preference over candidates from other backgrounds.

“The industry prefers BE candidates with experience in development languages, and those with a diploma from reputed computer institutes with a good academic background. Also, candidates from a science background with computing or mathematics as a major subject are also given preference,” says Harish Sukhwal, CEO, Hashtech Systems Pvt Ltd, which offers Web services including hosting, business process outsourcing, and security solutions.

Sukhwal also says that the skill set of a good programmer in today’s context should ideally be one of the following:
PHP MySQL XML
ASP MSSQL XML
ASP.NET MSSQL XML AJAX
JSP Oracle JavaBeans
Candidates from other disciplines such as mechanical engineering, electrical engineering, chemical engineering, and others streams are also recruited, though.

“Information technology as a part of the curriculum for varied disciplines, such as commerce and arts, will ensure professionals are better prepared for the challenges of online business,” says Venki Nishtala, CTO, Rediff.com.

The perfect destinations to get equipped with the tools of the trade are universities and colleges approved by the All India Council of Technical Education (AICTE).

There are also private institutes that offer a number of short-term or one-year courses, which can be pursued for an additional qualification. They provide education and training in specific products (such as Dreamweaver, Fireworks, and FrontPage) and the syntax of languages like HTML, PHP, ASP, and Java, to name a few.

The quality of education at a private institute, however, depends upon the teaching faculty, and is not standardised. One should assess the quality of education and placement credibility before enrolling in a private institution.

A decent demand for Web programmers lies in the Web portals industry, which by and large works in sync with educational institutions for the development of up-to-date computer labs for education in accordance with industry requirements, and for offering internships to students.

 Web Resources

 Language  Sites
HTML   www.htmlhelp.com,www.htmlgoodies.com,www.pageresource.com
PHP  www.php.net, www.phpbuilder.com, www.php-resources.org, www.scripts.com, www.phpfreaks.com
ASP & ASP.NET  www.asp.net, www.worldofasp.net
Java, JSP  java.sun.com/javascript/, www.javascriptworld.com, www.javascript.com
XML  www.xml.org, www.topxml.com, www.xmlinfo.com, www.xmlpitstop.com
Perl  www.perl.org, www.perlmonks.org, www.theperlreview.com, www.perlcast.com
Python  www.python.org
All languages  www.w3c.org, www.w3schools.com, www.webdeveloper.com,
    www.programmersheaven.com, www.opendeveloper.org


“The biggest challenge faced by programmers is obsolescence of their skill sets. The best bet is to invest time and effort in understanding the fundamental protocols and concepts well. Once this is done, any new programming framework or language can be very easily picked up, since vendors may change the syntax of programming, but they still need to fit it within the fundamental protocols, which never change,” says Sudipto Majumdar, CTO, Zapak.com, a leading Indian gaming portal.


Adding to the demand for Web programmers is the advent of mobile phones that support browsing. There is a need for trained and skilled people who can build sites for the mobile platform”

Lincoln Gada, CTO Hungama.com

Recruitment
Web portals recruit programmers on a large basis for research and development on their sites. A good programmer is expected to possess networking and hardware knowledge-knowledge of servers, routers, VPNs, and such. A blend of excellent software skills and decent hardware knowledge is a winning recipe for a fresher.

“On the software and programming skills front, logic is more important than any coding language. Programmers should select a language and upgrade themselves in that area instead of learning several languages and then become a jack of all trades. A good Web programmer should also understand the business logic behind Web site development,” says Sukhwal.

Training
Training on the work process and development parameters is imparted by the organisation itself. “Depending upon the individual, training on networking concepts, Web protocol concepts, programming language training, database designing and conceptualisation, and Web site architectural concepts are imparted,” informs Majumdar.

The training period is usually between one and six months. During this period, the fresh employee is placed under a senior programmer.

Levels And Remuneration
Promotions and appraisals depend more upon the performance and individual contribution in a project as compared to experience in the field. The figures mentioned here are only indicative.

Level 1: At the entry level, most of the Web programming activity is done by Junior Programmers and Senior Programmers.

Junior Programmers / Software Engineers: They need to understand their assigned modules, and code and develop applications for particular modules of the broader Web site architecture.

Senior Programmers / Engineers: They are responsible for framing the site architecture and develop the different Web page applications and functions. The modular functionality of the site programmed by the junior programmers are tested, debugged, and then approved by them.

Level 2: A certain amount of management capacity is demanded of a senior programmer advancing to this level.

Team Leader: He assesses the needs of the team and designates work to the team members. His job also involves some programming along with testing and validation of the prototypes prepared by his team. The team leader helps junior and senior programmers to understand the architecture and functionality of the project.

Assistant Project Manager: This designation carries with it the tracking of the progress of the project, documenting progress reports, and passing on these to the project leader. They give project briefs to team leaders and maintain the project documentation.

Level 3: After reaching the top level, one can decide upon whether one wishes to be more on the technological or management side. This level is composed of the Project Managers and the Solution Architects.

Project Managers: Getting business, maintaining the design protocol standards of the organisation, interacting with clients for details about their requirements, and demonstration of prototypes to clients form the major part of their work profile.

Solution Architects: They focus on the architectural aspect of the site development projects. Solutions for adoption of particular products or software platforms for Web development are designed by these individuals.

Experience Required-And Remuneration

 Designation Salary per annum
(Rs in lakhs)
Relevant Experience
(years)
 Junior Programmer  0.6 – 2.4  2 – 3
 Senior Programmer  2.4 – 4.8  3 – 5
 Team Leader  5 – 10  5 – 7
 Asst. Project Manager  10 – 14  7 – 8
 Project Lead/Manager  15 – 25  8 – 12
 Solution Architect  15 and above  8 – 15

 


A Closing Note
“The sky is the limit for good Web programmers, because slowly all programming is migrating from the traditional client / server model or Desktop-based programs to Web-based programming. With Web 2.0 picking up fast, AJAX programmers are in demand,” says Majumdar.

Web programming is an exciting career for those who can learn programming quickly and also feel the itch to make a better Web site when they see a poorly-made one. Learning the languages comes first; implementing that learning can be financially rewarding-and fun as well!

Team Digit

Team Digit

Team Digit is made up of some of the most experienced and geekiest technology editors in India! View Full Profile

Digit.in
Logo
Digit.in
Logo