With an increasing number of companies looking to remain competitive in the web space, web developers are in high demand.
CBR spoke with Tamar Bercovici, engineering manager at Box who is responsible for a team of back-end web developers who work on database infrastructure, and Matthew Revell, technical evangelist at Couchbase who makes database software and helps to feedback what web developers want from Couchbase software.
Their combined expertise has provided sound advice for anyone looking to venture into a career in web development.
What the job entails
Web developers can go down one of two routes: front end development or back end development.
Front end developers work on building the experience that user is having in browser itself.
"A while ago that role was almost similar to a web designer, but now it’s more about building full applications inside the web browser," says Revell.
"Front end web developers very often work with the designer who comes up with look and feel [of the website] and the developer would implement that look and feel when creating the applications."
Back end developers build the systems that the front end interacts with by building the infrastructure and basis on which everything is built.
"We [at Box] push code every single day [to maintain the database], so as a developer you try to take whatever processes your working on and break that up into a smaller chunk and that is merged into a shared version of Box that we are planning to deploy. That goes through testing and then the next day it is deployed to the live website," says Bercovici.
Skills required
Hard skills
– Coding – At the minimum, developers need to be able to work in HTML, CSS and Javascript.
– Specific coding languages – Look to specialise in something like Ruby, C++, Erlang or PHP.
"What you want is experience with any type of coding language and it doesn’t matter which one because ultimately they’re all trying to do the same thing: take an abstract set of instructions and be able to define them for the computer to run. Languages often have similar constructs and there’s a bit of a learning curve, but generally you’re able to translate your understanding of how to write code between languages," says Bercovici.
– Know a web development framework – Know how to implement the framework for your chosen language, eg: Ruby On Rails, or Spring or Play for Java. "Choose a framework because that gives you all the best practice, experience and shortcuts that other web developers have put together and you can build your stuff on top of that."
– Server knowledge – know how to administrate a web server and how to avoid breaking it!
Soft skills
– User testing – according to Revell, this is a discipline that sets apart good web developers from excellent web developers. Listening to what the people who are using the system say, not just the customer.
– Clear communication skills – must be able to collaborate and cooperate within a wider web team.
– Being able to bargain with corporate IT departments – must be able to argue your case for your development being worthy!
– Having an eye for design – must be able to instinctively know whether something looks right or wrong.
Experience required
Lots of self directed learning – demonstrate you understand the tools you’re using and the full web stack and all the components of website creation.
Portfolio – you can start off by creating a website for a local company and build your reputation from there as well as getting involved in open source projects.
Revell recommends getting involved in open source development. "Find a project on GitHub that you like, learn it and contribute to it and then you can point to your contributions. A lot of developers will look at your GitHub profile to work out who you are as a developer, so don’t leave that empty."
Career progression
If you decide to go in-house as a developer with a company like Box, you can go down with the engineering route to specialise in certain areas and drive certain projects, or like Bercovici, you can go down the management track to take responsibility for a team of engineers within a department.
If you are freelance, or looking to move to different projects, Revell advises to speciailise in something you can charge more for. At the backend, you could become an expert in NoSQL databases, or at the front end, you could become the go-to person for jQuery development.
Beyond the web developer role, you could potentially move on to become an IT director or a CTO if you wanted to take a more managerial route with your career.
Salary range
According to totaljobs.com, junior web developers start on an average of £25,000 but can progress to a senior developer role with the potential of earning up to £52,500.