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?

---

5pm.

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.

 

 

---

10pm

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.

No comments: