As Quick as Possible with Good Understanding of Concepts

As Quick as Possible with Good Understanding of Concepts
0.0 0

#1

What certifications would I need to get from FCC just to start applying to jobs and to be knowledgeable enough to make a GitHub portfolio and do a variety of projects on my own? I would be starting at the beginning, aka Basic HTML and HTML5. Do I need to complete all of them? Can I just go sequentially up through Front End?

Thank you for your time.


#2

You can get as many or as few certificates as you want. Put in the effort you feel is appropriate for the goals you have for yourself. If you’re targeting entry level front-end dev positions, then just do the front-end curriculum and start applying for junior positions as soon as you can.


#3

Okay let’s say Front End is my goal but I am clueless about HTML/JavaScript…should I cover those first since they come before Front End?


#4

The term “front-end” refers to the application of HTML, CSS, and JavaScript to create web applications. You will need to learn those technologies before you can claim a front-end certificate, and you’ll want to have some grasp on them before applying for a job.


#5

Thank you, that clears that up. So likewise I take it if I wanted to go into QA/Info Security I would need to learn Data Visualization/Apis first? Is the coding interview prep simply practice challenges for job interviews, not lessons on new material?

Side note: where do I learn to run scripts/automation? Is C programming covered at all? How to use GitHub? I saw someone who was keeping their notes in Slate using Markdown language and was utterly confused on how that would be efficient since it looked like you are basically coding while trying to take notes. I was planning on just using OneNote for note-taking. Did you do notes?


#6

From the recently updated curriculum, the Responsive Web Design certification will give you a good idea of what to expect, if you’re brand new to web development, but I wouldn’t say it’ll get you realistically job ready. You can apply to jobs at any time of course, but to improve your odds at actually landing a job, I feel that anyone looking to get job ready from the new FCC curriculum is going to have to put in the work for more certifications: JavaScript Algorithms and Data Structures (many companies will expect you to know ES6 and how to use it), Front End Libraries (the vast majority of job listings now specify React as a requirement), “JSON APIs and AJAX” from Data Visualization, and the top two sections in Apis and Microservices (“Managing Packages with NPM” and “Basic Node and Express”).

And even with just that, that will really only get you job-ready for front-end developer positions. If you’re looking to go full-stack, that will require more time & effort, and you may find that it’s worth learning SQL instead of MongoDB in terms of the database, as way more companies use one of the popular SQL systems (MySQL, SQL Server, and PostgreSQL are the most common) compared to MongoDB.

FCC’s updated curriculum doesn’t cover back-end very thoroughly though, so you’ll need to find your own learning resources for that. This link should provide you with a big-picture overview of the topics that you should learn—and the boxes in yellow are fairly important and shouldn’t be skipped: https://github.com/kamranahmedse/developer-roadmap

Finally, not to discourage you but there are no shortcuts to learning everything if you’re starting from zero knowledge on HTML/CSS/JS, and you’re going to have to prepare for the long haul. I’d say you should expect to invest 6 months at minimum, and even that is only if you can put in a “full-time” schedule towards learning everything. More realistically, learning everything would probably take the average person who already has a full-time job somewhere around 1-2 years.


#7

Thank you for that useful info and link. I absolutely have no problem with those time-frames you list and am luckily able to put in a full-time schedule towards this. Like I said, this is all new and even GitHub will be a whole separate course I need to teach myself through a few useful links I’ve already received.

One thing, my roadblock in my endeavor for a CS bachelors was my poor math. How math intensive is this going to get? Also, why is C required as an intro to most CS programs if it is considered outdated?


#8

The most essential math you should know as a web developer is high-school-level math (algebra, geometry, and trigonometry) along with discrete math (logic, set theory, combinatorics, and graph theory are the most important topics). I just wrote another post previously on resources for learning discrete math: Frustration from a low quality computer science degree

Not math per se, but you should also learn at least a little about hexadecimal numbers because those come up in CSS.

There are many reasons why C is still part of most CS programs—but basically, it helps gain understanding of how the computer and memory works (which is important for coding in any language). And although it’s old, the knowledge that’s gained from using it is translatable to other newer languages.

Some other learning resources that I’d recommend to supplement FCC are these courses:

  • CS50X by Harvard on edX (I’d recommend doing this before starting FCC—it’s basically an “Intro to CS”)
  • The Web Developer Bootcamp by Colt Steele on Udemy
  • Git a Web Developer Job by Brad Schiff on Udemy

#9

Yes I was just told that C is what makes up my OS. I actually took intro to C when trying for a CS degree before the math prerequisites did me in. Thank you for the links, I will look at them. I also heard Khan Academy is good for brushing up on more basic math, as I embarrassingly could probably use some high-school algebra refreshing (I come from a liberal arts major that I should not have selected).

Are these additional web resources you listed something I could add to my resume or more just intro things that I should use as tools? I feel like putting those on the resume could be just like listing college courses I took and don’t belong. Keep it to certifications and the proficiency therein.


#10

Those courses aren’t exactly for your resume (they’re not valid educational credentials at all) and could be considered as intro things to use as tools. CS50X is a great course to take for anyone who hasn’t done at least the first full year of a CS degree. “The Web Developer Bootcamp” is a great course that fills in a lot of holes in FCC’s curriculum, even the updated one. And “Git a Web Developer Job” also fills in a lot of other holes in FCC’s curriculum. CS50X is free, but the other two are very much worth buying whenever Udemy has a $9.99 sale, there’s actually one going on right now.


#11

Thank you very much for the advice! I am also going to look at Try GitHub and Git and GitHub in Plain English which were further recommended.


#12

Just one more thing. Do you find that YouTube is a necessary accompaniment to FCC? Will I need to constantly be looking to it to reinforce concepts or am I best to just tinker within the lessons?


#13

I’ve never used a YouTube tutorial myself, so no, I wouldn’t personally say it’s necessary. The only resources I’ve used myself have been the larger MOOC platforms, including Coursera, edX, Udemy, Lynda, SitePoint, and Udacity. I’d say the most valuable platform for me has been Lynda, I consistently learn a ton of info from the courses on there.


#14

I will take a look at those prerequisite/supplement courses, the discrete math post you made which is great, and perhaps use the Lynda platform to enhance understanding of concepts that I do not feel I fully grasped from FCC. Thank you for your time.


#15

I’ve heard from a user on reddit that learning just Git (like you said) is essential, not learning GitHub (I didn’t know they were separate things). They kept reiterating “learn Git from the command line.” I’ll also look into the “Git a Web Developer Job” course that Udemy offers. Would this (as well as CS50X and Web Developer Bootcamp) be a prerequisite to FCC or something to do along with it?


#16

I’d recommend doing CS50X first, before FCC, since it provides a lot of foundational knowledge related to computer science and programming that will help you out in the other courses as well as on FCC. Doing Colt Steele’s Web Developer Bootcamp right after that will help fill in the gaps that you’ll run into on FCC. Once you do those two courses, you could continue with either FCC or Git a Web Developer Job, or do them at the same time.

Doing all that in that order will put you in a good position to be relatively job ready by the end. The only major topic you should learn after that is one of the front-end frameworks (Angular, React, or Vue). And yes, you should learn Git as well. Git a Web Developer Job will cover just the basics for you, and I’d recommend finding another resource to learn Git in-depth when you’re ready for that.


#17

Great advice, thank you. I’m going to bullet-point this because it is a bunch of unrelated questions, please ignore if I’m getting to be too much.

First, quickly some background. I unwisely majored in liberal arts in college because I wanted to go into law. That didn’t work out. So I went for a 2nd bachelors in CS. Worked hard to get in and have finances covered by the State, was set. That quickly didn’t work out either. I could not do the math perquisites. Your advice and link above about the math is very helpful. I’m still very annoyed I did not take things slower, swallow my pride, and review the basic math I needed. I heard Khan Academy is really good at going as low-level as you need to go. But I can’t change that now.

  • Other Git resources are those I listed above and Pro Git (first three chapters) which is free. Also, Learn Git in A Month of Lunches was recommended.

  • I see that there is an “Information Security and Quality Assurance Certification” in FCC. Could I possibly be in a position to apply for something like this if I went sequentially through all the courses up through InfoSecurity/QA? It says for req’s “Bachelor’s in Computer Science, or related” which I like. I may be interested in being a QA analyst. Is this less coding intensive as far as what I need to learn? What I still want to do the sections in order up to InfoSecurity/QA which is the last section? I take it they build off each other.

  • Is the "Coding Interview Prep " section side work/practice as well as projects I could perhaps include in my portfolio?

  • For project Euler problems it says here “The intended audience include students for whom the basic curriculum is not feeding their hunger to learn, adults whose background was not primarily mathematics but had an interest in things mathematical”…that is confusing because it seems these problems are very math intensive.

  • I see that when I do a search it includes related YouTube videos as well as FCC content, very helpful. Now I see what you mean by FCC focusing only on MongoDB and not MySQL, etc. What do you mean when you say “if you want to go full-stack?”

  • While I barely understand the GitHub developer road map you linked (I’m sure I will more very soon), there is a “Testing your Apps” section which has a link to this. Is this what QA/testing consists of?

  • I was in a reddit forum and a hiring manager had this to say:

"I hire devs. We definitely don’t DQ applicants solely because their skills are from FCC & the like. However, we do want to see actual code, like GitHub repos or just passion projects. The main concerns with self-taught devs are:

Have they digested and retained the info to the point that they can do practical work outside the structure of a tutorial? This is like the difference between learning basic vocab or common phrases in a foreign language classroom setting, vs understanding grammar & structure enough to hold a conversation in that language. In other words, it’s the difference between “Where is the bathroom?” and “Two friends will be joining me for lunch. We’d like a table on the patio, but first, can you point me toward the restroom?”

How thorough is their knowledge? The problem with self-directed courses, especially modular ones, is that you don’t know what you don’t know. This is probably my company’s biggest concern with self-taught devs. If you’ve missed an important foundational idea, or if you have a weak or wrong understanding of one, you won’t be aware of it. In formal certs or schooling, we can generally assume that at least the foundations are in place."

It’s certainly possible to teach yourself. But if you plan to, you should also plan to do many different types of projects to build your portfolio before job-hunting. We recruit from boot camps especially, because they’re more timely and they tend to rely on a lot of hands-on work. I can’t tell you how many times I’ll ask someone who just got their bachelor’s for a code sample, only to hear “I don’t have anything yet because I haven’t had a job in this field.” That is the wrong answer.

My CTO speaks at a lot of local coding boot camps & events. His #1 advice to new devs is: Freelance, freelance, freelance. It gives you work to show off and teaches you stuff like how to communicate with clients, how to manage your time, how to account for it with billing, etc. You learn enough about the whole process to strengthen your foundation. And critically, you can actually prove that to prospective employers."

How do I make sure that I have the foundation down and don’t just think I do aside from taking the courses you suggested and practice? How did you study and learn? Took notes in a notepad just for the act of writing them down, used OneNote/memorized flash cards? I’ve heard things like syntax/algorithms don’t try to memorize they will come with repeated use.

He also said to try to freelance in order to have work to show off. Does this mean doing projects for customers on my own and then putting those projects in my GitHub portfolio? Are most people using GitHub now as the place to host their portfolio? What is a “GitHub repo?”

That user says he likes places like FCC because they “are more timely.” Is this why they recently updated their curriculum (I didn’t know that until you mentioned it). When he mentions his company recruiting from boot camps is that something you see actively at places like the FCC forum? Companies posting jobs?

  • You said to learn front-end frameworks like React, I take it this is something FCC doesn’t teach and I would look to places like Lynda for. Is a front-end framework sort of like a GUI? Like GitHub is to Git? Again I am very new to this and some of this I should Google. Like when you say back-end I have no idea what that means.

  • If someone wants to go into the hardware/IT support end of things is FCC the place for them? When I was trying for my CS degree even going that branch required a good deal of coding. I’m sure there are lesser certifications that can be gotten at a community college for stuff like desktop support but I want to be a quality applicant.

  • You said “The most essential math you should know as a web developer is high-school-level math (algebra, geometry, and trigonometry) along with discrete math (logic, set theory, combinatorics, and graph theory are the most important topics).”

I mean geometry I struggled with in high school, trig I struggled with in college. The others I have no knowledge of. Is this something I need to start studying right now or I can teach myself as I go while going through FCC? This is what was so discouraging to me when I started my CS degree, the prospect of going through 3 years of math in order to accomplish my goals. For what it’s worth the only coding I took was Intro to C++ and did fine (A). I had help from a friend in the industry though.

Also you say the most essential math as a web developer. Is FCC mainly focused on web development? How about general coding of programs and software?

Thanks again, I am very meticulous and a bit obsessive so if this is too much questioning please I won’t mind if you ignore.


#18

Make things. Start creating websites, apps, trying out projects in Codepen. Build a portfolio. Don’t just finish the tutorial, expand on it. Use other technologies in it to make it unique. Do 100 Days of code and try to make those things from scratch. Build.


#19

How would I know how to use Codepen, or to build a portfolio/websites/apps? Does FCC give this foundation? I have been advised to take the CS50X course at edX ahead of doing FCC as an intro to CS. And take a few courses for Git to supplement FCC. I have taken an intro to C++ course but still have no clue how to do any of the things you listed.


#20
  • No need to worry about Git at this time, you’ll have the chance to get into that later on, once you’re more familiar with everything else. In fact, I recommend doing that later anyway. And there are plenty of resources for Git, whether books or online tutorials/courses.

  • FCC’s “Information Security and Quality Assurance Certification” seems to not cover all of the material that you’ll need to know for QA jobs. Generally, QA for software development falls under what’s called DevOps, which you should Google for more info. I don’t know very much about this field of work so I can’t speak further to it. The most I can tell you is that FCC’s curriculum doesn’t really cover this line of work, as it’s not really web development (that’s why it’s called devops, which is short for “development operations”). I also know there’s some coding involved but don’t know how much. Also, that particular job you linked mentions technologies that FCC doesn’t cover at all, like C#, JIRA, and Selenium, which would require further learning on your part.

  • The “Coding Interview Prep” section consists primarily of technical exercises that companies will often use in job interviews to screen software developers. It covers material that’s normally taught as part of a CS degree, so anyone who doesn’t have a CS degree can (and should) take CS50X to get most of that education. There are some additional exercises in that section as well, but they’re there mostly for practice and less for your portfolio, with the exception of the Take Home Projects (which could be added to your portfolio).

  • Given the background in math that you say you have, I wouldn’t recommend that you attempt Project Euler, well at least not right now. The exercises on that site are basically for math geeks. Once you’re more comfortable with coding, and using math, you could attempt Project Euler in the future.

  • Full-stack means front-end and back-end. Front-end constitutes everything visible on the screen - text, text formatting, animations, interactive elements. Back-end constitutes everything that you don’t see that’s working behind the scenes. Back-end includes an application running on a Web server (which can be written in any programming language) and the database. Databases come in a variety of forms, and the two major ones are SQL relational databases (like MySQL) and NoSQL databases (like MongoDB).

Learning how to build all of that will make you a full-stack developer, but that may not be something that you want to pursue. Some people focus on just front-end, and others focus on just back-end, while others want to do it all to become full-stack. It’s all up to you.

  • Testing is a process that web developers will sometimes do themselves, and won’t require other personnel. However, some companies prefer to adopt “automated testing” along with CI/CD (which stands for Continuous Integration/Continuous Delivery), in which case this will call for additional personnel to fill QA/testing/devops roles. Again, it’s a different line of work. I recommend using Google to look it up and see if that’s something you want to pursue.

  • Coding, like many other skills, is something that you should study and practice. Study to a point, and use that knowledge to practice - i.e., build something. Study some more, and build some more.

  • “Freelance” means that yes you should find clients, but it also means that you don’t have to get paid per se. Your very first freelance project will probably be unpaid. But think outside the box - look for people you know that need something like a website or web application. Friends, family, acquaintances, maybe a local small business that you stop by frequently.

  • Yes, GitHub is one of the main sites where individuals host their code portfolios. A GitHub repo is the term used to refer to a project once it’s stored on GitHub - repo is short for “repository”, which should be self-explanatory.

  • FCC updated the curriculum recently (earlier in June) because the previous one was getting dated and lacked coverage in some areas. FCC is NOT a bootcamp in the conventional sense, and recruiters do not actively hire on the forums. You’ll need to be more proactive to find a job. Coding bootcamps are a different thing entirely, and include companies like Galvanize, General Assembly, and Udacity, among others.

  • FCC does teach React, but FCC’s coverage of React may not be adequate for everyone. It’s good enough for the basics, but you should expect to invest additional time & effort to learn a front-end framework well enough to be job-ready. Front-end frameworks help speed up the process of creating UIs for visually-complex web applications. If you use Facebook (directly on their website and not through their mobile app), that’s one example of a complex web application. I mention Facebook in particular because they’re the company that created React.

  • Everything FCC teaches is on the curriculum. It covers nothing that’s not on there, so anything related to hardware/IT is out of scope. That would also be a completely different line of work, possibly several different lines of work. Do you mean network or server administration?

  • Math is fairly foundational to software development in general. It relies on many concepts that are rooted in math, no matter which field you’re in. Not to discourage you, but from what you’re saying this line of work may not be for you. You say that you struggled with math, but you didn’t say if you like math, and I’d say that’s a key part of success in this line of work.

  • Yes, FCC is solely focused on web development. If you want to learn some other type of software development, you’ll need to find another resource.

  • Why not just start taking the CS50X course to find out how well you can learn the material? It’s free and self-paced, and you have nothing to lose other than time. And if you know some C++, that can only help you. And you should start doing the FCC curriculum anyway, find out if the first few exercises make any sense. A lot of people who come here don’t know what they’re doing at first but eventually succeed. So put a little time into it and see how far you get.