coding

New Year, Fresh Start

It’s a new year, and I’m beginning my first full-time development job.  Today I pushed my first code to productgirl jumpingion.  I could not be more thrilled!

2014 was a big year.  I quit my job, went back to school at Fullstack Academy, learned how to do big-kid javascript, built 13 full-stack applications, and learned how to work with many emerging technologies, from d3 to tessel to CSS animations.

As I approach my new job, I want to make sure that 2015 is an even bigger year.  My current goal is not to get broader by learning a bunch of new languages, but instead to solidify my understanding of what I’m doing now — front-end JavaScript, CSS3, HTML5, and their associated libraries.  I propose the following set of goals:

General

Increase proficiency with git, completing all 50 levels on githug

Continue to push at least 2 commits to github per week (personal projects)

Become a regular contributor to one open-source repo

Present at 2 Meetups or conferences

JavaScript

Create a new d3 web app based on a current news event or issue

Read EcmaScript 6 — all of it

Learn reactJS

Learn coffeescript (necessary for my current role)

Learn to work with a templating language other than swig, such as handlebarsJS

Solidify knowledge of promises and use them in a project

Be able to implement all JavaScript array methods without having to look up documentation online

Learn how to write and run effective unit, integration, and e2e tests in jasmine and mocha

Fun

Play around with 6 emerging technologies or libraries, including CSS animations, polymer, handlebars

Test out and review 10 of the hottest mobile apps this year

Create a personal project using PhotoShop and Illustrator, so that I’m able to use basic features effectively in both programs (necessary for job, useful in the future)

______

I’ve included several public-facing goals that are not directly related to learning, such as presenting at meetups and contributing regularly to an open source project.  These help me stay accountable to my learning by creating pressure to be able to explain what I’m learning, subjecting my understanding to scrutiny.

The fun goals in the list help me stay up on the latest technologies outside my specific realm, but they’re all things that I’d enjoy doing anyway.

What did you set out to accomplish in your first year?

Advertisements

Surviving Bootcamp

I’m now coding 8-9 hours a day at FullStack and at home.  That’s on top of 2 hours of commuting (when I’m also reading coding blogs…). This can be mentally and physically exhausting, but after six weeks, I’ve learned some tricks to keep me going. 

BOOTCAMP KEYS TO SUCCESS:

1. Plan Ahead

I don’t have time to rush around the house looking for my shoes, or to run out to the grocery store at the last minute if I forgot something.  I plan the week’s meals — lunch and dinner — on the weekends, and prepare anything I’ll need.  I tend to cook in bulk and eat a lot of leftovers. Likewise, each night I pack my bag for the next day, including laying out my clothes on a chair.  

2. Healthy Snacks

I keep healthy snacks around at all times to keep me energized.  There’s nothing more awful than the feeling I get after eating a bunch of junk food.  When I’m tempted to eat a big bowl of ice cream, I head for the orange juice pops in my freezer.  I keep almonds in my bag, for the days when I’m on the go and need some sustenance.  When I’m coding and I get the munchies, I turn to fresh veggies like celery and carrots, or to those thick pretzels that have satisfying crunch with very few calories.  I always eat a lot of protein for lunch, and that combined with healthy snacks sustains me through the day.

3. Flow

Each day, I try to do one activity that completely takes my mind off of coding, something I really enjoy.  The ones that work best are right-brained activities where you can get totally absorbed.  I like playing the piano, working on an art project or a puzzle, or tackling an organization project around the house.  I finish these activities feeling refreshed, almost as if some kind of reset button has been triggered in my mind.

**CAUTION: Approaching Max Frustration**

My day coding today was terrible. Think Alexander and the Terrible, Horrible, No-good, Very Bad Day, but substitute a recurring ‘CANNOT PERFORM FUNCTION ON UNDEFINED’ for the lima beans.

We’ve been working on mongo.db (databases built through objects instead of columns) and using it to build our own wikis. In the course of the day today, I broke everything I worked on: the database, the wiki, another page I worked on.  My breaking streak spanned the entire day, includiError Messagesng sharing an idea during the lecture that ‘broke’ the document we were learning from, hence lecture = over.

And that, my friends, is the coding profession in a nutshell.  The goal is to get a program to work once, then to not ever have to touch it again, because in editing it you will invariably break it AND the 100 other scripts attached to it.  And, as in life, it is important to be able to accept a failure, walk away, and come back with new ideas.  Again.  And again.  And again.  And a-… Can someone throw me a loop function?