After 437 days of freecodecamp...here is what I wish I knew on Day 1

After 437 days of freecodecamp...here is what I wish I knew on Day 1
0.0 0

#1

Disclaimers: I’m not the king of the world, these are my own opinions and experiences…take from it what you will, disregard what does not fit for you, but don’t think I am forcing myself upon you…do what you want with your life.

It’s been 437 days since I joined fcc…here is what I wish I knew on Day 1.

Doing this for two main reasons. One is to clarify for myself what I have learned and to take a hard look in the mirror at my own progress, and the second is to potentially help those also on this crazy path and to point out some of the traps, roadblocks and disasters so that another fellow human can get a bit of a heads up.

Background info: I am in the bay area, I do have friends who work at most of the big companies here. I have traveled extensively across the US.

In 2012, lot’s of ppl were into a resurgance of tech and tech related stuff…why? The recession of 2008 was still happening and the JOBS act and other programs were trying to get people employed. The first few group of guys that went to the original DevBootCamp are the same exact guys that did appAcademy, Hackreactor, etc, etc…within two years there were 30-50 buttcamps all over the US.

Lots of folks from all sorts of professions were swept up in a fantasy that a 100k+ job at a super fun company like googley would be theirs for the taking if they could only sit down and do some hard work and go to a code camp. Time to study again! Time to dust off those old html skills. Time to work in tech and have a ton of fun like everyone else. Right?

Reality check 1: The top jobs at places like googleX, spaceX, tesla, etc…etc…still only take top level PhD folks only…my friend at one of these places showed me a pile of resumes for these types of jobs, 75% of which had Phd’s from calTech, berkeley, Stanford, MIT, etc…if you are not part of these types of folks, their families and their networks, then you are not getting one of these fantasy jobs…you are also not going to be able to start a company that will one day be like these companies either.

Reality check 2:

The next level of jobs, at let’s say the top 50 companies for regular software engineering, are within your reach…if…you can do algorithms on a whiteboard, in a short time frame, with a clear understanding of the problem, solution, edge cases, the time and space complexity of each, best practices, etc…do all that, along with fitting into the ‘culture’ of the company, and you might get a job, in a hot market like the bay area, Seattle, LA or NYC. Not Portlandia, not Austin, etc.

Reality check about where you live:

Oh you can code anywhere? Can you be an actor anywhere or is it pretty much LA? Can you be in banking and finance anywhere or is it basically in NY? Tech is in the Bay area…the bay area was built for tech, just like hollywood and banking for LA and NY…don’t be fooled into thinking otherwise. Watch some documentaries about silicon valley, it’s history from the 40’s, 50’s, 60’s until today…it is the place it is for a very good reason…you have to be here for a very good reason. If you are not in a top 5 city you are going to have a harder time, lower pay, less opportunities, less respect.

Reality check on front-end jobs, internships, startups, wordpress, seo, tech support, IT:

Lots of old gruff IT doods in here…but they can’t code…and IT is going to the cloud…so they sit in chat rooms and collect brownie points instead of doing the challenges…these folks are not going anywhere. But they will give you their unsolicited advice and wish to be respected. Fine, who cares.

Front end only, PSD slicers, working at a startup for free, doing endless internships for free, trying to sell wordpress sites to your local businesses…doing tech support, doing SEO telemarketing…these are not programming jobs…take them if you will, or must, but understand that they are almost always and in all cases a total waste of time, and will lead to most likely, nowhere.

Reality check about being too old, too young, etc:
When you are young, they tell you old people are in charge, when you get old, they tell you the young are running the show…it’s all BS…if you have the skills, age really does not matter…but again, if and only if you have the skills. If you don’t, then you will lose out to a pretty young thing of either gender instead of your old crusty self.

Reality check for those who already are working full time, have lots of kids or responsibilities, take care of others, or have a lot going on in their lives already:

Unless you really, really, really loveeeee programming…you won’t be able to do it. Spend that hour with your children instead of going through yet another beginner tutorial you found online. Be honest with yourself.

Ask yourself a question…of 150k ppl that signed up for fcc why have only a few hundred been able to find employment?

Ask yourself another question…do you have what it takes to be in that small group of folks?

Finish freecodecamp…lots of folks seem to stop at intermediate and advanced algo’s…that is where you should be gaining momentum and cranking!..

Don’t complain about freecodecamp…unless you send them a check or buy 1,000 tshirts don’t bite the hand that feeds you and provides you with a ‘fun’ place to get started.

Reality check about the chat rooms: they are a compliment to your learning and the forum…if you jump in and get abused well that is your experience…maybe toughen up a bit. In life there are always folks walking around waiting to get offended by anything and everything. Don’t let it affect you…I mean really? Some rando clown from who knows where hurt your feelings online? Be the bigger person.

I have been in chat for a long time…lots of weirdos come in, bully everyone, then leave…don’t let yourself be bullyed…if someone violates TOS, toss them out. Right now there are a bunch of goofy ppl in there that were not there 4 months ago…almost no one that was there 437 days ago is still there…

So what is the conclusion?

I wish that 437 days ago, someone would have told me the following:

  1. Make sure you really have a ridiculous love of software engineering, and want to do it forever.

  2. After you learn how to program, spend almost all your time doing the algorithm style problems that are given by all the big companies: discuss.leetcode.com, Gayle’s famous book, etc.

  3. Don’t give a crap about what anyone who is not actually doing it says…so if you are a senior dev at facebook and you tell me something about react, I listen…but if you are nobody from nowhere, forgive me for taking what you say with a grain of salt.

Don’t stress life…at the end of the day, 15/hr min wage will be a reality soon in most states and if you are making 15/hr doing wordpress seo well hey you are already at the bottom. Work slowly and with intention and you will one day be able to pull yourself up and out.

Disclaimers: I’m not the king of the world, these are my own opinions and experiences…take from it what you will, disregard what does not fit for you, but don’t think I am forcing myself upon you…do what you want with your life.


#2

Great post! I just started FCC and will be rereading this along the way.

Find a passion in and use it to solve a person’s problem or just make them laugh. It’s a great feeling that few can achieve


#3

This sounds like a good thread for @P1xt to shed some advice on

Lots of old gruff IT doods in here…but they can’t code…and IT is going to the cloud…so they sit in chat rooms and collect brownie points instead of doing the challenges…these folks are not going anywhere. But they will give you their unsolicited advice and wish to be respected. Fine, who cares.

You said several times the need for algorithms. I looked at your fcc profile, and after ‘437’ days of programming here you do not have 1 project done, not even the tribute page. You are giving unsolicited advice and wish to be respected without doing the main part of FreeCodeCamp.

I don’t think its fair to rant about these reality checks, when you haven’t even showed the skill to make a complete project. Are algorithms important? Yes, but I don’t see just coding algorithms getting you a job like experience in making projects will. There are a lot of people here who have gotten jobs very early because of their project skills not advanced algorithm solving.

Also, just because you have a phd and can work for a good company does not make you any better. You can work for a smaller company and live a better more enjoyable life than a nerd who gives himself up for a company.


#4

You have a lot of logical fallacies in your comment. Check this link for more info: https://yourlogicalfallacyis.com

However, again this is my personal observation over a year of time and based on real life events. I realized early on I would need more than any one resource and have private tutoring now.

[ indistinct baby noises ].


#5

First off I am not trying to be proud, and I don’t think I have a bubble.I would not present my current projects you mentioned to anyone soon, in fact I am not even thinking of applying to ANY companies anytime soon. My point was simply that you stress algorithm and how hard it is too find a job, and you haven’t even really done the main part of FCC program which has helped many people get a job, even a simple one which can then lead to better jobs with bigger companies like Spotify (read the FCC stories). You can say HA! if you want, i was just ranting about your rant… :wink:


#6

I don’t really want to get into this, because it is a pretty negatively laden post. You want to get it off your chest, so fine…

But I don’t think you can call out another user for logical fallacies when the number one thought running through my head in the ‘reality checks’ is that you tackle a whole load of straw men.


#7

Also, this:

your calculator and pomodoro and ‘“quote”’ generator will only get you laughed at. So let me start it by saying HA! to you sir.

Don’t do that again.


#8

@JacksonBates thank you, however it is not needed. I know my projects are not capable in the realm of super-companies. And anyway, I had to laugh when I thought of them myself :slight_smile:


#9

I meant that one’s projects here (unless they complete the program) will get them laughed at, I did not bother to see if the person did any projects, and what I am saying is 100% correct, if you try to get a job with those projects you will be embarrased. Also, you are in Australia, which to me, may as well be in outer space…forgive me, but your opinion means nothing to me.


#10

I am new and I always appreciate a dose of realty to know the bar is set high… based on your thoughts and experience I think it wise that I complete the program to be more maketable… thanks…


#13

Thank you for agreeing with me on almost every single issue.
I know you are a bit sensitive so I don’t mean to pick on you at all, but when you yourself say “stop whining and work at it” and then you say “Suck it up by halfway through frontend…” it seems that you are also ok with a bit of the “toughen up” advice you mentioned you were not ok with earlier. You also mentioned that you were telling people to “get your asses on hackerrank and practice”

Again, I thank everyone for their comments and for sharing their experiences.


#15

Greetings everyone,

I thought I’d make a suggestion.
Seems the post triggered some “reactions”.

Personally, I appreciate a good dose of “reality check” every once and a while to keep myself from falling into a “romanticized” notion of things.

I’m basically a newbie and I’m currently stuck with advanced Javascript (No repeats please) since I just can’t grasp complex recursions…which is extremely frustrating for me…

So upon reading the article, I must admit, some of the statements were rather disappointing and unnerving for me especially given my current level of frustration. However, I remember this article that an old programmer (I think he had roots in assembly hehe…) once wrote (a friend sent it to me)…

He said that he had reached a point where he could adequately learn a new language in a span of days or weeks (I guess all programming and scripting languages all bear similarities)…but there’s always a new one popping up anyway so it never really ends… (some new guy or older wiser dude can always replace you… none of us are really special…)…

Basically, from what I understand, he said that we should not focus on the “learning of the language” or the “mastery of the language”… (the coder was a decade old programmer)…instead we should focus on using “it” (whatever it may be) to do something good for our own lives…to make our lives more efficient…or to generally help others … and make them or us happy… :slight_smile:

So basically, I may not get a job at Google X or Space X, or earn millions, or live at the bay area… but coding has generally “empowered” me somewhat. It has allowed me to see a small portion of what’s going on around me. I was obviously oblivious before…

So again my own conclusions:

  1. Thank you again to the original author for reminding me that learning how to code does not automatically guarantee a “bed of roses” type of life at silicon valley. This is very important to people who have “high expectations” to save them from major disappointment. It won’t stop me from hoping someday that I might actually reach google I/O (hehe) but at least I am now more grounded in my expectations.

  2. To others however that just want to learn how to code to hopefully improve their own little circle of life and make it more efficient… I still believe that freeCodeCamp has been a great contributor in that light. Basically because of the amazing community and people who just help you out… no questions asked… It’s a truly amazing experience… I wish this type of “atmosphere” was available in all types of education/work and learning… The curriculum at freeCodeCamp is hard. It doesn’t hold your hand but I believe it’s just a small part… or canvas for the actual “learning program” since it’s the community that is the true star of the show… I just hope that no “trolls” or “bashers” end up populating our wonderful chat rooms and forums.

  3. Finally, my suggestion:
    Since we’re obviously not all going to silicon valley… could we start a small TOPIC/SUBTOPIC on these forums where we could make suggestions on our own “PROJECTS”? FreeCodeCamp already has ideas for non-profit correct? What about ideas for our own projects? Then we could suggest it to freeCodeCamp if we could do these as well in addition to or as replacement for some of the non-profits?

For example, well one of the reasons I entered freeCodeCamp was because I have a dream of building some kind of open source platform for telehealth or medicine… I wanted to learn about HL7-FIHR, DICOM, PACS, EMR, HIS unfortunately, I’m still stuck on advanced javasScript… hehe… but the dream project is still there in my head. Given the article, I feel like it’s light years away… but may be if we have a place where we can post our “dream projects” no matter how big… we can find others of similar minds and aspirations? They can give us some suggestions on how to go about it? or tell us when it’s simply not feasible so we don’t wast our time with our head in the clouds.

In my country, telemedicine web tech is truly expensive…so some sectors can’t always afford it or aren’t even aware of it. So it’s a problem I hope to solve or help solve at least… currently I have a toothpick in my arsenal (I’m a newbie at javascript)…anyone out there with a “spoon” or a “fork” to try and help me? :slight_smile:

The greatest resource of freeCodeCamp is not the curriculum or the site … but the people here… I hope it continues to grow, may we all continue to grow…more power to us all… :slight_smile:


#16

It seems like what you wish you knew 437 days is to not only never try but to never consider even thinking about trying…

Most people from FreeCodeCamp are not aiming for the top top dev jobs but junior front-end dev jobs which is A LOT easier to get into. Junior front-end devs will not make too much but after a year or two they will make 50-100% more, although they might have to switch jobs to get the pay increases.

You say you can not start a company like that but that is also wrong. If you can clone a website then that means you are capable of making a competing site. The most important thing a dev needs to learn is to break down a problem into bite sized problems. Once they are able to do that anything is possible.

Lower pay is not such a huge deal when the cost of living is also lower. In the places that are not tech hubs it is easier to get jobs because there are less people applying. For example what happens if not a single programming degree applicant applies for a dev job but some guy from this site does who has a portfolio to show he is serious about improving? That guy is going to have high chance at being hired.

And again. The pay is not important so getting a job outside of a tech hub and can actually be beneficial since you will have less competition. The most important thing is to have someone willing to help you improve.

Are you saying front-end only devs are not programming jobs? I actually used to think that but you are seriously underestimating the complexity of real front-end work. When I first learned of this site my plan was to just learn the basics of front-end to do the real stuff aka the back-end. I kept thinking like that for a pretty long time but eventually I realized there is so many different things a front-end dev has to know that I would not disagree if someone said that it is one of the most difficult dev jobs.

I think the reason there are not too many with dev jobs is because this site kind of does make it seem too easy to get a job. They set the front-end dev certificate bar too low for the average person. It is definitely enough for artistic people to be able to show how good they are at design but for a non artistic person they need to be able to do more. That is where frameworks come in though. Learning react + redux significantly improved my front-end skill and general programming like object oriented design. Even if a person hates react and redux there is A LOT to learn by using it. For example yesterday I implemented an observer pattern into a game using the design goals that react redux uses. Altogether it is maybe 100 lines of code to write a complete test example but it shows I have improved a lot in the last few months.

You also mention 150k signing up but only 2,701 actually have front-end certificates. So even without react mandatory the ratio probably is not too bad. I do think every person joining this site should have the goal to get all 3 certificates but only 91 have all three. After the front-end certificate most people would recommend applying for jobs already but you should still try learning more and more.

  1. I do not agree with having to love programming as much as most people say you should. You mainly just have to understand it is not easy and learn to break down problems.

  2. You say after you learn to program but when is that? The more you learn the more you realize how much you do not know.

  3. Not everyone is aiming to get a dev job at facebook. Personally my aim is to be an indie game dev. I used this site to be capable of making a decent game studio page, game landing pages, and possibly the back-end stuff. I will never have a web dev job but I am sure I could help someone in the right direction. React and redux is something everyone should learn.

By the end of your post I realized maybe you are not being as negative as I first thought. You could’ve expressed your opinions in a less confrontational way. Although some of your replies have again seemed too confrontational.

Not every working program shows the same degree of skill. You can not really say a pomodoro clock will get you laughed at without looking at someone’s code and knowing what job they applied for.

Anyway my TL:DR would be aim to be the best you can not aim for the bare minimum.


#17

You seem to have some trouble acting like an adult, so I’m going to make this simple enough for a child to understand. It’s OK if you’re upset, frustrated, and feeling stuck. It’s fine if you feel inadequate compared to the PhD’s and titans of industry you hold in such high esteem. But when you try to demoralize other people by mocking their work here, you are in danger of wearing out your welcome. I wasn’t going to comment on your long and pointless rant, but I want to be very, very clear: no matter how little you care for Jackson, my, or anyone else’s opinion, the way you treat people will get you booted.

Pretend I am right next to you when you read this if you need to.


#18

I only joined a few months ago but basically I think it all depends on what you expect to get out of this.

If you joined FreeCodeCamp expecting to get a top dev job after a few months of course you will very probably get disappointed. But if you joined FCC to learn, share, and get advice/feedback there’s no reason to get frustrated with it. And the more you learn, the more there seems you need to learn ( the ‘Google Gap’!), so that ‘feeling’ that you still have a long way to go is not a bad thing.


#19

Here’s a piece of advice for anyone reading this thread, you’ll learn more and benefit more from listening to people like @PortableStick, @IsaacAbrahamson, @JacksonBates, and @P1xt than you will from OP. You’ll also have a better time and a better outlook on life.

There’s no problem with setting realistic expectations, but not only are there outright fallacies in the OP, but the attitude is one of an upset child who was told he can’t have his ice cream so he doesn’t want anyone else to have ice cream either.

They say you are a product of the people you surround yourself with. OP is not the type of person one should surround him/herself with.


#20

Pretend I am right next to you? Seems like you are threatening me with physical violence with is against the TOS of this site…and just for your information, I am 6 foot 6, 265 pounds and a former marine…you would not last 60 seconds sitting next to me. Be careful how you speak to people.


#21

Getting advice from people who don’t actual do the thing they are giving advice on, nor have they interviewed for jobs, will give you a incorrect view or perception on reality…that is the main problem here…imagine asking your doctor for advice on med school, nursing, etc…to then turn around and tell the doctor that your friends searching online have different opinions…well that is great, but chances are the people actually in the business know what is going on much better than a few random folks expressing their opinions which are based only on what they read online…do you feel me?


#22

Nope. Not violence.

It’s a reminder to treat people with the same courtesy online as you would in person.

I’m closing this down now.


#23