Advice to a New Web Developer
Recently, I had a freshman college student email me and ask me a bunch of questions about how to get into the Web Development field and what languages/skills he needed to know. I thought it would make an excellent blog topic so here it goes:
1. What specific skills/languages should a web developer know proficiently?
HTML and CSS are musts, however one has to know the different versions of each and what browser supports what versions of the languages. HTML5/CSS3 is the future, however – not ever browser supports them (IE8 for example, which is still the most used web browser) – so one needs to know how to make the website work across all browsers and know some of the ‘old ways’ of doing things.
Java, ASP.NET, Flash are also great to know – but not something needed for someone just starting out.
One has to remember that the web is constantly changing. What is popular one minute (Flash back 5 years ago) can die out the next (Flash not good for Mobile, Apple stops supporting it = no more Flash). Thus I believe its a good strategy to know how to program well and get good fundamentals regardless of the language. The language is just syntax – good coding and design skills is what really matters.
There are tons of avenues to Web Development too – there is Development, Design, SEO (Search Engine Optimization), Mobile Web Development, Social Media, Web Usability, Business Strategy, Email Marketing, etc – all things that a web developer should know about. One can also specialize in any of these areas too . . . again, the web is constantly changing – if you decide to make it a career – its one where you will constantly have to keep up to date with.
2. When you as a company hire, what abilities do you look for in candidates?
I’m a one person company, however I have worked on large teams and have hired people for those positions. For me, I would take a candidate that is willing to learn and has passion for what they do over someone more experienced and is ‘stuck in a rut’. I just find that a lot of developers fall into a rut after a few years and don’t push themselves as much as they should, and in this field – if you stand still – you’ll get left behind.
3. Is this market shifting? What would an upcoming developer need to prepare himself for?
Its always shifting, and always will be shifting. Right now – its all about the Mobile Market – making sure webpages can be viewed on all mobile phones and tablets. To a secondary degree, App development is also big right now. Ecommerce and Portal development is still big, and there will always be a market for general use websites to market products or services. Most of my business right now is small sites for local businesses that want to market their services. I tend to use WordPress for these sites because of its ease of use, cheep costs, and flexibility – I can typically set up a site in a day or two and have it integrated with Social Media, sign up forms, etc. . .
This is a big change over the past five years when I use to do everything from scratch, and even the simplest sites took weeks/months to develop.
A good web developer has to remember that the goal of a site is usually to make the client money. Thus you have to understand the current mindset of the user that your trying to attract, and make sure your developing to the products that the customer is using. You also have to know what ‘options’ that you have at your disposal to attract clients to the website (Social Media, etc) – and you also need to know how to do all this while keeping development costs down for your boss/client.
Basically – any five year old can design a website nowadays. It takes a trained professional though to make it work and attract clients/customers.
4. Are there certain languages/ practices that are becoming dated? Or phasing out?
I would say that Flash is the one thing that is fading out. It was huge back about 5 years ago – but the blow up of the mobile market and the advancement of HTML5 has made it obsolete. I think it will eventually come back, but maybe as a 3-D rendering platform.
I’m also not a huge fan of the Microsoft Specific platforms/Langages such as ASP.net and SharePoint. I just find that the open source languages (PhP, Java) will eventually win out as they don’t tie you down to one specific platform – giving companies more options for their web platforms long-term. Just my own personal opinion though.
5. Do you have any tips for establishing a portfolio?
I would get yourself your own site to showcase your work. From there – just see if anyone in your circle of friends/family/etc need websites made. Even if you do them for free – its something you can add to your portfolio. Even though I’ve been doing Web Development for 10+ years, I still do some free sites for local charities as a way to promote myself and add portfolio items. Its also a great thing to do in general.
While at your college, you might also check with departments to see if they need help maintaining their own department pages. Colleges always need to change information on their site during the school year, and most don’t have the proper staff to do all that stuff – any help they can get would probably be appreciated.
6. Is it common for a web design company to use freelancers?
Yes and No – depends on the company. Every major business that I have been with though has done some form of outsourcing for certain jobs – even if we had an on-site development team. India and China are really taking over the outsourcing market though, offering dirt cheep prices – however, based on my experience, the quality of the end product is poor and most companies spend more on fixing a bad outsource job than if they went with a local developer or stuck with their in-house team.
As a “freelancer” myself now – I make a decent living – however a good chunk of my time is actually marketing myself and dealing with the business administration side of things than in coding/development.
7. Is the “freelance” market flooded? Or is it hard/easy to find skilled developers?
There will always be a market for good freelancers. Its like anything else – if you offer high quality work – you’ll be in demand. If you suck – well – your going to find it hard to find business. The hardest part of being a freelancer is marketing yourself. It takes years to get your name out there, and just one bad review or pissed off client can erase all that hard work that you put into building your brand. Reputation is everything. . .
Again, India offers dirt cheep development prices – far lower than what I can charge (and live on) – however – my clients choose me because they can easily communicate with me, and know that I do quality work. I also believe that communication between a freelancer and client is extremely important – my job is not just to be a developer, but to also educate and help my clients achieve their business goals. If I know of something that they don’t know about that would improve their marketability – its my job to give them those options and educate them about it. Most of my clients don’t know much about SEO, Mobile Web Development and Usability – its my job to at least let them know all the pros and cons of those things so that they can then make an educated business decision when it comes to their web marketing strategy.
8. What sort of skills makes a web designer more marketable or valuable than just the ability to write “front-end” code?
Also, its a good thing to know a little about everything. Know what SEO is and how to do the basics of optimizing a site for search engines. Know the basics of usability, such as where is best to put certain items and where NOT to put certain items. Know the most common things that piss off most web users (banner adds, self-playing audio, hard to use navigation).
I don’t think a web-developer can make it as a freelancer with just knowing front-end code. There is just too many graphic designers turned web developers out there that know basic HTML/CSS and can make beautiful sites. However, beauty isn’t what makes a good site – knowing how to get customers and generate sales is typically what makes a good site.
9. What other classes/ specific skill sets would you recommend in conjunction with web design?
General software engineering classes. C++ or Java would give you a good foundation for coding. I would also take some graphic design classes to get a good knowledge of Photoshop, Illustrator, etc. Unfortunately, most colleges (at least around here) don’t offer courses on SEO, Social Media and Web Usability – you’ll have to pick up that stuff on your own.
10. If you could have avoided or done something differently in your studies, what would that be?
Hmm . . . I guess I would have paid more attention in class, done more of my homework, etc. . . . but overall – not much. Studies will only take you so far – there is a big difference between doing something in school (in a perfect setting) and then getting out in industry where you have other factors (internal politics) that can effect your site design, etc.
11. Is the job market strong in the web development field? Is there a different focus that is more practical?
If its something that you like doing – then do it – don’t worry so much about the $$ and the job market. If you’re good – then you’ll find something. . . . Web Development is something that redefines itself, so your job description will have to change as you go. The job market has always been decent for techies, so long as they keep up with the technology.
If you want to specialize in something (a particular language, or something like Social Media Marketing) then that’s great – you can typically make more money as a specialist than as a jack of all trades – however – if that speciality dies out – then you are limited in where you can go. . . Flash is a good example.
Five years ago – a Flash Specialist could make 80-120,000 depending on experience, and there was a high demand for them. Now, if you just know Flash – your screwed, as its a platform/language that is losing favorability due to the blow up of the mobile market. While I know Flash and ActionScript, I was never a specialist – so I made less money, but I found it easier to get different jobs because of my versatility
12. Any other tips/ advice I welcome whole heartedly. Thank you so much for your time.
Don’t be afraid to experiment and try new things, thats how you learn things.