Want to become a web developer in 2017, here’s a roadmap

L.S.M Kabweza Avatar

Choosing to become a web developer is one of the most rewarding career choices you will make in this age. If creating things using words and some maths is something you’d enjoy, that is.

Starting out however can be confusing and intimidating. Where do you start? What skills are most important? What’s the path to follow?

Clear answers to these questions are not easy to find, so a guy called Kamranahmedse has made it his job to simplify things. He has created a simple to understand chart showing the roadmap to becoming a web developer in 2017.

Here it is:

 

Front-end Roadmap

 

For the rest of the roadmap; the Back-end and DevOps, please check out kamranahmedse on GitHub.

We’re curious to know. How much does this help you navigate what to learn and how? Is there anything you strongly agree or disagree with in the roadmap?

Found this via a freeCodeCamp page. It’s a great learning resource that you could use to start on your way to becoming a web developer.

17 comments

  1. Dadza D

    Informative piece. For the backend, most shops are not yet full scale JS yet or don’t intend to go that way, so you may have to learn another language for backend like PHP, Python, Java, C# e.t.c. Then there is the full stack developer thing that’s trending. This means you are going to have to know both stacks, but specialization is important or you will be a jack of all trades, master of none

    1. tinonetic

      Before I say anything, even if there is no set formula, I love what this guy did because it gives devs a good view of possible career paths. Though it isn’t set on stone.

      TLDR; Being full stack is an on demand skill!

      While you cannot be Jack of all trades, ability to code across all layers (fullstack) is a skill that’s demanded on all modern dev jobs or opportunities(outside Zim, particularly… :-)…. ).
      ——————————
      Where I work, for example, we all have to know and support Angualar 2 applications, we have to be able to add functionality and patch our core Java based financial system, we integrate using C# for web services for our mobile & business apps (RESTful, SOAP) and TCP/IP, our UIs consist of legacy and modern MS technologies. We are all expected to learn particular skills across the entire stack.. We all have to apply DRY and SOLID Principles. All our logic has to be swappable & testable through DI and IoC patterns. A typical architecture meeting involves people throwing design pattern terminology that we were all forced to know.

      And it’s not that out of the world or overly ambitious. Google jobs in the an enterprise environment.

      There is a degree and limit. For example use of Angular, Bootstrap, third-party UI components make it possible for us(backend-type guys) to produce something that looks and functions well without necessarily having the necessary UX skills. When necessary we do sub-contract UX design and send our Graphics design work to our internal designer. This is mostly for our public facing applications, though we never get away with a poor UX for our internal ones.

      None of our code is passed without UNIT tests, we have a semi-DevOps inclination with continuous integration & delivery (build & integration server).

      For languages,I would not advise PHP IF you are gearing towards being employed and earning alot. But definitely Java and C# are more mature with a lot of systems needing enhancements and support. C# gives you access to the MS stack through it’s framework that allows for RAD, especially with the VS IDE. C# is loved by corporates and enterprises because of TTM from concept to first version. Java is rooted in the backend. Many financial systems are driven by Java. Java devs have, relatively, higher salaries than C# devs. Python is also well-paying and on demand and has frameworks that also allow for RAD, but there are not as many enterprise systems as there are in Java & C#.

      Now if you’re talking about your own start-up or you steering the technology decisions based on skill and the target environment, you are free to go wild with what you know, love and have mastered… Like I use PHP, it’s frameworks and MySQL/Postgre as my DB choice for my “personal work”. PHP is super-awesome! I use Bootstrap and Angular 2. Going opensource also protects me from possible conflicts with the work I am doing.

      At the end of the day, you can write a bad program in ANY language….just as well can you write a good one in any language.

      Good luck to all!

      1. tinonetic

        Excuse my grammar, by the way.

        Also need to mention that there’s no need to be intimidated.

        Start somewhere, do something. You will grow from there.

        There is also no need focusing on things that won’t give you value. Like focusing on Java, when there is no possible client or employer that is looking for it.

        Just make sure that wherever you are, in whatever language, on whichever stack, you apply modern principles and practices in developing your solutions. Even if it were a WordPress module or Joomla component or a Symphony or Zend Framework application. Apply those principles! You will grow. You will be rewarded.

        Lots of opportunity in dev!

      2. Dadza D

        Although full stack devs are in full demand, being a full stack dev is only practical in the JS world in my own opinion. There have been debates about this for a while. You mentioned 4 languages: 1. Java 2. C# 3. PHP 4. Angular 2(which is basically JS/TypeScript). The problem with attempting to know 4 languages is you end up being a cowboy in all of them. You mention a lot of good things like unit tests, design patterns e.t.c which is good. But I don’t think a person who dables accross languages/stacks can stand toe to toe with a person who specializes. Companies are trying to save money by demanding full stack skills, but in reality, a full stack dev is a myth. I agree that skills and concepts can be carried across languages.

        You say PHP, won’t make you money outside Zim. I don’t agree with that. In the enterprise, you are right, because C# and Java dominate there but you will be surprised how many PHP shops there are in Zim, even in other countries as well.

        1. tinonetic

          I’m not debating it. It is what we do at work and what the market demands. You view it as an impossible task, yet it is exactly what we do, not just where I work. Every enterprise environment that supports disparate systems!

          You have echoed what I said about PHP.

          Knowledge of patterns and implementing unit tests are a must do, whether you are doing it as a hobby or as an employee. It is best practice to cover as much of your code as you can. It makes software easier to maintain and you can catch bugs long before you hit production.

          If you view full stack as a burden, you will view it as dabbling. It is more important that you can apply sound design and development principle in whatever environment you are thrown in.

          1. Dadza D

            I don’t deny that’s what you do either, i.e full stack development. I just believe you are able to do it because you are doing mostly maintenance development. If it were greenfields development, I don’t think you would be able to do what you are doing now.

            We have different, opposing viewson full stack development. Maybe TZ can pick this topic and write a few articles on it

  2. Blessmore

    The heading attracted me to this article,can you please expand and simplify the article for some who may not be familiar with all the terminology.I recently started on JavaScript and have found the going a bit tough…

    1. L.S.M Kabweza

      Essentially the roadmap, the full one which is here, explains the choices you have.

      You can become one of 2 things: what is called a front-end developer, or a back-end developer. You can check Wikipedia for a detailed explanation for both.

      The roadmap goes on to list the skills you need to learn to advance your career to becoming either of those 2. To start learning the skills, you can do so in order of the listing. E.g. start with HTML, then CSS then Javascript etc…

      To get learning material a quick way is to google each skill using such words as “introduction to *skill*”. So to learn HTML, got to google and search for “Introduction to HTML”. Do the same for each skill listed as you go

      Some great learning places online to start learning these skills which we’ve found useful are: freeCodeCamp and Treehouse.

      Is this easier to understand?

      1. Blessmore

        Many thanks , will utilise the resources indicated for further info

  3. Sagitarr

    This article is very helpful and easily understood by those already in the field but can be confusing to those who are starting … but starting from where?

    I think a prerequisite qualification is necessary but not absolutely essential. NB the amount of reading as well as technical complexity increases from 4 to 1 below.

    My suggestion below is based on actual working experience spanning 25 years in ICT-
    1. Full SW development theory – enrol for a BSc/BTech degree preferably in SW Eng. If this is not possible, go to 2.
    2, Enrol in a College for a Dip or Adv Dip in Systems Analysis/Design or Computer Science, if this is not possible go to 3.
    3. Enrol in a College for a Certificate in Computer Programming or else go to 4.
    4. Enrol in a City & Guilds Certificate & or Diploma course in MicroComputer Technology.
    In my experience, SW development is much easier when the theoretical concepts are clear because coding becomes much easier and moving from one language to another will be a less steep learning curve. It is toughest (not impossible) when you have none of the above because you will be trying to read & understand theory and immediately apply these. Last but not least, cutting code is an art where passion and constant learning are intrinsic. Excellent developers can be found in any of the 4 categories above.

  4. peterc

    Sorry, missed it

  5. peterc

    How can one sign into this website cause now I can’t delete my misleading comment? Is there no WP plugin/setting for this?

    1. L.S.M Kabweza

      First time someone’s requesting that capability. we’ll watch how many more people need this.
      Removed your comment.

  6. good starting pace maybe

    This may help for starters: https://www.w3schools.com/

  7. AfricanTechnocrat

    Great article guys. I would just like to disagree with the first comment in that Developers should look for a backend technology other than Javascript. Guys, we’re in Africa! As much as other backend technologies like PHP and ASP.NET are great, Javascript gives African developers the ability to produce much faster client-side application as well as Offline applications be they web or mobile based.

    In Africa, internet coverage and data are still a major challenge to users, if developers can focus on technologies that allow them to roll out technologies which are kinder to consumers on the African continent then I think that’s where out focus should be.

    LinkedIn runs on a Nodejs backend, you should only start to think of java and python for your backend when your application starts getting 100 million users.

    1. Dadza D

      I think you misunderstood me. I was saying if you are looking for a job, then don’t expect to find many companies running a JS backend. JS is ok, many companies and startups use it in the backend.
      Your comment on Linkedin is a bit misleading, yes they do run NodeJS, but they use a lot of technologies in their backend like Scala and Play e.t.c

  8. Dadza D

    I think you misunderstood me. I was saying if you are looking for a job, then don’t expect to find many companies running a JS backend. JS is ok, many companies and startups use it in the backend.

    Your comment on Linkedin is a bit misleading, yes they do run NodeJS, but they use a lot of technologies in their backend like Scala and Play e.t.c

2023 © Techzim All rights reserved. Hosted By Cloud Unboxed