My Goal: Become a front-end web developer.
My strategy is to teach myself front-end web development and create a portfolio.
Starting with HTML, CSS and Git.
As I'm learning, I'm figuring out what I areas I need to concentrate on more and also areas that aren't as important. For instance, I've noticed that I'm getting distracted with Treehouse Front-end Web Development track. I've found myself frustrated by how much time I'm spending on CSS in just memorizing selectors, attributes, and all the various properties. Most of them time I have to look up the names via Google because it's hard to recollect them all.
I'm also making my web pages overly complicated right now. So I'm starting back at square one and not playing around with too many properties.
So I'm going to jot in here what my learning goals are each week.
So much has happened since April! I started apprenticing as a front-end developer at ShareProgress in late May since I was getting bored of just taking classes on my own online.
I did try out Bloc mentorship, but they paused their course for 2 weeks in May since their curriculum was sorely lacking. It looked like they just threw up something quickly but didn't have anyone actually go through it as a newbie. Throughout, I never got a feeling that they really cared about my progression, but they saw me as just a money-paying beta tester. I heard that I was ahead of the pack, so I ended up being the guinea pig for their program.
I did talk to one of of their representatives earlier in June and they will refund me if I choose to not finish the program completely.
Anywho, I've been applying my HTML/CSS/JS/JQuery skills on-the-job as an apprentice which is better for me than an online mentorship program. I like the structure of having a full-day and full-week at work with colleagues and working on real projects. At first the work was unpaid but this month I was promoted to senior apprentice!
Thus far, I've worked on debugging some less than IE 9 issues, creating HTML/CSS pages, adding JQuery/JS/PHP to forms, getting data from Google CivicAPI, wrangling with WordPress(ugh), etc. It looks like I'm going to get a chance to build an API library next and I have another larger project starting in the next week.
Next week, I'm starting TechSF's Web Development Bootcamp which is 4 night and Saturday morning course that will last 3 months -- till September 26th. I hope the things I learn will be relevant and useful to my current work and to learning more full-stack development.
In the past week, I also got accepted into Hack Reactor, a very competitive bootcamp that takes a developer from 20-120 instead of the typical 0-60. I've been interviewing a lot of alums and asking employers of Hack Reactors students about their thoughts on the program. There have only been a few negative things heard, the students are probably the most effusive (but from talking to Dev Bootcamp alums, it seems like a similiar theme). Only people from General Assembly seemed less happy with their experience.
Hack Reactor is the most expensive program out there -- almost $18,000. Not including living in SF expenses! So, for now I'm fine with learning as a paid apprentice and taking night classes to make this work. I also hope that taking more time to learn more will put me in a better position when I start the program in September or October.
It's funny now looking at back at my entries just a few months ago. Most days, I feel frustrated at myself. I often compare myself to other programmers and probably have unrealistic expectations. But this Monday, I attended my first JS Algorithms Meetup at Hack Reactor where we working on The Matching Problem. Sure, it was frustrating accessing the data at first, but I was surprised that the guy next to me was just as lost, if not more. I was also surprised at how bad his code looked. It made me happy to see how much more I knew, and I had an inkling of growing confidence in myself when I had to explain the code to him and what we were doing. :)
When I walked around the room to glean some insights from other members, I was surprised at how many people also didn't know what they were doing either, but were crowded around more veteran coders learning. So, I ended up feeling not-so-bad even though initially I felt scared and intimidated since everyone looked so busy in their work, using whiteboards to outline algorithsm, etc. Phew!
I'm definitely feeling more comfortable in the command line, using Git, googling for help, being able to create websites in CSS/HTML and some JQuery. Most importantly, I'm getting more comfortable with failing or feeling like I'm way-over-my-head but still sticking through with a problem. I have a long long way to go, but I see it as a 10+ year project not just a year-long one. Of course, my goal is still to be a software engineer by the end of this year.
My Priorities This Week:
- HTML/CSS: Making some changes to the homepage redesign, getting new graphics
- Wordpress Integration: As much as I dislike Wordpress vs. Craft, I need to learn how to integrate my websites with WP since most consulting work involves this CRM system.
- Tic-Tac-Toe Game: I started working on this over the weekend, got the HTML/CSS/JQuery to work. Now working on the algorithms behind the game in JS. The biggest hurdle so far is finding matching arrays within arrays.
Starting back at HTML in Treehouse to double-check that I understand everything that's happening on the website. I initially skipped this section because the videos felt so slow and basic. But since I'm facing some issues with this site, I think it's good to refresh and learn best practices.
I've already seen some issues in my CSS where I placed the container class around the wrong blocks of content. I also need to pay attention to parent elements and specificity.
Today, I worked on using git version control, moving around boxes of content on this site, trying out alignment, transparencies and more. Still need to figure out an issue with the "Resource" section. Trying to add a border to it.
- CSS Box Model and Positioning: Play around with this more on this webpage
- Hosting Website: Purchasing hosting service from Digital Ocean or another service.
- Git: Getting more familiar with using git version control and publishing my changes there as well as on OCF's website. If there's a way to automate that, please let me know!
- Command line: Getting more comfortable with the Terminal and the shortcuts. Today, Corey taught me about Ctrl-A and Ctrl-K for deleting what's on my command line.