Note: This article was specifically created for submission to hello.js, “the official blog of the hellojs people”. Since it was highly relevant to this blog, I decided to publish it here as well.
The other day, Sami Andreas of hello.js contacted me regarding the latest writing challenge for hello.js. He stated that it was a very special challenge, and that it is. In his words:
I have been busy. I have so many things I want to accomplish by the end of the year. But there also have been things I HAD wanted to accomplish this year, and that I have (or have not). I did manage to accomplish many things despite challenges I had faced that were out of my control. By the same token, there were certain things I didn’t accomplish.
I took a couple of great courses at New York Code and Design Academy located in downtown Manhattan. It started in September of 2015, and ended at the beginning of February, 2016. One was Web Development 100, and the other Front End 101. I highly recommend them to anyone who wants to start learning web development and/or front end development. They provide a great foundation for that path.
Then I had to make a very difficult decision. Was I going to apply to an on-site bootcamp? Was I going to apply to an online bootcamp? Was I going to find an online platform where I could certify? Was I just going to learn on my own? My decision was going to be highly influenced by my financial status, but I also wanted to make sure that it was one that would result in gaining employment, becoming part of a team, or acquiring gigs.
I have almost completed all the necessary steps to “certify”. I almost did a few weeks back. But continuing to fill in the aforementioned holes first was more important to me than stating that I had completed a “path”. I had already completed other paths. My classes. TreeHouse multiple paths (they were a bit weak on real world project implementations). It simply was not enough in of itself. Not to say that what IS on Free Code Camp is not good or not great. Not at all. And I will finish when it comes naturally to finish. Hopefully that makes sense to some.
So what did I set out to accomplish and DID accomplish?
- I found great projects to work on and algorithms to solve.
- I discovered that I liked hunting for all sorts of information, and was very good at it. I also found that I was usually very good at implementing it as well. But then that’s why I love development. There is always something new to tackle. It keeps things interesting and challenges me daily to stay on my toes.
- I have been learning ES6. I have been tackling ES6 modularization. I have been refactoring a lot of code to match different scenarios.
Don’t get me wrong. Everything wasn’t just a bed of roses. What have I failed to accomplish?
- I probably won’t have completed the Free Code Camp Front End certification by the end of this year.
- I haven’t made a dime to my name. It’s a stressful feeling, but I try to remind myself that certain things have to be in place first before that can happen. I want to do things right this time, and not frantically dive into situations out of desperation because of a fear of lack of opportunity. Been there. Done that. In the long run, it just does not end well. And now is no longer then either. Patience is key, and the proof is in the pudding of skills. More than in many other career paths, (usually) a developer’s career is based on merit and/or achievement, and not on nepotism.
- Sometimes I felt I had to drop a project I was stuck on and move onto something else. I returned to it when I was ready to tackle it again. For example, I just recently finished a coffee order form application I had thought I would be able to refactor into ES6 modules, no problem. It was pure OOP in ES5, and I had little experience refactoring ES5 OOP IIFE modules into ES6 modules and classes. Still working on it, and have even walked away several times. Historically it was never in my nature to “drop” something and move on. I had to teach myself that it was OKAY, and that there were other things to accomplish in the meanwhile. However, the more I study and the more I create, the more returning there is, and completion starts occurring sooner rather than later. That helps to keep me going.
- I had hoped to find more opportunity to work on open source projects with others “on site” rather than anonymously online. It wasn’t for a lack of researching or trying. I only came across one opportunity a couple of weeks ago. I hope the opportunity sticks and continues… Or perhaps there will be more such opportunities in the near future.
- New York City is a tough nut to crack in any aspect of life. Don’t know where I’ll end up cracking my nut. I hope it is here.
It is hard to learn later in life than when you are just at the beginning of it. It’s not just the learning that’s hard. In fact, the learning part might be one of the “lesser” challenges. Not that the learning is easy, because it is so NOT. But because of what you stand up against. Competing against younger people who might be picked over you just because they are younger, and more malleable in the eyes of the employer or team. Or just that they are simply younger. The challenge of starting something completely new in which you have absolutely no one to vouch for you, only yourself. But you know what? That’s ok. I just have to keep on learning, creating, meeting other developers, making connections, and proving my worth every day to make things happen! It’s also about having confidence in yourself and your abilities. That’s the biggest challenge I face each day.
(Recent) Great Event Experience:
I participated in an event called “Let’s get to work: “Workathon” featuring 3 tech projects”, in which we all had opportunities to contribute to open source projects “for good”. It was hosted by the meetup “Tech For Good/Make A Diff”, and organized by Saron Yitbarek, founder of #CodeNewbie, and Ben Halpern, founder of The Practical Dev. This is the first time that I felt I was contributing to a project as part of a team who all were there for the same reason as I was. They wanted to gain experience contributing to open source projects on Github and to share their varied tech AND non-tech skills “for good”. The team I worked with, headed by Briana Vecchione of Microsoft, worked on the Active Project Repo:
An open source collection of active, open source projects that our community members should know about and can work on. This is a greenfield project that will need design, copy, coding, and research. Features include a submission and review process for new projects, an easy way to sort and tag projects, and a front-end to easily browse them. Led by Briana Vecchione of Microsoft.
To learn more about the project, please visit make-a-diff/civic-tech-projects on Github.
Some of the resources which have helped (and are helping) me along the way:
Git a Web Developer Job: Mastering the Modern Workflow (with Brad Schiff)
ES6 For Everyone (with Wes Bos)
Front End Web Development: The Big Nerd Ranch Guide (Chris Aquino)
Great Front End Resources to Glean From (blog post here)
Front End Development Resources Contd (blog post here)
And much more that I haven’t had the time to add to my resource lists here.
Currently working on:
Live Chat App called Chattrbox using Node.js, npm (in general), nodemon (specifically), WebSockets, and more!
Coming up in the new year:
React For Beginners (Wes Bos)