TO ALL FUTURE WOULD-BE DEVELOPERS:
If you don’t enjoy learning NEW things everyday, and that learning may sometimes be in the form of reading books, websites, boring documentation, and (gasp!) experimenting/figuring things out on your own, sometimes without the benefit of any video tutorial, or step-by-step guide… then life of being a software developer will be very hard for you.
I’ll be 50 next month, and I still try to learn something new everyday. Even learning something new at one/day, that’s going to be 365 new things I’ll know in a year.
Now, you don’t have to learn every new thing that comes out, but you have to pick your race horse and stay with it, and at least get to know your chosen stack well enough that you can do pretty much what the customer/client/boss asks from you. If some new language/tool/framework comes along that you think will open new doors and opportunities, make coding easier or make you work better/faster… then it may be worth your while to learn that new thing.
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.
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.
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.
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.
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.
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.
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.
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.
What do you mean by this statement?
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.
“Whether you think you can or whether you think you can’t, you’re right”
Thats from my random quote machine project
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!
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…
Coding is fun because it is difficult.
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.