By Matthew Wade
If you’re an able PC user looking to take the first step towards a programming or web career, read on as the Windows team explains what languages and skills you should learn...
|~|crack-code---MAIN.gif|~|Programmers usually begin by learning HTML basics, and don't necessarily need university-level qualifications, but rather the relevant skills.|~|Whether you’re a student trying to decide on the course to take at university, or an adult interested in changing career and heading into the web or software world, it’s important to understand the skills and qualifications that will stand you in the best stead moving forwards.
To get an up-to-date picture of what’s what, our team spoke to employers, trainers and programming professionals in order to bring you what we feel should be a valuable and current guide. What we’ll cover here is:
Becoming a web developer
Becoming a web designer
Becoming a software developer.
1. Web Designer
The web designer’s role is the least code-based of the three here, however some very basic coding knowledge can help the designer understand how a site works and so help them work better with their web colleagues.
Web designer is predominantly a creative job, in that the designer is responsible for arranging the various on-screen web page elements the user sees (text, banners, graphics etc.), including producing or editing the graphics themselves, and slotting these together to create an enticing yet useable site.
The web boss of our Windows Middle East web portal, itp.net, advises that all potential developers and web designers start with some grasp of HTML, a recommendation supported by Manoj Xavier, the chief technology manager of IT training company Executrain.
University or not?
As far as design training goes, web design degrees are still, in this region, nigh on impossible to track down. It’s all about an ‘eye for design’ so to speak and then having the requisite web savvy and, crucially, design software know-how.
“Web designing is totally independent of your background or degree,” Xavier claims . “No-one writes HTML today, as all the automatic tools are out there. It’s about inner design quality. Any software tool can be learnt. So it’s not really about what tools, it’s more about graphical skills. You have to understand colour combinations, shades etc., what fits together and what works. It’s not enough to copy and paste bits from the internet; a web designer is an artist that uses software packages.”
As far as improving your ‘eye for design’ goes, this is difficult to be taught, however to test your aptitude to this end it might be worth offering to do some free voluntary work at your town’s best web design agency (this writer for instance got his very first break in journalism via that route). Alternatively, if you are destined for university, consider a graphic design degree that features online or web elements (or at least potentially useable faculty links).
Aside from a grasp of basic HTML then, what are the packages the web designer should become a master of? Well, generally speaking, it’s largely an Adobe thing. Xavier of Executrain, Mazen Ilyas, CEO of the UAE’s award-winning web agency Cactimedia, and our own ITP guru advise considering the skills outlined in the box below.
In addition to design skills and package prowess, in the real world of web design business, a crucial additional skill is end user thinking, as Cactimedia’s Ilyas explains:
“Today on the web you can get lots of tools and help. It’s really about getting a design template and integrating this with the back-end programming. What’s key however is that web designers understand the importance of functional design. This is our focus – making websites that look good but work better.”
Adobe Photoshop (ESSENTIAL) – the default software design program used by almost every type of graphic or web designer.
Adobe Flash (RECOMMENDED) – a software tool for creating animated web graphics. Whilst Flash-filled websites are less popular these days, due to the user frustrations they can create, occasional graphics can really add flavour.
Adobe Dreamweaver (RECOMMENDED) – this easy-to-use page layout tool is used by some web designers, if they tend to put together a whole site themselves for instance, as a freelancer might do. However it’s not necessarily used by those working in agencies, who will just carry out their design duties using Photoshop and then let their web developers handle the layout side of things.
Adobe Fireworks/Illustrator (OPTIONAL) – for creating and optimising images (Fireworks being particularly web focussed).
Graphic design degree (OPTIONAL) – Possibly relevant but far from essential. Work experience and skills more valuable.
2. Web Developer
Less responsible for award-winning designs and more for making things literally ’work’ together, a web developer is the technical brains behind a site. They require coding skills and, in the cases of sites that are more than just an online shop front, also database know-how in order to link what the site visitor sees to a company’s data.
As far as a user with HTML knowledge and little other programming knowledge is concerned, the area of education advice is rather a hazy one. A Computer Science degree is the standard university-level qualification. Windows reader Connel Valentine explains, “Before I started my degree, I was fresh out of high school with some basic Visual Basic and SQL database skills. At degree level, you really just improve your basic concepts of programming. If you really want to head into programming, it’s then the courses that you study on the side that are crucial.”
Our in-house ITP guru, Mohammed Affan, concurs: “At the degree level , as far as web development goes, degrees often aren’t current enough and don’t keep up with current technologies too well. You’re mainly looking at Computer Science or Computer Information Systems degrees. You don’t necessarily have to have a Computer Science degree, but it can help in giving you a logical foundation. People often however complete programming courses on the side, or simply learn them on their own; that certainly seems the case with this market.”
“The main qualification of skill is a logical brain, which comes from your background education,” Executrain’s Xavier suggests. “And basically logic comes from maths. If you see a half open door, it’s also half closed – this is what I mean; thinking about solving a problem from all sides. If you learn and understand maths, your logic skills will improve. English must also be understood, as its characters are used in coding. Most of the best programmers, I’ve found, don’t always have a relevant degree. It’s their maths and physics background and aptitude. You don’t necessarily even need experience to get a job; companies often as not need fresh thinkers that can then pick up any package and learn it.”
As far as the language skills you’ll need at work right now are concerned, the parties in the industry we spoke to referred to open-source PHP most often as the key language to learn. However this is far from the end of the matter. Here are their respective thoughts:
Iilyas: “At Cactimedia we use five programming languages – in addition to Dreamweaver - with their usage depending on type of the type of pages being used and the type of data being pulled in to those pages (from databases). We use HTML just for static pages that only show the on-screen text included in the code. HTML can’t communicate with any company database. For code that can, we use PHP, which is Unix/Linux based but works on the Windows OS too, and ASP and ASP.net. We also of course use Java Server Pages (JSP)”
Affan: “A web developer needs to be familiar with Adobe Dreamweaver, although if working in an environment where everything is run on a local server, then you don’t need to see the page in this way. PHP and ASP are also key. Then there’s Java and its various variations, and in the future I believe Ruby is coming up, which might overtake the above two applications, is also coming up. This is potentially a stronger language and easier to work with, so it could be worth looking at.”
On the database side, SQL databases are the hot topic and need to be understood (obviously, in particular, how these relate and link to coded web pages). An open-source fan, due to its flexibility and free nature, Cactimedia’s Ilyas largely employs MySQL for instance.
HTML/PSP/ASP/ASP.net (ESSENTIAL) – These coding languages are the starting point for modern web developers.
Adobe Dreamweaver (ESSENTIAL) – The WYSIWYG tool of choice as far as web site construction is concerned.
SQL database knowledge (ESSENTIAL) – Knowledge of MySQL (the open-source variant), Microsoft’s SQL Server and Oracle Database are also crucial when it comes to pulling in filtered content onto dynamic web pages.
JSP (RECOMMENDED) – A simplified and quick way to create dynamic web content, JSP technology lets designers rapidly develop web-based applications that are server- and platform-independent.
SPEED – As Ilyas puts it, “A developer can write great code, but if it takes them three months it’s of little use.
CLARITY – Says Cactimedia’s CEO again, “We check a developer candidate’s past code and sites and examine how clean it is for certain site functions. Did he for instance go into 20 loops or use just 3 lines of code? How well the code is organised is also important, because if a programmer leaves and a client decides to add a new website feature, a new programmer must be able to understand the
At present skills are more important than relevant web development degree qualifications, of which there are none discernible in this region right now.
3. Software Developer
Arguably the purest form of programming work, software application development is a fast-growing industry in some parts of the world, with Jordan in this region currently the fastest growing market.
As per Xavier’s comments on the previous page about becoming a web developer, a potential employee needs to be logically brained and should start by trying their hand at basic programming, whether through a C++ course, learning HTML online, taking part in an evening study class and so on.
As Xavier suggests, the next step is to improve your essential logic skills by for instance studying some mathematics and physics courses, at school for example. He then suggests you simply don’t worry about getting a degree and instead get up to speed with the relevant programming languages.
“Once you’re comfortable with programming and your logic skills are good, as far as application developers are concerned, most work is done today on the .NET platform,” Xavier explains, “as well as Sun Microsystems’ J2EE platform which is on the web. I would say though that today, the application development market is 85% .NET.”
Three Microsoft application developer key qualifications are available:
* Microsoft Certified Application Developer (MCAD) is the first of the three available qualifications, though which students can choose either to be a desktop (Windows) or web application programmer. Based on .NET 1.1.
* Microsoft Certified Professional Developer (MCPD). This is similar to MCAD, but based on .NET version 2.0. As such it’s the MS qualification to start with as of now. Again either web or Windows app development can again be studied.
* Lastly, Microsoft Certified Solution Developer (MCSD) requires developers be proficient in desktop, web, solution architecture and enterprise app development (inc. COM+ and XML web services).
Some users will however no doubt want to head to university. Those interested in looking beyond the often theory-based Computer Science course of study, which covers programming basics but is not in truth designed to lead directly into a software development job, will find that some institutions in this region are now offering programming related degrees. Designed very much with the end job market in mind, one example is the American University of Dubai’s Bachelor of Information Technology (BIT) degree. This four-year course starts with a broad two-year study schedule that every student must follow, but then offers three specialisations that students must choose from, depending on their area of specific interest. One of these so-called ‘concentrations’ is named ‘Application development for commerce and industry’.
“Most of the degrees available in this region, such as Computer Science and Computer Engineering, by nature have to be more theoretical than being tool or application related. This means you a graduate can then still need some solid training afterwards," programme chair and assistant professor of information technology Dr. Khalid Khawaja explains. “With a typical Computer Science program for instance, you learn the theory of compilers, whereas we jump immediately into Linux and Windows operating systems.“
As far as gaining entrance to such a course is concerned, Khawaja puts it this way, backing up Xavier’s comments on students needing logic skills, “Providing someone qualifies to be admitted to university in terms of their school performance, the key really is some strength in basic math, especially binary logic. People who are strong in algebra, and linear algebra, tend to do really well.“
.NET framework (ESSENTIAL) – .NET technologies include C# (C sharp), VB.net, plus older ones like VB6 and VC++. A firm grasp of all is needed.
J2E (Java 2 Enterprise Edition) (ESSENTIAL) – Effectively the alternative to .NET when it comes to developing enterprise level applications. (Both approaches are covered for instance by American University in Dubai’s degree course.)
Java/C/C++ (RECOMMENDED) – Useful starting points when beginning in programming.
Degree in Computer Science (OPTIONAL) – Arguably too theory based to see its graduates walk straight into application development jobs, but will certainly provide a useful grounding in coding and languages.
Highly tailored programming related degrees (RECOMMENDED) – Degree programmes such as AuD’s BIT qualification and Worldwide Learn’s ‘Software Development’ degree – see www.worldwidelearn.com – are more the kind of degree course that might see you walk straight into a job, particularly if they include work placement activity.