How I Was Able To Quit My Job And Pursue Web Development

It has been one month since my last post. I have not been blogging much but I am still learning web development. Just to update everyone, last month, I quit my job of four years. I came to the conclusion that I wanted to focus on my studies full time and work was getting in the way of that. It was a big and risky move to make but in a way, it proves to me how serious I am about web development. A lot of my close friends asked me, how will I do it? What is my back-up plan? And honestly, I don’t really have a back-up plan…other than riding for Uber/Lyft when my savings run out. But in some other ways, taking this time off is a risk I am willing to take. It allows me to put in all my time and energy towards what I am passionate about. To me, it is a risk but not as big as some people may think.

I know there are some people who might be in similar situations, where they don’t feel like they are getting anywhere with their current job/career. Or they also want to pursue web development but are too afraid to quit their current job. There is a lot of fear about leaving your job and becoming unemployed. And I hope I can help some people see that it is possible.

The biggest fear that comes to a lot of minds is finance. How are you going to survive? What if I can’t find a job before savings run out? What if web development is too hard and I find out I don’t want to do it anymore? These questions run through my mind all the time. And I do worry about them because I am human and I do have fears. But, these type of questions also help motivate me to work harder everyday. And I have. Since I my last day of work (one month ago), I’ve learned to build a responsive webpage, cool mini-projects using JavaScript/jQuery and have met some cool developers along the way. Some days, I find myself stuck with a problem and it can get frustrating but its all part of the process. I know my time off is going to pay off eventually. I’m lucky that I do have savings to keep me going for a few months. And to answer the question, what if web development is too hard and I don’t want to do it anymore? As of right now, its all I do. 24 hours a day, 7 days a week. And I love it. I love the idea of solving problems and building things. I embrace the challenging because let’s face it. Programming is hard. I’ve had dreams about code and what I want to build. And as long as I continue doing what I am doing, it is only a matter of time until I find work and begin my new career. No one is ever sure about the future or what’s to come of it but as individual, you can make your future. And that is what I am doing.

If you have any stories or questions about my plans, please share them below in the comments.

Stay tune for updates.

Francis

Advertisements

Mars Survival Kit: Disco

the martian

You might also need a brilliant amount of knowledge in math, science, and botany. I just finished reading The Martian by Andy Weir and followed it up by watching the movie directed by Ridley Scott. I know, it has been two months since my last post and the first thing I do is a book/movie review. I thought it would be great to share something different to the world for a change. No need to fret. I’m still keeping up with my studies. In fact, I’m finishing up my portfolio page and will be ready to apply for a new career in the coming days. I’ll get into that later. But first, The Martian.

I’ll be honest here, it’s been a long time since I finished a book. That’s because I usually don’t read books. That all changed when I discovered audible.com. You can sign up for a free 30-day trial in which you get 2 credits towards any books. With my fragmented schedule, choosing to do audiobooks gives me the chance to catch up on reading while doing other things like driving, doing errands, and/or folding laundry. I understand the pros and cons between reading a book and listening to it. And listening might not be for everyone but with my lifestyle, it works for me and I still get to enjoy a story.

I chose The Martian because the movie had just come out and it was doing very well in the box office. The story is about survival, a man who is cast away and is up against all the elements on a desolate planet. It packs a heavy chunk of math and science but once you can get past that there is also A hearty dose of humor. After all, the novel is about a NASA astronaut who gets abandoned on Mars and has to ration his limited resources in order survive. From figuring out how to preserve food supplies, making water and soil out of human waste in order to grow potatoes, the novel goes into great details on Watney’s complex scientific approach to solving these problems.

I would recommend reading the book before seeing the movie. Not because the film is bad by any means (it actually enhances the overall experience of the story), but because the novel offers so much more. I had already mentioned the science that goes into it. Astronauts are highly educated and brave. They are the best and brightest. Watney is a botanist and mechanical engineer and both of these things helped him tremendously over the course of the story. And If you read the book first, you’ll simply know the back end a lot more than you would in Scott’s adaptation.

I will give credit to the movie for the humor. Although, the book was still funnier, the film did a great job making Watney a real character with his wide range of emotions. We learn how much he hates disco and the movie does a great job in making us laugh about it. Even so, the book gives us more depth because we got the chance to spend more time in his thoughts which we do not get in the film.

One major downside of the movie was the challenges Watney faced. They were much greater in the book than in the film. Not only more conflict and more crazy things that went wrong, but there were in more detailed with solutions being more elaborated. Some of my favorite most gripping drama in the novel was simply cut short or non-existent. Things were always going wrong for Watney and he never stopped surprising me with his cleverness and upbeat attitude in the face of great danger. You would only catch a glimpse of that in the film. Same goes with all the other characters. The film only scratches the surface behind every decision, comment and thought each character made.

Nonetheless, both the book and movie captures something special about human nature. This is a story about people coming together and working towards a common goal. It’s about good and brave people doing their very best against the odds, and remaining hopeful in the worst case scenario possible. Its about combining science and human decency to work peacefully towards saving one human life. If you don’t choose to read the book, I think you’re going to miss out on something special. But even so, the film is something special too.

Book Rating: 9.2/10
Film Rating: 8.9/10

Project: Random Quote Machine

Inspired by one of the best shows on Netflix, Sense8, I built a random quote machine using JavaScript. The project is from Free Code Camp and it required me to build a webpage where a user can press a button to show a random quote and another button to tweet the quote. I thought the best way to do this was to get memorable quotes from the show and put them into an array and then build a function to have each array picked at random every time the user clicks the “New Quote” button. I also built two functions: one to avoid the same quote from being picked randomly twice in a row and another to send an alert to the user if the quote they are trying to tweet is over 140 characters.

This was an enjoyable project to work on because I had a clear idea of what I was building. It also helped because I was collecting my favorite quotes from the show.

Check out my “Random Quote Machine” here!

Project: Custom Homepage for San Francisco

Today, I spent my study time building a custom homepage for San Francisco. I used what I learned from CodeAcademy to build the page and borrowed most of the contents from San Francisco Travel. Also, the images are from Unsplash (free HD photos). The purpose of this project was to use html and css so the page is not as responsive/fluid and the button links lead to nowhere. I know very little about UX design so there is still room for improvement. In the future, I will come back to add more contents and interactive features using JavaScript and jQuery. But for now, you can see the webpage here.

Thanks for checking!

Screen Shot 2015-08-13 at 9.15.34 PM
Custom San Francisco Homepage

Meteor.js

It has been well over two weeks since my last post. I’ve been keeping myself busy with the vast amount of tutorials and mini-projects that I get too tired at the end to update my blog. I’ve spent most of my studying time reviewing HTML, CSS, JavaScript, and jQuery. It’s important to me that I remember the concepts and can solve problems without having to go back to the texts or examples. I am practicing the same code over and over until it becomes second nature.

Additionally, I learned how to build an app using Meteor.js. I worked on the MeteorTips tutorial which helped me get better understanding of using the command line, back-end technologies such as MongoDB, node.js, and database security. With what I learned, I am more confident I am capable of building simple applications like this. With a few lines of code, I was able to build a Leaderboard list where you can add/remove players to it, give or take away their score, rank them by how many points they have and select/highlight certain players. Some other things I learned that you do not see is the database for login, player’s data from each user, and security (so people do not sabotage your application, fill database with useless data, and etc via console.

What is the next step?

The next step is to think about what I want to build with what I already know. I have some friends that asked me to help them with a webpage for their photography hobby. I am hoping I can apply some skills in HTML, CSS for design and then use JavaScript, jQuery to make the page more interactive. Other than that, it’s more self-studies. I plan on hopping back onto the Odin Project to work on the HTML5/CSS3 and JavaScript/jQuery portion.

That is all for now. Come back later for more!

Screen Shot 2015-08-10 at 8.56.39 PM
This is Meteor.js!

Summary: JavaScript

Day 22

A total of 8.5 hours was spent today. I learned a lot about objects-oriented programming – which really gets down to the heart of programming. The other half was doing chores and running errands in between. One great thing about having a day off is the chance to study and learn all day without any distraction. The not-so great thing is using a day off to study and learn all day. But with that said, I understand I must sacrifice some things like my social life in order to reach my goals. In fact, now that I am done with the JavaScript track, I can start pair programming on FCC. This means, I am going to work with another individual on some algorithm scripting exercises. No longer do I have to study alone!

The other day I came across a quora question: Has anyone landed a job after completing a project with Freecodecamp? (link here). It was encouraging to see a few individuals get jobs and most of them haven’t finished the FCC curriculum. I will admit, there are some days I will find myself losing the motivation, but when I read things like this, it gets me back up. Also, I learned how effective the Pomodoro Technique is.

This week, I will be attending two meetup events. One group will be lecture about algorithms & sort methods and the other will be a local group that specializes in JavaScript. Check back with me soon! Cheers!

Screen Shot 2015-07-27 at 8.08.28 PM

Project: Build a Etch-A-Sketch Pad (using JS & jQuery)

Day 18-21

This project was a great example of using Google (a lot of it). Most of the answers to my questions came from research rather than what I learned in the tutorials. The other portion was trial and error. I had a lot difficulty (and frustration) trying to accomplish the ability to create a function that would make the squares change to random color, change opacity as it runs over a square each time, and trail when you hover your mouse. I think by working on this, I was able to get a very strong understanding of using jQuery, HTML, and CSS as a complete unit.

Following up on this project, I am working with a group to build a webapp that will be using Meteor.js. Meteor.js is a full stack platform that is built on Node.js. It allows you to build and manage the front-end, back-end, and database with one language, JavaScript. One main reason why I think this framework is great, is that it’s reactive. Any changes that you make will automatically reflect throughout the app without the need for callbacks. It focuses on real-time applications. So, any changes made, are instantly reflected in the UI. Leading tech companies like Twitter and Facebook have already moved towards this way and the community continues to grow. Lastly, as a beginner, I find it surprising how quickly and enjoyable it was to start building. I’m still in the process of learning this library, so there is still a lot that I don’t know. But if I have to say anything, I would say that Meteor.js looks very promising.

Click to see the project or View it in browser.

Screen Shot 2015-07-20 at 11.37.06 AM
Etch-A-Sketch Project

My Current Progress, JavaScript & Node.js

Day 17

I took a break from my studies on Monday to go hiking in the morning and was beat tired when I got back so I rested. On Tuesday, I worked a 10 hour shift and Wednesday I attended a HTML5 meet up event at the Google office in San Francisco. It has been a busy week for me and I finally got a day to do some coding. At the beginning of the week, I made it a goal to complete the JavaScript/jQuery project on TOP, finish the JavaScript on CodeAcademy, and begin freeCodeCamp. So far in my project, I have the HTML/CSS files complete but when I began the JavaScript, I got stuck. I am trying to figure out the functions to set a hover effect that changes the color of the square when the mouse passes over it, leaving a pixelated trail through the grid, also, a random color marker and an opacity marker – which at this point, is difficult.

Instead of trying to finish up the project, I thought I cross out some of my other to-dos and start freeCodeCamp. Most of the waypoints were review from The Odin Project. So, I was able to finish the introduction videos, basic HTML/CSS, responsive design with Bootstrap, jQuery, and JavaScript portion quite quickly. Next up is the Basic Algorithm Scripting.

For the rest of the evening, I am going to review some JavaScript and possibly finish the CodeAcademy portion. Attending the HTML5 event yesterday got me really engaged and has inspired me to learn back-end development. The event was specifically about RESTful API with Node.js ad you can watch the video of the event, here.

Walking out of the speaker event, I learned that Node.js has exploded in the past year or so. Big companies like Groupon, Paypal, LinkedIn, Netflix, Yahoo have been switching over to use Node.js. JavaScript and Node.js have several advantages over other back-end languages:

  • significantly faster than Ruby, Python, and PHP
  • significantly easier to code in than Go, Scala, Haskell, C++ and other high-performance languages
  • undergoing a major investment of money and talent from companies like Google, Facebook, and Microsoft, and thus is constantly improving
  • can be used from everything from embedded devices to major APIs
  • the only tool where you can share code between client and the server which makes its possible for back-end and front-end developers to easily collaborate
  • oh, it is also the best paying languages, and with its ongoing growth, there are tons of job openings

JavaScript and Node.js will continue to grow as it becomes more sophisticated and powerful in the foreseeable future.

jQuery 101, freeCodeCamp & Full-Stack JavaScript

Day 16

Finished jQuery!
Finished jQuery!

jQuery is a library of JavaScript functions and widgets that lets you control the elements on the webpage after it has loaded. You can do cool stuff like fade elements in and out, add/move/hide new contents, and etc. Basically, jQuery uses JavaScript to make your page more interactive with the user.

I finished the jQuery track on CodeAcademy and CodeSchool so I am considering going back to complete the last portions of JavaScript. I’ve also spent some time reading the Eloquent JavaScript book and the next step is to work on the JavaScript/jQuery project on The Odin Project. Once I finish that, I will be moving over to freeCodeCamp.

So, lets talk about freeCodeCamp. I was surfing around the internet this week and came across FCC. It’s similar to The Odin Project but with more emphasis on JavaScript, both on the front-end and back-end side (Angular.js and Node.js). I have been committed to TOP for the past month and it has helped me learn quickly but after seeing FCC’s curriculum and features, I am switching my web development studies over. FCC has a great interactive system that effectively maps out and keeps track of your progress. The best thing of all is, you get to build projects for non-profit organizations when you’re finished with the learning. That pretty much sold it for me because nothing beats having a portfolio filled with “real” work. Also, as I learn more JavaScript, I am beginning to think this is the programming language I want to focus on most. The job market continues to grow rapidly with JavaScript being the more popular technology in 2015 (Stack Overflow).

Here are some more articles about Full-Stack JavaScript and its growing popularity:

http://www.smashingmagazine.com/2013/11/21/introduction-to-full-stack-javascript/
http://www.infoq.com/articles/javascript-skills-in-demand
http://mashable.com/2015/01/18/programming-languages-2015/

“Chess Board” Exercise

Day 15

It’s getting more difficult for me to get a lot of studying done on the weekdays because I am at work for the most part. I wanted to finish up the exercise from Chapter 2 in Eloquent JavaScript and start the CodeAcademy’s jQuery track. I thought the FizzBuzz exercise was fairly easy but the Chess Board exercise was quite difficult. I ended up spending 2 hours trying solve it. And, I’m not sure how that made me feel since I don’t the average time it would take. But, to say the least, I am happy to complete it. The reason why it took 2 hours because I spent more time after re-doing the problem over and over. I hear that this is good practice to help understand it better. It’s like watching a movie for the second time, there’s usually something you missed from the first time around – especially when its complicated and have plot twists.

Here it is, in all its glory:

Screen Shot 2015-07-07 at 9.39.54 PM
EloquentJS Chess Board Exercise

It is now getting late into the evening but I will to start the jQuery track and see how far I can get before midnight strikes. Stay tune!