Necessary to learn web development if my goal is being a software engineer?

Hi all, a newbie here.

Just signed up and saw the recommendation of “starting from the beginning”, but most of the courses are web development related (html, css, java script etc.). I’d like to ask if my goal is to be a software engineer, is it necessary to learn the web development courses?

A bit background of myself: I did loads of courses on DataCamp, am proficient in Python. Built some small projects in Python previously. But most of what I did was completely in Python.

I think I am going to start with “Data Analysis with Python Certification” on FreeCodeCamp (Seems I’ve done all those content on DataCamp, but I’ll give it a try). I am not sure if I should follow the recommendation of “start from the beginning”.

Any insights welcomed! Thanks


1 Like

the Python section doesn’t go as deep in data structures and algorithms as the JavaScript one, it considers those things already learned.

That said, if you are not interested in web dev, do not learn web dev

maybe the freeCodeCamp youtube channel has more itneresting stuff for you, there is much more variatey of languages in the tutorials there


@kennykenny.l You might want to focus on algorithms and data structures. If you used Javascript as your main language then the web would be involved since Javascript runs in the browser. You may find it interesting and anything you learn is time well spent.

1 Like

Hi @kennykenny.l, welcome to freeCodeCamp!

FreeCodeCamp’s curriculum is oriented primarily to web development, and with Python data-science. The primary reasons for this is the web is the accessible way to learn how to code, and still has a large demand in jobs that will continue to grow for the foreseeable future.

This doesn’t mean freeCodeCamp provides the only way to become a software engineer, but it does provide a path to become a web developer.

If what you want to do doesn’t include learning web development, you can always skip parts of the curriculum. There are still sections that are applicable regardless (like data structures, algorithms, and other sections) however the language used in these sections, JavaScript, is primarily the language of the web, which isn’t used much beyond that realm. As such spending time learning it just to learn these lessons might not be the best use of your time if you don’t plan on getting into web development at all.

I personally would advise you to “work backwards”. If you want to get a job as a software engineer, see the jobs in your area and see their requirements. Its possible they are looking for Python, or they are asking for completely different stuff. Its also possible what they ask for is way beyond what you have, or could have in any reasonable time, and it might be time to plan another path forward.

Its more up to you and what your goals are :slight_smile:

Good luck, keep learning, keep building!


“Software engineering” is a broad category that encompasses many fields, including web technologies. Currently, the freeCodeCamp curriculum is focused on that field. If you have some specific ideas about what type of software you would like to develop, and it does not feature JavaScript, then you may want to focus on other resources (possibly including the freeCodeCamp YouTube channel).

freeCodeCamp currently has some material for using Python for data science applications, but it does not teach Python.


I don’t think it’s uncommon for you to learn about HTML/CSS/JS as part of becoming a software engineer. It might not take up much of the total time spend but it’s still a good starting place.

Obviously, if you are already proficient in Python you don’t really need an introduction to the basics so it makes sense to skip the part of the curriculum that isn’t relevant to you. I still think having some basic knowledge of HTML/CSS/JS not to be unreasonable for a software engineer.


Many thanks indeed for all the advices.

Following @bradtaniguchi “work backwards” approach, I did some research on the job market. For the jobs that required Python often pair with a lot of other technologies, and like @lasjorg said, HTML/CSS/JavaScript are often on the required list.

After some further research, I came across with this article, which basically says the easiest is to learn web-dev first, then progress to software engineer, and then further to ML. I like this idea of getting oneself employable first, and make one step at a time instead of trying to achieve too much in one go (especially for a non tech outsider like me now).

I think I will change my objective for the time being, to try to be an employable web developer first. Again, many thanks to all of you!