Monday, December 29, 2014

Accelerating the visualizations project.

Remember that project on visualizing data structures and algorithms I mentioned from earlier today? Yeah, it's getting real. 

After blazing through the core requirements for our sprint on AJAX, XSS guarding, and jQuery, my pair partner and I placed on hold the eventual refactor into Backbone that we'll commence tomorrow. We've both done the Backbone tutorials on CodeSchool, so it should progress quickly as well. 

Finding ourselves with "free time" around 9:30pm, I rounded up my partner-in-crime for the data visualizations project for a kickoff meeting. In the process, I roped in my pair partner for the current sprint, because he was hanging around, seems vaguely interested, and is a really intelligent and capable coder. It was fun playing the role of networker and team recruiter. 

Our first meeting last night went better than I could've hoped. We spent the entire hour discussing our personal goals and motivations for the project, which led into establishing a mission statement. We have a fairly clear understanding of the project's scope and intention, about which we can organize and rally. Such discussions often strike (less wise?) people as unnecessary and a waste of time, but I genuinely think these early conversations can make or break a project. Clear mission can prove invaluable to motivating a team. I'm so glad that others valued it equally, as evidenced by the sincerity with which they engaged in the conversation. We didn't settle for an "-ish" mission statement -- we wanted to know exactly our goals. 

I'm feeling very excited about this project. It will not simply be a random collection of notes and thoughts. It will deliver high-quality learning tools for understanding fundamental building blocks of CS: data structures and algorithms. We are building something to show to potential employers with pride, and to share with the broader community to improve learning. In the process, we will develop mastery of the topics we feature. 

I'm impressed it took so little time to settle upon an interesting pet project idea, one that has great potential. I'm so glad that I could recruit a couple others to my project, because I'm genuinely interested in it and am so happy that others are too. There's something gratifying about watching others get on board with your project idea, or at least with your leadership -- the last part is to acknowledge the idea's invariable morphing upon the inclusion of others. This happened once before -- at Stanford with Engineers for a Sustainable World. It's been a while since I was in a project leader role, and it feels good to be back. We'll see if that role remains necessary, but at the least I'm happy to provide the initial leadership. 

Maybe one day it may become a monetizable idea, or it may not; either way, we are committing to creating high-grade professional code. Building a better quality product is good for us -- it feels good to take pride in what you build -- and good for our bottom line -- be it as a portfolio piece or a monetizable website. 

I had to drag myself away from the building at 10:45pm, acknowledging the 60-minute commute that awaited me (night trips generally take longer). All I wanted to do was delve into the finer points of project architecture, our next steps in development, and setting up the scaffolding that will support our collaboration. My mind is alight with excitement. I hope I'll be able to sleep. 

Sunday, December 28, 2014

A restorative break.

One week off from Hack Reactor for Christmas provided some welcome respite. Often to sleep early, late to wake up, I was investing in sleep the way a squirrel stockpiles nuts for the long winter. (Boy, do I have a long winter ahead.) My time was well-spent and naturally balanced: friends, family, self, work, I did a little bit of everything.

(And now, a little side break for adorableness…)


Eureka, the family dog, was something of champion of cuteness. Here she was, lounging on our family room couch in front of the fireplace. Under regular circumstances, dogs have always been prohibited from resting on furniture. She has a good life. 



She now has a knack for opening presents. Give her a wrapped box and permission to open it, she will work her way into it, much like a kid.


And, attacking the toy monkey hidden inside:



Much of my Christmas break was spent in the family room, planted squarely next to the fireplace. I love fires, had a healthy appreciation built up from my days in Boy Scouts.

I remember one year when an ice storm hit Portland and knocked out the power for a couple days. We navigated rooms with candles. My brother and I were tasked with tending the fire through the night to keep the house a bit warmer. We traded shifts. It was wonderful.

Naturally, one of my favorite activities at home is to do my computer work next to a fire. I would set myself up in the morning, get it going, and then keep that spot as something of a home base for the day's remainder. Sometimes I would do actual work, sometimes I would lie on the couch and gaze at the fire, or at the Christmas tree. The hearth brought a pleasant warmth to the room, though it was hardly necessary thanks to the modern luxuries of HVAC.

Definitely ready to get back to Hack Reactor. The break was welcome and restorative, but now I'm itching to challenge myself yet again. Very soon we will cross into unfamiliar territory, so I'm eager to learn stuff that is absolutely essential and completely unknown (e.g. AJAX).

A fellow cohort member has taken interest in my project visualizing data structures and algorithms. (I wrote a blog post about my project.) He wants to collaborate. While I've enjoyed having this as a pet project, I suspect more will be learned and accomplished by having a hacker in crime. We'll be working mostly in parallel, so it will offer us a valuable opportunity to practice collaborating on the same coding project in a small, low-stakes environment. Project and process management -- my favorite.

The next four weeks will be a relentless onslaught of learning. I'm averaging 85 hrs / week at Hack Reactor -- which includes meals, because those are typically spent talking about code or reflecting upon our work. By the end of it, I'll be building full-blown apps as a full-stack developer. 

Friday, December 19, 2014


We covered algorithms yesterday, as it applied to the n-queens problem. (For the uninitiated, it asks how many ways can n number of queens be placed on a chess board of n x n size.) 

I've done the problem before in CS106B, the C++ class. Even with familiarity, and partnered with someone with a CS degree, it took us a solid four hours to implement the solution. I believe we solved it faster than anyone else, but it was disappointing how long it took. Even with the answer more-or-less understood, we ran into classic errors in logic. We were quick about dissing them about, but... Dang, the brain is bad at programming. 

Today we worked on parallelizing the problem. (That means splitting the problem into subcomponents and running them on separate threads. (In fact, this is not what actually happens with JavaScript; it only simulates the behavior.)) We successfully grasped the implementation of web workers over the morning session.

While implementing the web workers to solve the n-queens problem, however, we ran into a roadblock. Web workers have exceedingly limited access to the rest of the program. We knew this, but we didn't foresee the logistical implications until we were about to implement the solution. Then we realized that we were stuck. After some unsuccessful rabbit-hole exploring to find a workaround, we assessed our options. 

We could proceed to implementing a bit-wise solution (a super efficient and clever solution, but also challenging to understand), or we could refactor our entire code to work in the web workers. Both seemed like exercises that would add little value to our learning. So, we took a break, then shifted gears to work on more common yet challenging data structures.

The wind had already been sucked from our sails, however. It was hard to get motivated. We were so set on solving a problem. I'm proud of our ability to step back and assess the value of different paths, but unfortunately we couldn't fully commit to the new course of action. We both wanted the original problem solved, which we had been building up toward for the past day and a half. (No wonder people have a hard time shifted gears when design requirements change.) In the end, we made minimal progress and called it an early night. 

Well, more like we didn't call it a late night. I still left around 9pm. Laurie Voss, the CTO of npm (a heavyweight in the industry, a popular code package manager for JavaScript) gave a presentation on "all the stuff everyone knows but you." It was a grab-bag review of grips and advice from senior developers, and what they wish the juniors could do. He never actually explained anything (which he disclaimed at the start of the lecture). It was essentially a list of things we should go learn about and understand. Sometimes he would capture the high level idea so we'd have some context, but the implementation was never covered.

Some people didn't like this scattered style, but I loved it. Also, he had quite a lot of jokes, and his slides were excellent visual aids. I especially like the premise of the presentation: trying to capture all the things that people assume you know, but never teach you. 

And again, advantages of Hack Reactor shine through. The evening presentations have been some of the most valuable material I've encountered. From building a web app from scratch to see how the different frameworks interact, to delving into Unix/Linux, to the most recent presentation, I have consistently learned so much. In addition to material, I am constantly driven forward. Left to my own devices, I would certainly get stuck on the topic of algorithms. Instead, I move on to learn about D3, a handy data-visualization package.

A promising light.

[Backdated: 2014-12-17]

I’m consistently impressed by what I see from the seniors. Only six weeks ahead of us, they show off impressive technical capabilities. They work naturally in groups and are, on the whole, very pleasant for interaction. I have absolute faith I will be there in six short weeks as well. It's quite exciting to consider. 

When debating my decision, the issue of timing came up. While I could eventually reach the same skillet on my own, I'd probably not accomplish it as quickly. There are two reasons for this. 

Reason 1: part of what makes me a successful self-learner and engineer is that I doggedly pursue topics I don't understand. I will hound it until I fully grasp almost every detail about the concept. It allows me to follow rabbit holes to their completion and generally return with a successful search. At Hack Reactor, we're given a mere two days to explore the space of a topic. During those two days we will need to fulfill particular requirements that demonstrate comprehension on different levels. At the end of the sprint, it's on to the next topic; you must leave the old on behind -- unfinished threads and all. I think of it as extreme time boxing. Maybe I'd be able to replicate it on my own, but it likely wouldn't last long. 

Reason #2: I have better stamina here. I've consistently spent 14 hrs a day at the Hack Reactor space. Sort of like being at work, I find myself more self-motivated while there. It's easier to stay focused. There's a crew of ~30 others to hold each other accountable to doing our best. The network effect is powerful here, keeping us on point. While I've successfully pulled off 70 hr work weeks before, I was left far more exhausted by the end, and it was less solely focused on programming. With HR, I am compelled to not dither with other matters. And with a $17,000 price tag hanging over my head, I am making sure to make the experience worthwhile. 

So far I've had great success. I ended up solo for this last sprint. Not by choice -- the topic wasn't particularly interesting -- but there it is. I completed some of the extra credit (image uploading). I would've completed more, but I focused a lot on the fundamental learning objectives (subclassing and inheritance), employing the concepts as much as possible to cement them in my mind. 

Today we focus on algorithms. It's the one other sprint where we deliberately pair with someone of equal technical level. I'm working with someone who has a CS degree should be a good ride, perhaps even a challenge for me to keep up. I'm looking forward to it. 

Also, I'm getting my new keyboard! At the recommendation of an HIR (Hacker-In-Residence), I purchased a special split keyboard. It's actually split into two separate components, so it can allow your elbows to rest at a natural alignment under your shoulder sockets. I tried one out before purchasing, I'm super excited about it.


The long haul.

[Backdated: 2014-12-14.]

That's what I'm in for.

After much long and hard deliberation, I have committed to staying at Hack Reactor. So many thanks go out the those who offered advice or a listening ear during the past week. 

There's no doubt that I could do it on my own. But, I am increasingly convinced that I will gain more by being at HR. On the whole I feel confident about my decision. Many talks revealed the broken hiring process, leading me to believe that I will have more opportunities with the backing of HR. I will engage with more project work than I would on my own. And I'll move at a faster pace to cover a broader swath of material than I would normally. (I'm a depth-first search kind of learner.) 

My conversations with many seniors whom came in with similar or greater experience than me sealed the deal. Each one of them loved the program and were gaining so much from it. Sure, there's confirmation bias in that I'm not talking with those that dropped, but at least those whom stuck around did not regret the decision. 

So now I have another 11 weeks of fast-paced learning to look forward to. I'm averaging 13 hrs a day at the space (including meal breaks, but those are usually spent talking a out code as well). 

Even today, I plan to code in the evening. It's just fun. Also, I spent south time deliberating and discussion my decision that I didn't have nearly as much coding time as everyone else. Sure I'm still ahead of the curve, but there's more advanced data structures in "nightmare mode" that I want to dig into. 

I also published a new tech article on productivity tips in Sublime Text 2 -- the de facto text editor for programmers (and blog writers these days). Took a solid two hours to put together. It's partly intended for my cohort, some of whom are completely new to Sublime. Putting together the "greatest hits" of productivity tips will hopefully get them working faster in short order. Customization is a tough thing to accomplish -- because it's such a massive potential time sink, most edge away from the gaping hole and never try. My hope was to provide a digestible amount for newcomers. 

Sunday has not been all work. I took the morning to have a breakfast of southern comfort food, I went for a walk while listening to a podcast, and I'm visiting a friend for lunch. It's been a quiet, peaceful day, with the sun shining to warm my spirits. Days like these make me think I have PV panels somewhere in my body, because I feel so happy when the sun hits me. 

I suspect my fitness will take a hit during my time at HR. They give an extra hour to exercise every other day, but I've taken those times for coding or deliberating or catching up on other work. Also, an hour is not quite long enough to comfortably fit in an Insanity session.

Meanwhile, my eating habits are subpar. With only an hour for lunch and never any time to buy groceries, I am eating out for all meals. There's a motion among the cohort to organize to have catered meals from healthier restaurants around town. Would be relatively cost-effective and happier on our diets.

I wouldn't be surprised if I lose noticeable fitness through this time. On some level I'm okay with it. I'm attending this school to be out of balance, to live and breathe code, even at the expense of other things. It's only three months, so it's reasonable in my book. So far, the pace and dedication of time has been sustainable. I easily maintain focus throughout these super long days. Hopefully that'll continue. 

Saturday, December 13, 2014

Pushing the boulder over the hill.

The past two days have Been exhausting. Yesterday in particular saw me vacillate wildly on the decision to stay at Hack Reactor. There are heavy considerations to balance. 

My second phone interview with the consultancy firm went really well. He's a straight-up kind of guy, laid back, yet I get the impression that he takes seriously the stuff that actually matters. Asking him about working remotely, he said, "As long as the client is happy, I don't care." Even from Europe. Wow. No pushback. I immediately began to dream about building webapps from around the world and teaching dance on weekends. The integration of engineering and dance would be complete. 

The market for programmers is shockingly unbalanced in our favor. Estimates vary, but something on the order of 3 jobs are open to every 1 new engineer. That's partly why these bootcamps can work. Companies are hungry for new talent, the hiring prospects are fantastic. The CEO, in response to my question of why hire junior engineers, said that there simply weren't enough senior web developers out there looking for jobs. 


Lectures continue to be review of material I learned over the past couple months. While part of me is bothered by this, another part appreciates the review as an opportunity to test the rapidity of my recall. Can I anticipate what the lecturer will speak about next? Can I answer all his questions posed to the group on the first try? Much like any review, I try to not let "yeah, I've heard of that before" be a sufficient answer. I want to know it effortlessly. That was one of my key reasons to attend HR: ensure I know the fundamentals. So far, so good. 

A few conversations have occurred in rapid succession to push me toward staying.

First, a conversation with a fellow junior, similarly experienced in web development, and equally practiced teaching himself material. He was absolutely confident that he will learn more faster here. He didn't seem much concerned about the present skill level of the others. Not only was the conversation impactful, it was also enjoyable. He's a genuinely nice person. Good listener, attentive, thoughtful. We had a very good time. This has happened on several occasions, where I find myself engaging with others and being so impressed by the depth of their humanity.

Second, a chat with Anoakie. Simply put: attend Hack Reactor. You could make it on your own, but the hiring process in the industry is borked and every bit helps. 

Third, an email from another CS friend. A small essay reflecting upon my present situation and sharing her perspective. Well-written, articulate, and so carefully tailored to address my concerns. The key takeaway was similar: attend because it gets you a foot in the door and will serve you well in the first couple years of job searching in tech. I'd say receiving this email was a tipping point. Convincing myself to stay had become my Sisyphean task: two steps forward, two steps back, always stuck in indecision. With this email, I crested the hill and watched in amazement as it gathered momentum.

Fourth, conversations with current seniors. One of whom has years of experience as a professional software developer. He was very happy with the experience. The skill disparity was apparent to him as well, but that normalized upon reaching modern web technologies. Another, a self-taught web developer with five years professional experience, also entirely happy with his decision to attend Hack Reactor. 

Fifth, conversations with the class shepherds (former graduates with more experience whom are always on call for technical help). Key takeaway is that I could always go to them for more personalized feedback, something that I really wanted. 

Sixth, a conversation over lunch with a fellow junior with a CS degree. He has the experience, the contacts. And he is positively thrilled to be in HR, so totally convinced of its value. His certainty was contagious. 

Meanwhile, my fellow boat-mate continues to grapple with the decision. He's been equally up and down, generally leaning toward down. He left early today to spend some time reflecting. We've been quite supportive of each other, for which I've been grateful. I really have no idea which way he will go. I hope he sticks around; he's a great guy and I'd like to do a project with him. 

By him leaving early, I had free rein to program on my own. Even as I become convinced of the value of this program, I still sometimes get the urge to do some solo hacking. Communicating constantly about what you're going to code next is both wonderful and frustrating, time saving and time consuming. With him off for the night, I delved deep into a particularly neat data structure called "red-black trees." It consumed my attention for the next four hours. It was delightful and challenging. I left around 11:30pm. I'll get maybe six hours of sleep tonight and then be right back at it in the morning. 

My days tends to follow an amusingly simple schedule: wake up, daily hygiene, commute, Hack Reactor (13-15 hrs), commute, daily hygiene, sleep. 

If today was any indication, I suspect I'm in this for the long haul and have such a schedule to look forward to for another 11 weeks. 


Wednesday, December 10, 2014

More thinking, and a peer.

I intended to write about my discoveries in class each day while riding the BART. I've run into two problems. 

1. The BART is surprisingly crowded, even at 7:10am. No seating room means no computer work. 

2. I haven't learned anything truly novel yet. Wa wa wa. 

The latter should be expected. Prior graduates with backgrounds in CS say the first week is mostly review. Looking at the schedule, I'll expect it to be more like 2-3 weeks. But there you go. 

How funny, that my diligent self-study has landed me into this quandary, has somehow been "a disadvantage" for me. Not that it truly is, but blast it I don't enjoy making tough decisions. 

Each day is a roller coaster, but not for the material leaving me dazed. Instead, gusts of sentiment sideline me every hour, every half-hour, sometimes every quarter-hour. One minute I'm totally convinced that I'm staying -- and the next, I have no idea why I'm paying to attend a school (and tutor?) when I could do the same learning in a real job. 

Here's more assessment. 

1. New material. ~60% of material I'll be lacking proficiency in and would benefit from practice. This practice could easily be replicated on my own, indeed I was going to before all this happened. Further, I'd get the same learning on the job. 

2. Sustainability / construction opportunities. This one is nebulous. Ideally I'd still like to work in the sustainable construction sector, to leverage my background. The current job is not that. Some opportunities may open up in 3-6 months, which I'd miss if I were in the new position. Through HR I'd have the skillet to work professionally without being beholden to my first company. 

3. Earning potential. Again, unclear. Joining now would land me a lower salary. I've asked about whether that is renegotiable after 6 months. Even with that, I'd guess my salary would be lower than if I joined post HR. 

4. Excitement and fun projects. A wash. HR I'd choose my projects, but at work I'd do real projects. 

5. Hiring community. Advantage HR, hands down. Is it something I don't already have, with my dancer connections? Maybe. But can a wider network do anything but improve opportunities?



We are learning about data structures now: stack and queue, and their implementation through different instantiation styles. I've learned about data structures through my C++ class, and instantiation styles through personal research in JavaScript.

For this session, we are paired with someone of equal experience. I met a fellow whom actually did the same Stanford online courses that I did (except for Algorithms). It was amazingly fun to breeze through the material. We engaged in meaningful discussions of the pros and cons of different approaches. We coded quickly and felt on an equal footing.

We bumped into a bug in the testing suite provided by Hack Reactor. We fixed the bug and made the test even better and more precise, then loaded our fix to be integrated by the school. (Accompanied by proper documentation of the bug, naturally.)

It was… fun. Exhilarating. And sadly, this is the first time I've experienced this emotion. It was the first time I've been genuinely challenged in the program.

We're now having good conversations about our present shared dilemma: whether to quit and forge ahead on our own. It's nice to have someone else in the same boat. Camaraderie and all that.

Still debating my decision.





Another long day. 13 hrs in the building. Technically 2 hrs of break/meal time, yet much of those times are spent coding or talking about code. I took half of my lunch to help a fellow on a particular concept. The student was absolutely thrilled for the one-on-one time. 

My programming pair and I continued to rock our assignment on data structures. Ahead of everyone else as far as I can tell, and that is with a couple extra challenges we included for our own edification. (For those in the know, we used `reduce` to functionally implement `contains` for a tree. We could've done it iteratively, but what would be the fun in that?)

We have an excellent rapport. I think it's exciting for both of us, the way we push each other to new levels of mastery. ("Ok, that works, now make your constructor new-agnostic.") It does feel a lot like play: how can we take the assignment and up the difficulty level?

Fortunately many great challenges await, such as red-black trees and bloom filters. I actually know about both of those, but my grasp is tenuous. 

The program is surprisingly devoid of lectures. Aside from the first week, which is quite heavy to bring everyone more up-to-speed, there's only 2 hrs of lecture every two days (could be slightly off, but around there). I thought HR would provide the materials to master this material quickly, but instead they're teaching people how to teach themselves. I've been doing that for 1.5 years now, I think I've got the concept, that's why I was paying all that money to join and have things presented. Probably for the best ultimately: learn by doing and all. But it further makes apparent how HR will not give me a technical mastery that could not be achieved solo. 

I keep returning to the community. The network I will be a part of. And the fact that my job search will doubtless be more productive with the coaching of HR than on my own. These do add real value. I will have more offers to choose from, which will in turn lead to better economic situation and career opportunity. 

Plus, I might get lucky enough to angle for a sustainability-related job. Hack Reactor would add some credibility, and perhaps their network has some connections to offer. 

I'm a little stuck on the nostalgia(?) of my "by my own bootstraps" story, it smacks of the American dream, the universal belief that diligence and effort will bring you success. That story is diminished somewhat by attending HR. I am then "another bootcamp grad," the product of an emerging market capitalizing upon the industry's desperate need for programmers. I am no longer self-defined and hard-won, I am tidily and easily following a path blazed for me, a carpet rolled out with neon lights illuminating the way. I am successful because I have the liquid capital to not earn money for three months and exist in San Francisco. That doesn't feel nearly as good. 

I spoke with a senior whom entered with prior experience. I asked about the pace of learning among his peers. Do the students become fluent and quick-thinking? The beginning can be quite slow, as people struggle with everything from programming concepts to problem solving to keyboard shortcuts. Everything operates at ~60% efficiency. The senior said students do become versed rapidly, which leads me to believe that sprints later in the program (focused on my least familiar topics in backend) will have me mostly on par with any peer. I found this testament encouraging. 

Fellow students are already beginning to peg me as an experienced programmer, a resource, and a mentor. It's only been three days. 

Time dilation is happening like something fierce. I can hardly believe it's only been three days. So much has happened, it might as well have been a week. Life moves fast here.

Tuesday, December 9, 2014

The second day: thinking things over.

First day finished. Made it through, mostly without a scratch. The thrust of the days lectures centered around life and best practices at HackReactor. Given the intensity of the program, this front loading makes perfect sense. 

My experiences in pair programming has me occupying different roles. In one, the student clearly felt overwhelmed and under qualified. I tried my best to be encouraging: there are many others in the same boat. I actually had fun playing the supportive role, it was my first experience mentoring someone in programming. The skills learned from dance are highly transferable, so I occupied the role comfortably. 

I grow concerned this will be the norm at Hack Reactor. The first six weeks are organized into self-guided sprints where we dig into material on a particular topic. There is always extra credit and opportunity to go more advanced. I figured: if I *actually* know the material, I'll blaze through it and get to the extra credit. What no one ever told me through my extensive querying was that it's all done in pairs.

There's no way to know what the future might hold, but I now have a much more present fear about my room to move quickly. All my peers are truly amazing, inspired, and capable individuals, so I'm placing no value judgment on them. I'm simply acknowledging the fact of my more experience, and whether I will be able to challenge myself on a technical level. 

Of course, I would still benefit from the program. Teaching someone material always gives you new insights and crystallizes understanding. But, did I sign up to do that 90% of the time? Not really: I still want to be moved forward technically in leaps and bounds.

These concerns are predicated on two unknowns: the speed at which my peers catch up, and the novelty of the material presented. I'm fairly confident I know much of what will be presented technically, at least for the first few weeks. I've heard similar sentiments expressed by other people that attended this program with a CS background. 

My concerns are being thoughtfully considered by the team. I'm receiving support and insight and opinions from peers, people longer in the program (called "seniors"), and alumni. Much to contemplate. 

I did have a particularly illuminating conversation with a senior that came into the program with experience similar to mine. The senior confirmed that they did not learn all that much on the technical side, certainly nothing they couldn't already do by themselves, but there were still clear benefits to HR:

1. Communication, collaboration, and related soft skills. Highly emphasized by Hack Reactor, any student graduating will be highly capable of speaking cogently and precisely about a topic. You practice communicating about code from day 1. While I don't have much experience explicitly with code, I'd say I'm a highly practiced communicator. The marginal benefit here is not tremendous. 

2. Community. You're surrounded by high-performance individuals, all of whom are kind and passionate. It's an inspiring environment and you're building a community of programmers. As a more experienced member of my cohort, I will become known as a resource, teacher, and leader. This network will have lasting effects when they are all working jobs and recruiting others. A huge boon, but again the dance scene already offers a semblance of this. I know a staggering number of coders whom work self-employed, in startups, and at tech giants like Google. While they may not know my work in code, they know me which can be a foot in the door. 

3. The hiring team at HR. Top-notch and dogged in their support of HackRs. A rapidly growing network of hiring companies, and a hiring day now often oversubscribed. Another huge benefit, but again -- is it not replicable on my own?

4. It's fun. For all the obvious reasons: community, learning, challenge, interesting projects. Another large benefit, but worth the tuition price?

Meanwhile, today I'm chatting with the CEO of a tech company, a connection made by someone reading my programmer's origin story. Further evidence that blogs are an excellent way to improve visibility. He offered to get me an interview. Hoo boy. That was fast.

Monday, December 8, 2014

First day.

Here we go! My first day of Hack Reactor. Feeling bright-eyed and bushy-tailed. 

Housing situation feels just right. Staying with two friends through dance, I've known them for a few years now. They're living in a family cooperative in Berkeley. The space is warm and inviting. 

I arrived just in time for their communal dinner, a delicious potluck, and a chance to meet a bunch of the residents. It makes me quite happy to return to an environment like this one. The two are Good People and we always have a lovely time together. I look forward to the opportunity to do so more often. Plus I have a loft bed in a room with a door, which is super plush by house-surfing standards. 

The rapid switching of gears was a challenge. I arrived yesterday evening after a weekend of teaching, then first class today. I was up late doing laundry, because I lacked a reasonably clean shirt for the class photos to be taken today. It's those silly little details that can break a person during such transitions, I think, and it's part of what makes the nomadic lifestyle stressful. Fortunately, I have experience dealing with these tribulations.

A 45-minute BART/walking commute awaits me on either end. I'm actually glad for this right now, as it'll given me some solo time. I plan to use it for reflection in journaling or composing posts for my blog. Time will tell if it remains a boon. 

My technical blog has already attracted some professional interest. It's been passed along to a CEO who thought I'd be a perfect fit for their new position. When you open up to the world, it's wonderful what it can give back to you. 

Thursday, December 4, 2014

My origin story: programming.

Read about how I got into programming on my new tech blog!

(I won't cross-link often, but sometimes a post fits both inside the technical and personal spheres. In such cases, I will post in the one that fits best, and link from the other.)

Wednesday, December 3, 2014

My reasons for attending Hack Reactor.

In five days, I will begin (yet another) intense period of study. I'm joining Hack Reactor, the acclaimed 3-month full-stack Javascript boot camp in San Francisco.


I'm happy to return to the States after a successful six-week tour of Europe, to be in a familiar space where I speak the native language. As far as spending time with friends or exploring the city, however, I may as well still be in another country. The country of ... Hack Reactor. With 70 hrs minimum time commitment per week, I am for all intents and purposes not actually in the Bay Area. My only free day, Sundays, will largely be devoted to catching up on HR work, sleep, side projects, and other important personal maintenance tasks.

I am equal parts excited and apprehensive, a mixture of emotions reminiscent of departing for summer camp. Hack Reactor will undoubtedly be an inspiring, challenging space where I will learn an insane amount of material. In some ways, though, I'm not the ideal student for this group.

Hack Reactor is -- as with almost all bootcamps -- geared toward people with little to no experience with programming. I'd say ~90% of the HR students in my group come in with no background beyond tinkering with Coderbyte challenges and reading through Eloquent JavaScript. I suspect such students will experience the most intense and expansive growth through the program. With the lecture material likely being entirely new for them, they will get a massive jumpstart on understanding software engineering, deftly sidestepping the usual roadblocks and wasted time of trial-and-error that marks the growth of a self-taught programmer.

I am not being disparaging of the general lack of experience among my cohort. Every single person has impressed me with their biography, and I sincerely look forward to our future work together. They all seem exceedingly capable to tackle the challenges ahead. If anything, I am expressing slight envy: given my prior experience, I think my HR experience will not be quite so chock-full of ground-breaking learnings, which makes the cost more difficult to justify.

I went through with attending Hack Reactor because there is still tremendous value to be gained from the school. It will provide an intense, structured learning environment. I will revisit the fundamentals from a more seasoned perspective, thus solidifying my grasp of the basic principles of web development. As I will probably finish assignments ahead of schedule (if the precourse work is any indication, this should hold true -- it took me ~30% of the estimated time), I can take time to tinker with projects that highlight that particular topic, or dig deeper under the guidance of the teaching staff.

More advanced concepts in web development, such as authentication or server-side work, will be new to me as well. While I could certainly hack through learning materials on my own (such are the joys of widely available educational material on programming), I will no doubt pick up the essentials faster through HR.

Then, of course, there are the ample benefits of the community. First, it'll be thrilling to work alongside equally passionate and driven individuals. Second, learning from the talented teaching staff, all of whom receive accolades for the quality of their pedogogy. Third, the hiring network provided explicitly through HR. Fourth, the informal hiring network provided by all fellow HR-alumni as they spread throughout the industry. The network effect of HR is a powerful and beneficial one, without question.

My time at HR will be productive, no question about it. Hopefully it'll be $17,000 worth of productive.