FCC Curriculum question and advice needed

FCC curriculum seems to focus on html and css as a start to coding. I believe that’s because it’s easier to grasp and initiate new coders into CS. I’m just curious, though, if that is really the reason, or if FCC is more geared to helping people become Front End Developers?

I’m not particularly fond of web page development, however I personally benefit from following things through to completion. I tend to jump around too much and learn nothing.

Is there any advice that you can give to help me settle into the grind a little better? Thanks!

freeCodeCamp is primarily focused on teaching web development, which is why we start with HTML and CSS, though much of the information in our JavaScript Algorithms and Data Structures section is widely applicable to more general coding.

1 Like

Yeah, web dev. It makes sense to me to teach front-end first - it’s a lot more interesting to build some each web pages than to try to build some services. On some level, I think the foundation of web dev is building a web page - that’s where you start.

1 Like

Hmmm,

That helps.

I’m certain learning front-end development can’t hurt; in fact it will help me know more certainly about the CS area that I would like to exist in-- I don’t have a lot of practical experience or familiarity with the field. However, would it be wiser for me to focus on a language- like python- for a start, or would it be more expedient to follow through with FCC curriculum?

@kevinSmith

Thanks for that! Do you mean a web service vs building web pages? Or just any sort of program vs web pages?

I actually find the process of developing web pages a little more gruesome-- especially in light of options like wix or similar. I do know the reality with those, though, is that your presentation is a lot less unique and not tailored to one’s brand as well. I just can’t ever see myself in a dedicated position to need more web development tools than what those services offer :sweat_smile:

I think basic web development skills will be very usefull for every developer. I suggest you stick to the program, I have almost finished the fcc program. Used the skills I learned from every step of the curriculum.

1 Like

Sure. I think that if we started out with “learn a bunch a JS and then build a service that will return some JSON” then I think people would be more likely to get bored and quit. When people come onto the site, they want to build a web page and learning some basic HTML and CSS is a much easier way to get them building something they can see - they can do that a lot faster than following the backend route.

As to education/career advice, it’s not clear what you want to do. So I take it you aren’t going to get a CS degree? In my opinion, it is hard to get any computer job. Without a degree, it is harder. If you don’t have a degree, web dev is easier. Of the two, frontend is easier than backend, at least for the first job. But that’s just me.

So, if your plan is to do web dev - then I recommend learning all of FCC - you never know what you’re going to end up doing and even if you end up on backend, knowing some frontend is good.

If you mean that you don’t care about web dev at all, then there’s no point in learning most of the HTML and CSS. You could learn the JS algorithm stuff, maybe the API and microservices, and of course the Python stuff. But FCC is not geared towards non-web-deb stuff so it’s not going to be the complete picture.

1 Like

That response was perfect!

This current season of life doesn’t lend itself to me getting a degree just yet, so I was looking into free online options. Your response also validated the need to get a degree- though I was hoping that I could develop solid, demonstrable, skills without one.

I am uncertain to my direction, but I have studied html and css so much up to this point already and I don’t really feel a strong connection with the work (which may ultimately be irrelevant in determining the job :sweat_smile:)

I know the topic has shifted slightly, but do you have any good resources for helping one pinpoint an area of CS to focus on?

There are a few reasons why FCC focuses on web development at the start of the curriculum.

  1. It’s easier to build for, as there are multiple tools to help learn it and use it. So the barrier to get started is the lowest, as the web browser is the main tool you need, and most devices have access to such. This lowers costs to develop freeCodeCamp itself, and makes it easier for people to get started. This is in comparison to learning say Java, which requires a full JVM environment and probably requires a ton of advance back-end or local development setup just to get started.
  2. The job market for web development is still hot enough it’s worth getting into. The web has slowly turned into an application delivery platform. As such there is demand for developers who can create those apps for that platform. I don’t see this changing anytime soon due to the increase usage of the web for any number of applications. It is true sites like wix cut out some jobs, but that isn’t where the majority of jobs and work is for web development.
  3. Even if you dont get much deeper into the curriculum and quit, you get valuable knowledge on how the basics of the web works. This is way more useful to the average person than some abstract CS knowledge.

Think of yourself as “the programmer” in a business that needs an application to do X, Y, Z. Think of some random requirements for X, Y, Z. Odds are you can do whatever you thought of using web technologies. Obviously there are situations where you wouldn’t want to use the web, but there are a massive number of use-cases where you’d use the web as your platform. It works on multiple platforms, has a massive ecosystem of tools to help develop what you want, requires just 1 application installed on all computers (a browser), can act as an interface to anything, anywhere for anything.

Its to the point you can use web technologies “outside of the web”. From technologies like React native, where you can build cross platform mobile apps using web technologies, to nodejs, where you can build back-end applications using JavaScript.

Just understand “web development” is a wide field, and only part of it is front-end web development. FCC starts with it, but doesn’t only focus on that area. It also skips over large areas of development in favor of teaching you wants accessible and easy to do. Something like setting up your own local development environment isn’t taught, but is important if your serious about development.

Data structures and Algorithms. You’ll hear this a lot, but its true.
https://teachyourselfcs.com/#algorithms

There also some challenges for JS in the “take home projects” part of FCC near the bottom of the curriculum. I recommend doing those once your familiar with the syntax of JS.

2 Likes

Your response also validated the need to get a degree- though I was hoping that I could develop solid, demonstrable, skills without one.

Yes, you can get a CS job without a degree. I’m saying that it’s my perception that it’s easier in web dev. And within that, it’s easier frontend. It’s difficult to get the first job in CS everywhere, but I think it’s a little easier doing frontend.

I know the topic has shifted slightly, but do you have any good resources for helping one pinpoint an area of CS to focus on?

I’m certainly no expert on other CS jobs. I’d read blogs and look for youtube videos - people like talking about what they do - and try to figure out what sings to you.

1 Like

Thanks guys! I’ll process your advice. This has helped immensely! :grin:

this reply is a bit lengthy, so i included a tl;dr at the bottom

honestly, if you’re not interested in web page development, then maybe you should look at other tech-related jobs and see if any of those seem like something you’d enjoy. fcc definitely includes many useful tools and skills that you can learn, but if you don’t foresee yourself using any of the skills taught on it in the future, then i don’t really see the point in doing it, you know?
i feel that, for me at least, it’s much easier to learn grasp new concepts if they relate to something i’m interested in. personally, i’m not really interested in web development either, so i’m not currently partaking in the fcc courses. if i were you, i would figure out what you want to accomplish/do with coding (such as game development, cyber security, software engineering, etc.) and then figure out what skills you need to learn in order to do work towards that.

i get what you’re saying with the jumping around too much and learning nothing part; i’ve struggled with the same thing myself. i’ll leave some tips below that helped me develop an effective learning style for myself (i hope they help!)
figure out what your learning style is
i know this sounds cliche, but it really is helpful to determine which method of learning works best for you. if a visual learner was trying to assemble a chair, for example, it’d be easier for them to do it by following along with a tutorial instead of listening to someone tell them what to do. also keep in mind that most people are a mixture of different learning styles, so combining different methods to learn new skills is especially helpful in that case.
pace yourself
this sounds obvious, but a lot of people tend to overlook it. everyone learns at different speeds, and sometimes structured courses can be detrimental for those who learn quicker or slower than the course is paced. i’d recommend finding a self-paced course so that you don’t feel pressured to rush through confusing concepts or crawl through things you have mastered already. i’m using a website called codecademy (which isn’t geared specifically toward web development so you may like it better) and i really like it because it’s self-paced and free (this sounds like an advertisement lol. i just really like the website) but if codecademy isn’t your thing there are tons of other free, self-paced coding websites that you could try out. just search up “free online coding courses” and you’ll find heaps of resources
allow yourself to take breaks
this also sounds obvious, but it’s overlooked, too. society has made people think that unless they’re busy/working all the time they’re lazy. this isn’t true at all. you don’t have to eat, breathe, and sleep code 24/7. it’s like working out. if you’re in the gym 7 days a week and overexerting yourself, all you’ll end up doing is hindering yourself. taking breaks is especially helpful if you’ve been struggling with the same concept or trying to fix the same problem for a while. oftentimes when you step away for a little while and then come back to it, your mind will be clearer and it’ll be easier to figure things out.
anyways, i’m done rambling. i’m sorry this reply was so long. i hope it helps!

TL;DR figure out what programming-related job interests you and go from there. if you’re not interested in web development, then find something you are interested in and determine what you need to learn/do to get there.
here are some tips for being able to follow things through to completion and prevent yourself from jumping around when you’re learning new concepts: figure out your learning style, pace yourself, and take breaks when needed.

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.