I got a job! Thanks so much freeCodeCamp!

After almost two years since starting on freeCodeCamp, I began this week my first job working as a software developer for a large company. Up until the end of 2017 I was a university instructor teaching language and literature. I got started on fcc in August 2016 when I decided that I wanted to make a career change into software and web development. Although I used several other resources along the way, freeCodeCamp remained the backbone of my re-education strategy throughout the career-change process. No other resource on the internet comes even close to giving you such a comprehensive roadmap on how to move from complete beginner to web developer.

At many stages of my journey from humanities instructor to software developer, the skills I learned on fcc were crucial. I’ve outlined my journey below. I do this to encourage and help others and to express my deep gratitude for the freeCodeCamp community. I find it so amazing that freecodecamp manages to be both completely free and the best resource out there. I’ve donated to them, and I encourage others who have profited from the organization to do so as well.

With gratitude,
Marcus

My background:

  • I have a bachelors and a PhD in literature.
  • As an undergraduate, I also took many economics courses, and one computer science class, Introduction to Java.
  • When I started freecodcamp, I knew not a single thing about html, css, etc. My only prior programing experience was the Intro to Java course I had taken 12 years ago in college.

How I worked on freecodecamp:

  • I worked for 1.5 years on the fcc curriculum. There were a few months when I did nothing, and then some months I did a lot. I ended up completing the FrontEnd certificate, all the projects in the DataVis certification except the DugeonCrawler game, and then all the smaller projects on the BackEnd Certification and one of the Dynamic Web projects, namely the Voting App. (Note: fcc has since changed the curriculum, so this description applies to the older curriculum).
  • The first projects I did (like my profile site) felt quite overwhelming, like I was juggling all at once many brand new technologies that were all strange to me (i.e. html, css, jquery). After a while, things very gradually seemed to become more manageable, and things that earlier had been tough became second nature. There is a gradual snowball effect, where the more you know, the better your intuition becomes on how to fix problems and learn new things.
  • I started to feel ready to apply for jobs once I completed the Voting App. This project tied together everything I had been learning (frontend development, React, data visualization, as well as MongoDB, npm, node, etc). I also felt that with this project I had essentially surveyed the entire landscape of web development. Of course, there still exists mountains of things I don’t know, but I had the feeling that I now had a rough sketch of all the terrain one generally might cover in building web apps.

Other resouces I used:

  • I audited a university course on Haskell. Haskell has become my favorite language. It is a difficult language, but it is so well thought out.
  • I took a Coursera course: Algorithms Part 1, Princeton University. The assignments were deliciously challenging.
  • I took Stephen Grider’s Udemy course “Node with React: Fullstack Web Development” in preparation for doing the Voting App. This course was amazing and really helped tie together my knowledge from the fcc curriculum.
  • I worked part time at my university’s ITServices, and for part of that time, I was programming. The things I learned on fcc came in incredibly handy here. For example, I was using jQuery to modify the html and css of web pages, and I was working with a website written in React.

My favorite parts of the freeCodeCamp curriculum:

  • Learning Heap’s Algorithm for the “No Repeats Please” algorithm challenge.
  • React! It turns the chaos of programming a webpage into object-oriented programming. Pretty cool! It’s also a very hot technology right now, which means that you can go to a lot of interesting meetups, or read a lot of interesting articles about how it is used in the industry.
  • The Voting App project. It tied everything together.

My advice:

  • I’ve seen this on the fcc forum before, and it became my motto: It’s a marathon, not a sprint. Getting to where I am now required a lot of time and persistence. I definitely had days when nothing seemed to worked, and then others when things worked better than I expected. The projects also require a lot of time. Luckily, my day-time job often wasn’t very demanding, so I sometime had hours in the day to devote to fcc. The last four months before getting my job, I was unemployed and working full time on fcc and related programming courses.
  • A lot of learning how to program is about dealing with frustration. When things don’t work, you have to learn how to keep a level head and calmly find a path forward. Dealing with frustration is part of the learning process.
  • Find the resources that work for you. Retraining to become a developer is about taking your education into your own hands. Fcc is a wonderful guide, but don’t expect the fcc curriculum, or another other resource, to spoon-feed you everything you need to know. You need to learn where to get help: use the fcc forum, look at other courses, use stack exchange, talk to people, etc.
  • Note on paid coding bootcamps: I looked at several bootcamps along the way, but decided in the end that they were overpriced, and that I could learn on my own what they were teaching. I value patient learning and personal persistence over the fast-track spoon-feeding that I saw bootcamps offering. I would be really careful about making sure that the bootcamp you sign up for is a good one. Good bootcamps do offer at least one fanstastic resource: their career-advising and alumni network. One bootcamp, the now defunct DevBootCamp, gave me the contact info of a former alumn, who I contacted. This alumn then gave me the bright idea to apply to work part time for my university’s ITServices. This was a crucial linchpin in my career change strategy.
  • Make sure to meet up with and talk to people who are programmers so that you can keep your career-change strategy fresh and perhaps even find a contact that leads to a job.
34 Likes

Congratulations! Can you provide any more info on your current role?

I’ll be working on all manner of software applications for an auditing company. It’s mainly about using new and emerging technologies (Blockchain, web technology, AI) to improve business operations. I’ve just started, so I don’t have more to offer.

4 Likes

Congratulations! Sounds like you had a lot of great experiences along the way to your first position. I, too, feel more like the marathon approach works better for me-more time to really absorb the fundamentals and for other reasons. Self-taught over bootcamp is the way I am going as well.

Hope to hear more from your experiences as you move along. :love_you_gesture:

2 Likes

Congratulations on making the transition! Getting a job at your university’s ITServices is a genius way to get exposure. I’m thrilled to hear you were able to immediately apply what you were learning there. Did the on-the-job experience you got with that part time job. Did this come up in your interviews that ultimately lead to your new job?

When things don’t work, you have to learn how to keep a level head and calmly find a path forward. Dealing with frustration is part of the learning process.

Well put!

1 Like

Hi Quincy,
My job experience at university ITServices came up several times during interviews. I interviewed at two companies in total and both wanted me to talk about what I had done at ITServices . Also, the company that did not extend me an offer cited my lack of experience, saying they were looking for someone with more experience and didn’t have the resources at the moment to get me up to speed.
It demonstrates how important employers find experience to be, and how important it is therefore to somehow find experience working with others, and not just on personal projects.

2 Likes

So totally agree on that point!
I have recently finished a bootcamp, but was learning on FreeCodeCamp before and after…
And at all the job interviews I have been, they wanted to hear about experiences, about team work.
It is awesome you met someone to give you such a brilliant idea to smoothly enter the IT world with small steps as working part time!
Very inspiring! Good luck with your new job!

2 Likes

That’s great that you found the bootcamp helpful. I came down too harsh on bootcamps in my initial post. They can very efficiently communicate a lot of information, and I have a friend, for example, who did very well with DevBootCamp. In the end it’s whatever resource works for you. Best of luck with your job search!