Start a career in tech... Web Developer 101.
The world has evolved significantly since the advent of the internet and tech skills have become one of the most sought after things on any CV. With all organisations moving towards greater and greater tech relevance and reliance, now is the time to consider a career in a tech-based field.
However, it's easier said than done. Well that's not strictly true but you need to know where to start. So here's our guide to getting into Web Development.
Step 1 - Work out what you want to be.
There are three key types of web developer, each as key as the next for any successful business, but each requiring different skills.
1. Front End Developers.
2. Back End Developers.
As with Front End, Back End is kind of what is says on the tin. The Back End Dev deals with all parts of the functionality that defines what happens when the user interacts with the site. It's the nuts and bolts of the system. There are loads of languages in the back of site that developers can choose from, including: PHP, Python and Ruby, and there are tons of pros and cons for each around usability, flexibility and security, as well as frameworks and integrations that can make development easier. The back end development is more challenging than the front end, but if you can nail down one of these languages, you will position yourself really well to land a job, and potentially develop something for yourself.
3. Full Stack Developer.
It's a less intuitive job title, but it is the best of both worlds. A Full Stack Developer deals with all aspects of a site, and therefore is the one stop shop for clients for any project. Whether this is web or app development, a full stack developer is an extremely valuable asset for any organisation.
Any of these three options are great for starting a career in tech, but the simplest place to start is the front end, simply because of the level of understanding required and the relative simplicity of the languages. Once the front end is nailed down, it is then up to you whether you want to progress into a full stack career or simply focus on the front end skills.
Step 2. Decide to start.
It won't take a lifetime to learn the basics of coding, in fact, it'll only take months. But there is a lifetime of honing and evolution available to anyone willing to learn. The languages, especially in the back end, are constantly growing and evolving, so there's a huge amount of scope to build new skills. And with each language, there are certain levels of flexibility that give any keen coder the opportunity to innovate.
The first step is to learn some HTML and CSS. The principles of page layouts, colours, and basic functionality are relatively straightforward, and with the help of platforms such as Wordpress, you can begin to build a repertoire of experience for small clients without a huge amount of learning time.
People often assume that to be successful in a development career, you need to be the equivalent of a quant. This simply isn't the case. Yes, there is a some basic logic thats needed to work around problems and create processes, but that isn't that much of a stretch for most people. Design and critical thinking are the really key components of a career in tech. Similarly, a degree in computer science is not necessary either. In fact, a large of a computer science degree is associated with hard-core programming, the stuff you simply don't need for most of the web development that is going on in the world today.
Step 3. Pick where to learn.
There are a load of resources out there to support you through the learning process, some of which involve a high level of hand-holding, and some which are very much self-taught and individual. The choice between the two is very much dependent on your learning style, you available time, and your bank balance. So here are some of the options:
1. Coding Bootcamps
Bootcamps are a great way to learn if you have time and don't have other day time commitments. They typically run for 8-12 weeks and are in-person, intensive courses where you code all day with the support of teachers, every day. Although bootcamps are a fantastic way to leap into the world of code, there are some limitations, specifically around cost and commitment. If you happen to be one of the many people who are looking for a career change from an already established role, it can be a huge leap to quit your job to commit full time on a course for three months. What's more, these course can set you back a fair whack, and if you don't have the money to spare, it can be a bit daunting to take that risk.
2. Online tutorials.
These are a great way to start the process, they are flexible, comprehensive and often free. Youtube is a great asset for learning some aspects of code, especially in the front end. Beyond the free options, there are loads of providers that offer full courses, and even more reviews of said courses. So scour the internet for the format that suits you. Whether that's simple video formats, or more interactive courses through platforms, there is something for everyone, and it's a great jumping off point.
The disadvantages? a. It requires a lot of self-motivation and self-structuring. Many of us lead busy lives and it can be difficult to maintain the regularity of study required to really gain the skills required. b. There isn't a safety net. That's not to say there aren't a huge number of resources, but sometimes it's nice just to ask a teacher a question, and these methods often don't have the personal support structure people need to work around problems. Nobody likes to spend hours hammering away at a tricky concept just to hit a brick wall. But if that's the way you work, it's a great starting point. c. There's no certification. You don't get a pretty qualification at the end of it. Now, although that's not strictly true in all cases, they often don't come with the prowess of some of the more expensive and renowned courses. But then again, if you've got the skills, screw the paperwork.
3. Full online courses.
The next level of online instruction is a little more comprehensive, but obviously comes with price tag. These are instructor led online courses. For some people, these are the best of both worlds. The support of an instructor for any issues, but the flexibility of personal time. If you have the funds, online courses can be perfect, especially if you're working round a busy schedule. Not only this but there are often feedback sessions, and communities full of people at the same stage as you that can offer support and guidance through the learning journey.
Step 4. Get paid.
There is a reason developers are paid so well, and that is that everybody seems to need one these days. So, if you have the skills, you now need to make sure you're getting paid properly. There are some fairly significant market variations, and there is some heavy competition coming from developers in places like India and parts of Eastern Europe, but that doesn't mean there isn't good money to be made. In America, there are some of the highest salaries for developers, especially in hubs like Silicon Valley where skills such as these are in high demand. High competition, high reward.
Check out Glassdoor for some indications about what sort of pay you should be looking for, and if you choose to go down the freelancer route, you can get a real idea of price points through sites like Freelancer.com.
The first step with anything is to build a rep. For developers, this doesn't just mean writing a good CV and cover letter. Whilst you're learning, you have the chance to start building a portfolio, and you can start adding any little projects you do for your friends and family. That way, when you get to the job hunt, you have something to show for all the hours of learning you've put in. A really good way to present this portfolio is to build yourself a site so people can see what you've already built.. on a site... you actually built. Double win!
Finally, choose between employment and freelance. We all understand the implications of employment in terms of renumeration, security and stability, but with that comes a risk of repetitive work, lack of autonomy and rigid work hours. Of course, the freelance life isn't for everyone. It is great for choosing what projects you want to work on, and for giving you freedom in how you build your work life, but it comes with other responsibilities around accounting, scheduling and business development. So think hard before you become a one-man (or woman)-band. If you haven't built your reputation yet, it can be challenging to break in, and sometimes a solid stint and a tech company or a development agency can give you something to back up your offering.
In conclusion, first step is to learn that very first bit of HTML, and go from there. It's not a super quick process, but it won't take you nearly as long as you think to get from here to a successful career in development.