Fair warnings to starters

This is a pretty good comparison. As a guitar and bass player hobbyest for many years (and sometimes a bit of keyboard) I can tell you that it’s easy to pick up an instrument and learn a few songs. It is exponentially more difficult to master your instrument. There is a vast difference between an intermediate player and a professional player. It may be subtle at times, but what separates the two is many years of dedicated deliberate practice, and sometimes raw talent. You can teach someone to make a simple web page in a few hours, yet… you know.

2 Likes

Learning to program is a very hard journey, and I don’t blame you for feeling frustrated, as I have felt that way many times.

When I started to be interested in programming back in 2010 I thought that it would only take me a few months to understand the topic, and I should be able to do useful work within a year. However it took me over two years of learning in my own time before I felt that my understanding of HTML/CSS/Javascript was enough that I could start putting together websites.

After a couple more years of playing with servers, and learning from blog posts and tutorials I could assemble a production ready server by hand for a friends non-profit. It was my first real success, and took about a week of working evenings assembling the database, dependancies, and framework requirements.

Then while working at my first internship back in 2014 I was exposed to programming in Ruby and Javascript by a veteran senior engineer. He seemed to know everything that I could ask and always challenged me to produce higher quality work than I thought was possible.

A few more years of study and practice and now I am competent with new programming languages within a couple of weeks, and regularly try to help people who struggle with learning programming for the first time.

The point of my little story is that programming is not a skill you learn in a year, or two, or three. It is a collection of skills that you acquire after thousands of hours of hard work. It is incredibly rewarding and frustrating at the same time.

The last piece of advice I’ll share is this; Even if I never got a job working as a programmer and I still worked doing manual labor, the time I have spent would not be wasted. Learning to program is like learning to read, or learning mathematics, or learning to play and compose music. It changes you forever in ways that are impossible to describe. You will forever be better at everything else in life because you learned to program. It is a talent that nobody will every be able to take away from you.

6 Likes

I’d like to politely disagree with this. Any course of study should begin with some kind of orientation, and should help students understand what they are getting into to. This is particularly true with a specialist field like IT where newbies really have no idea what to expect.

Free Code Camp tends to break down its instruction into bite sized chunks. What is doesn’t do is provide a good overview of topics. Code School’s Beginner’s Guide to Web Development is a good example of how to do this well.

There is a bewildering amount of information about web dev on the internet. But it is not that easy to find good quality up to date resources that are accessible to beginners.

1 Like

I see your point. I don’t entirely agree, but I see your point. Maybe it would be nice if there was a “The State of Web Dev” module at the beginning. But as you said, FCC likes bite-sized chunks, and that would be 20 paragraphs with charts and graphs. Besides bite-sized, FCC also seems to focus on “things we can do”. They like to dive in and start you doing some basic coding. This is great because it keeps people interested and builds up a some confidence. I fear that a 20 minute read before they do anything would turn some people off. I’ve seen at least one person already complain about too many screens to get through to get to the coding as it is. We do not live in a culture of long attention spans and a willingness to stick it out.

And at some point I would hope people have done a little research. It would be like signing up for skydiving lessons, going through all the prep material, getting ready for your first test and then balk at having to get into an airplane because you have a deathly fear of flying and “why the hell didn’t anyone tell me there were going to be airplanes involved?!?”

At some point you have to trust that people have done the bare minimum of research. Are people just scanning the internet one day and randomly come across the page and decide, “I really like the colors and fonts on FCC’s page, so I guess I’ll devote myself to learning web dev. I’ll wait until later to find out what the long term responsibilities will be and what the job market is like.”

I recently took a cooking class with my wife. It did not begin with a lecture on the state of job market for chefs. I teach guitar lessons for a day job. I’ve never lectured anyone on the state of the market for professional musicians, unless asked. I have an MA in music and not once did I have a class on the employment market for musicians. I was an engineering major before and there was never similar class.

But maybe you’re right, maybe it would be a good thing. FCC is open source so if you want to dive in, you can devise a module and kick it around. I would just be worried that too much wonk talk is going to drive some people away. Maybe they are the “low quality” people that would have eventually quit anyway. But programs like this tend to worry more about quantity of signups.

First off, I don’t think you should say you wasted a year learning with FCC. Although you may choose to not pursue a career in web development, I think learning various aspects of what makes a website work is pretty enlightening. Learning is a fun thing, even if it won’t be used in your profession. Most of the I don’t watch a documentary in the hopes of using this knowledge at my job. Perhaps even more important, you were training your brain by going through the challenges.

With regards to the curriculum, FCC guys are pretty explicit in the effort required, but I agree with the opinion that anyone can learn to code. The problem is being motivated to learn, and coming up with ways to understand the topics. Working with APIs is unlike anything you’ve dealt with before, it’s a lot harder to learn something if you can’t relate it to something else.

When it comes to learning to code, Intelligence and technical aptitude are optional. Resourcefulness and perseverance are not.

gilfoyle said it better:

Haha! Can’t compete with that.

Also in a job one of the best skills you can have how to ask for help.

Excellent communication is worth its weight in gold. I don’t know how times it has saved my skin both in technical and non-technical roles.

2 Likes

It is the problem of saying that things are for “everyone” and that “everyone” can do it. Each person is different and freeCodeCamp does not stand out in that. And less now, that they started asking for “donations”. It became a business, not in a help.

The part of: “talent” is harmful. How one person was born serving for something and another not? There is no need to say those things.

If I understand you correctly …

It is simple to acknowledge that some have more talent than others. Some people are born with certain gifts. That is life. Life is not fair. No matter how hard I might have tried, I never could have been as good as a basketball player as Michael Jordan was. It just isn’t in my genetic gifts. Now, if I’d worked my ass off, I could have been a pretty damn good one.

We all have certain gifts. Some of them we’re born with. And whether or not we’re born with any raw talent, it’s still going to take a lot of work to maximize that talent.

Simply acknowledging that there is such a thing as talent (whether inborn or acquired) is not harmful. Everyone has to do the work.

1 Like

“Whether you think you can or whether you think you can’t, you’re right”

Henry Ford

Thats from my random quote machine project :smiley:

But seriously, no one on FCC promises it will be easy.
The more I learn the more I realize how much I did not know and how much more there is. But every step you take brings you closer to success. If you keep going forward towards your goal, you are getting closer with each step and the more you do it the faster your will reach it. Best of luck to you!

2 Likes

Yes, those days when <h1>Hello World!</h1> felt like real programming were good for me too!
And I’m still only on the intermediate front end projects…
…sigh…

Coding is fun because it is difficult.

2 Likes

I don’t get what you mean by “It’s my fault”. You might surprise me by telling me what i should have done.

What I think they meant by that is, FCC isn’t forcing you to be here. Your learning and whether or not you continue it here or anywhere else is entirely up to you. The time you do or don’t devote is on you.

Same goes with all the advice here, you can take it or leave it. I don’t know what response you were looking for with your initial post. You have an entire thread of people giving you advice and encouragement and you’re focusing on this one reply.

Listen, if you take away anything from this thread, I hope it’s knowing what you’re feeling is entirely normal. And if you do decide to continue with programming, you’ve got lots of peers and resources to help you when you get stuck. The rest is up to you.

I can’t find anywhere where some one explicitly called it your “fault”. [EDIT: OK, I see where someone did say that, but I don’t think they meant it as an accusation.]

I certainly wouldn’t say that it’s your fault. I would say that you had a misunderstanding about what is involved with this field. But that is a mistake that many, many, many people have made. I myself, when I first began looking into web dev as a career change. I had the impression that I would learn a language and the job offers would roll in. Part of this was my “fault” in the sense that it was naive. It also wasn’t my fault in that this world is a little opaque from the outside, there are bootcamps making ridiculous claims, and there are plenty of sensationalist stories the media.

I (and I assume most everyone here) are definitely not trying to discourage or dissuade you.

I would sum up my position thusly:

  1. The “oh shit, this is a lot more complicated than I’d imagined!” feeling is normal. It does not mean that you are dumb. Every time I think I’ve got a handle on things, I find a new level to confound me.

  2. This is an incredibly complex field with a Byzantine web of interrelated technologies and many divergent paths. The amazing thing to me is how anyone ever learns this stuff since so many things inter depend on each other.

  3. FCC is not responsible for the collective misunderstandings about this field. In fact, not being driven by a profit motive, FCC is one of the few bootcamps not making extravagant claims of ease of learning, hiring rates, and future salaries. But your point is taken that that would be useful information for new learners. I don’t know how to integrate that into a program built on small task without bogging down the student, but it might be something good think about.

So, you are faced with a bigger challenge than you thought. As I always say, the fact that web dev is so hard is a good thing. If it were easy, everyone would do it and it would pay minimum wage. The reason that web dev’s make six figure salaries is because it is difficult and can take years to learn.

So, I hope you don’t let this discourage you. I hope you find the strength to push on.

1 Like

As far as FCC doing anything to disspell common misconceptions about the field or what it takes to get into it, I’d say the best thing FCC could do is simply make a sticky in the forums. It might be a bit of an awkward fit in the regular lesson plan.

1 Like