Wednesday, July 31, 2013

Culture Note : Eventbrite Part 1 | Product + UX + Development, an engineering culture with traditional clients

Foreword: the Culture Note series covers startup cultures and life in the Silicon Valley, a main theme of this blog. I had the fortune to visit many startups as a part of Stanford education and being the Valley when the beginner coder movement is at its max. I would like to share my observations and analysis. This content may be useful if you are researching companies, for employment, interviews, studying, research / essay, or articles. Let me know how you use it.

ad : gifts for startups programmers and geeky employees >_>

The Bay Area Geek Girl Dinner partnered with the Eventbrite team for an evening of career sessions and presentation for female developers. It was organized, funny, and packed with great content, the time was perfectly scheduled and utilized.

Eventbrite co-founder Julia Hartz delivered the opening talk about the challenges of startup growth pain. The company strived to keep the team small but stellar to battling the loss of startup culture over size. She constantly kept the culture factors in check.

Julia Hartz talks about Eventbrite Culture
Genuine is the first trait listed in the slide above. She talked a lot about empowering, and also implied that the employees are well selected, and do a lot more than just their position titles can imply. A remarkable 2% low attrition rate is unheard of in the startup sector, yet Eventbrite has achieved so far. Julia attributes it to extreme focus on features and performance when growth pain bites. The employee mosaic is an interesting visual representation of just how important the individual tile is for Eventbrite and how carefully selected, proudly displayed these core hearts of Eventbrite are.

Julia Hartz co-founder at Eventbrite proudly displays the employee mosaic at Bay Area Geek Girl Dinner
[End of part 1. Later parts will cover, product, UX, product management, engineering, client account management at eventbrite.]

Wednesday, July 24, 2013

Review - Web Development Bootcamp part 3: Hack Reactor - curriculum and student projects


A long title indeed, let's talk about what is worthy at Hack Reactor. Not the curriculum, and not the student projects, I thought initially! Because the curriculum across the board is generally live instruction  + video cast instructions, sort of like the online learning shops, but with a few live teachers that can answer your questions.

The instructors at Hack Reactor turned out to be very prominent and effective. I have since then met many who are passionate about their work at the extraordinary bootcamp. Then I wrote about the miscellaneous at the bootcamp including job prospects, which end up exceeding expectation. But a fair warning indeed, we all have to take stats with a grain of salt. Stats can lie and but misleading. Until, we are on the pirate ship, we really won't know what it will be like.

I wrote Hack Reactor multiple times urging them to make curriculum screenshots public, at least one or two pieces of those screenshots. I seriously thought it was one of the highlights! One sentence conclusion: Hack Reactor curriculum / courses are build by developers for future developers!

These are not read the usual suspect: Michael Hartl's Rails or Eloquent JavaScript, but go to Github, Git Clone, do some pull requests and push some real changes to the repository and receive real feedback on the git issues like real developers would. Using Git in realistic situations, check. Using Git to collaborate, check.

The exercises are game-like, challenging and non-trivial. Each exercise is like a mini project that teaches a core concept. And the programmer will complete this slightly challenging exercise and then submit the challenges for a pull request review.

What do I mean by they are build for developers by developers? I have seen the live private demo of one exercise by the co-founder Tony, who showed me that the exercise was like a puzzle built for browsers. Students clone the codes, open them in the browser, and interact with the Google Developer Tool - the development console, to excavate clues and hints leading to the next step - puzzles was the word that immediately jumped to my mind.

I hope i have a screenshot here soon because I really love what I saw! It was a marriage of the not-yet-interactive Codecademy lesson with very good developer logic build in. But similarly to Codecademy, they use the local dev console very well. 

Student Projects

In the bay area, the undeniable prestigious bootcamp house that is filled up for the next few months is the early-comer : Dev Bootcamp. It is one of the first of the Bay Area, and surely has ridden the early-comer advantage along with the popularity of Rails. But if you have signed up for the Hack Reactor newsletter you will realize that Hack Reactor has made news often in Wired, TechCrunch and beyond.

Here's the recent project covering Reddit Insights . And its honorable mention in the press TechCrunch. Did you know that it isn't easy to get TechCrunch coverage? As a part of the Y Combinator benefit is an guaranteed press article in TechCrunch. And they are very proud of the thousands of unique visitors obtained.

And if TechCrunch coverage is no specialty, as I am not a complete techie and have been covered before : P, maybe Wired Magazine's world record setting move is convincing enough?

Again the usual selection bias warning here from the walks of Economics and Statistics : these are clearly extreme examples and by nature tend not to happen to everyone. Nevertheless, something of note: some bling is better than nothing. It can be you, too! Just watch out plenty of times, it's still another guy/girl in a magazine and not you... not yet.

reddit insight student project at Hack Reactor
The creators explain how this app works.

In fact, Hack Reactor's student projects have caught my attention early, way before I was shown these projects. My favorite one was the Logic Mason's Github project . Unfortunately the project is no longer visible. But it was a beautiful group project that uses Github's API to analyze in real time the geolocation of commits, allowing a D3 JavaScript library visualization of dev team commits. Imagine if you are a CTO showing off your global dev team? Or rapid deployment, rapid prototyping? Loved that the D3 library also allowed me to pull apart the graph. The 404 error shows the backend is Node.js  : )

Github API use student project at Hack Reactor

My Economics buddy at our rivalry school - Berkeley, Bianca was a student and TA at Hack Reactor

Attendees having food with Tony the co-founder and CEO

Tuesday, July 23, 2013

Learning Style - Grit, Resilience, Compulsion and Learning

Too long to read? I understand, I am no fast reader. If you have Mac, select the paragraph of texts and right click, select speech and start speaking. Not the best narrator, but it's free and build in. Saves your eye sight.

Learning style is a natural topic of interest for my blog, which focuses on covering resources for people in the technology and coding communities, especially beginners that are joining this community. Why has Codecademy worked for millions of users, when some clearly don't like the site for lacking of one important teaching element:  answers! Codecademy is a collection of interactive tests without answers, yet it works why? Sometimes, I will recommend Treehouse for my beginner coders, sometimes Code School. They are very different indeed.

Today I want to cover an important "learning style" and "skill" - GRIT and Resilience - (style and skill in quotes because grit and resilience are really personalty traits). A dear friend in college +Adriana Miu once taught me something about psychology and education. She took time to teach and learn clinical psychology upon graduating from Stanford. She explained to me that she's fascinated by resilience. When she worked with at-risk children, she learnt that some of the best performers among this group are actually kids that have gone through traumatizing events. Events that are so dire, even just one, or a part of it can reasonably destroy a person without doubt. Yet these kids survived and excelled. They may not grow up to be presidents and hedge fund managers, but they surely show us why we should be proud to be human, and what humans are capable of handling.

That's when I started to think a lot about resilience. In Chinese, there's an idiom and a fable that talks about 江郎才尽 Jiang Lang Cai Jin (Jiang Lang running out of talent). A prodigy losing his talents over the years was a fable aimed to teach Einstein's famous saying: success is more about hard work than raw talent. Malcolm Gladwell also wrote about how success is somewhat predictable by statistics in his famous book Outliers. The way we name our kids actually matter (a minority name, and a girl's name may not fair well in many prestigious positions, unfortunately), the time we enlist our children in junior leagues matter, and the amount of time we spend on each subject can actually predict the outcome. One sentence conclusion: raw talent surely helps but raw talent most often do not predict success. And that just makes sense, the more we try, the more opportunities for us to win that lottery and get that impossible outcome (scientists don't believe lottery is a good gamble game to play, but without playing at all, surely the desired outcome to win will never be reached, naturally, just by pure setup).

My engineering friends from Stanford and local startups often believe that coding should not be taught. They had to learn it by reading and tinkering on their own (that's why documentations are highly valued), and they believe that's the best way to learn for future comers too. I believe that, the engineering experts know what is the best for their ecosphere, so I am not to judge, but what if we need to teach coding, what do we have to do?

I am a firm believer that coding is the new literacy. It soon will be an integral part of all education, as much as reading and writing! So yes, I would like to entertain with the idea what if we HAVE to teach it?

This blog post is about no matter how great the teaching materials, one single factor may trump all factors, especially in the realm of beginner coding : grit.

Angela Lee explains grit's role in education in a wonderful short Ted Talk: grit can be measured, can be thought of as a growth mindset (Stanford idea), and that it may be a better predictor of future success, long term success than IQ or raw talent. It's the mindset of marathon runners not sprint.

The grittiest beginner coders that I have met? People who went through Michael Hartl's Rails tutorial 3 times. First time for an intro to Rails, second time including Git to learn version control, 3rd time to reinforce Rails concepts and learn how to test with Rspec, Capybara.

The best Codecademy folks did all the exercises, practice outside and asked tons of questions, why? Why this, why that? Actually more insightful than an actual engineer. The naive engineering mind is unhinged when asking questions.

One good friend +Sandra Chiu  actually went through tutorials not glamorous like Treehouse and Code School but more like Lynda to learn all the nitty-gritty details of the codes that she was spoon-fed elsewhere. She downloaded the files and tinkered, all the time, even when I gave her the answers right away and told her to not sweat the details, so to save her frustration times. But for her debugging time was a part of the learning. Even if it takes forever. Gritty learners like she are not afraid of failure. They are clever, they try really hard, and they keep trying until they find a satisfying solution. That is to say their solutions are somewhat optimized.

I am a slow learner but I grasp things deep and fast once I get pass the initial plateau. The ability to make lots of connections is a blessing and curse. The blessing: I can learn Ruby, Rails, JavaScript, Backbone, PHP in one go. The curse? I likely don't want to spend too much time getting to ground zero in any of those. So how did I know that I can code? What made me believe that I am gritty enough to go pass the beginner coder stage and become a prototyper (my goal is not to be a full time dev)? It is compulsion to learn.

My personality trait that helps me is my crazy ability to compulsively learn. Some recent examples are reading 49 pages on Cucumber and Rspec testing in a single morning Caltrain ride to Palo Alto (note it's also impressive because i am not a morning person). When I apply to a company, I am fully immersed about this company's future, vision and operations, I will emerge from even unsuccessful interviews as a SME of this company's PR. I also used to stay hours on Codecademy, even on Friday and Saturday nights. I would stay up all night till I am stamp the bug. Also that I am writing this learning article at 3:39AM.

A high school friend who is dyslexic reminds me of the most excruciating pain when I watch him write. I who can talk none stop end up being a sloppy writer and talks an equal amount of non-sense and insights. His writing on the other hand is crystalized, though painfully so. I would qualify him as a true writer, and I who did not grit my teeth through words will not be qualified. He also made the most beautiful stain glass art project of rising sun on Santa Cruz surf. Some of us can see the devil in the details: the ocean is really 5 vertical "waves", each with a strong carving of curve, each a different subtle gradient of shades of blue, each with a unique gradient of texture that resembles the real waves. The painstakingly made tiles of dark blue waves always remind me of the struggle of compulsion, grit and success.

Besides all the other scientific findings that explain why our efforts matter more than raw talent, I think I have seen some one off non-scientific examples why it matters in coding. At hackathons, when time limit is a factor, experienced developers i.e. also people who spend a lot of time "grinding" at computers can recognize JavaScript error messages from experience and debug exponentially faster than I can. In development, one of the most time-draining tasks is config. Any person who will resolve the last line of brew doctor errors and read Stack Overflow with lunch can tell you what it means to be gritty as a coder. The learn The Hard Way (TTW) series including Learn Python the Hard Way is a live example of being extra gritty helps beginners learn Python. Having grit  really pays off in learning to code and in many fields that require intensive learning, for example, the modern society as a whole...

Monday, July 22, 2013

Codesum Twitter Bootstrap Fest : 2 videos + 1 article

CodeDiv Twitter Bootstrap by Dilys
Recently, we covered Twitter Bootstrap quite a bit, now it's time to put it all together into our own Bootstrap Fest. Below we link to two older demo videos showing Twitter Bootstrap in action. Then a link to our own blog post, professionally written and more of a contextual and philosophical intro to Twitter Bootstrap. All resources are designed to make Twitter Bootstrap more tangible and useful for newly minted front-end developers, especially designers turned developers and entrepreneurial thought founders. 

Our blog post about Twitter Bootstrap curious to hear reader feedback on which resource should be used first: the video or the write up?

The Magic of Twitter Bootstrap Explained in 5 Minutes

Join Amazon Prime - Watch Over 40,000 Movies

Twitter Bootstrap Styling with Bootstrap.

Saturday, July 20, 2013

Rich Man's Race, Power Trip and Armored Soldiers - Bloomberg's Coverage on the America's Cup

Growing up in San Francisco and used to live in Cow Hollow, Fleet Week was quite the spectacle with the city flooded with sailors. On a given day, we will hear the Blue Angels and be able to see them on our deck multiple times a week. Great if you are a tourist, locals in actual houses, actually felt a bit of nervous.

The America's Cup is the Super Bowl for sailors, and this year, it is dubbed the Louis Vuitton for obvious ease of obtaining sponsor ship. Nevertheless, it is hardly a thing that we locals talk about, except if you are already a sailor and a fan of the local Yacht Club. For local schools, sailing class is actually a real possibility as are kayaking thanks to the SF Bay.

But many say it is not an easy race. The waters here are not easy to navigate. I don't know the details, so I shall not comment. I am not into sailing, and hence I wasn't into the Cup.

Yet, Bloomberg's article has completely changed my view: mentioning of sudden death from accidents, cutting edge technologies sponsored by Tech tycoons, teams that are in intense practice, potential for broadcasting spectacle that is at the level of F1 racing. Suddenly, this is a Silicon Valley lifestyle and business event, making it the right content for this blog.

Oracle's Ellison won't be the last Tech tycoon / founder to dabble in this power trip. Lipton, the tea tycoon and Vanderbilt's descendants have all being "guilty" of building powerful man toys and exhibiting their showmanship by exerting millions of dollars - even a chunk o their fortune. In return, they get racing that is so fast and dangerous that the thrills will spill to those who aren't always interested in sailing. They get armored soldiers, oops I meant sailors, who get to watch their training again and again with high tech filming and get their results analyzed by the top talents.

Races are the modern warfares without smokes but not without injuries and deaths. And the rich and powerful cannot help but be mesmerized by the routes to glory, the pursuit of top speed and the crown as its byproduct. #richmanstoy

Thursday, July 18, 2013

Reaction | Opinion: You the new spider-chameleon-career-man climbing career ladder the Silicon Valley

agama mwanzae a perfect representation of the new spider-chameleon-career-human
employers demanding all skills present prior to employment

I found the perfect image for this!

TWEET #spiderchameleoncareer

Driving down San Francisco, my friend and I started to chat about being a "spider". She applied for tons of jobs and hate the fact that every job post wants her to be everything. Some of the things she can do like Quality Assurance and Quality Control but also a million other things like Excel, lab assistant, medical manufacturing.... and in addition consulting style business skills.

She the spider will have to spider around at work.

I mentioned the word chameleon, reading that recent employers want chameleons, adaptive, agile (as in the development cycle), learn the environment fast, and obviously changes colors right away. On the development side, we will need to know Rails, Rspec, JavaScript, Backbone.js, Phantom.js, Express.js, may be Ember.js or Angular.js undecided.

Wait, but I am a junior developer?!

Back in the consulting old days, you can see the job description there: 10 years of product management, 10 years of IT intelligence, and 5 years of Sales, 5 years of Marketing, best college like Stanford, PhD is a plus, knowing development is a plus...

wait a second, that's an 100 years old monster alien from outer space.

My favorite was a job post looking for Rails developer with 12 years of experience. One problem : the technology Rails isn't around for 12 years !!

This morning I read on Fast Company how to always enjoy being a beginner : Why Being an Eternal Newbie Leads to Awesome Work . And the older article Beginner's Mind. I love the idea i am a big learning freak: going from Beverage to Law to Stanford Economics to Consulting, and now coding... even wrote a blog post on learning Cucumber in a day. I have a whole system of rapid prototyping and rapid learning. But is this fair for many others?

I have noticed that students paying $5000 and UP for bootcamps, even some $15K +, and joining Code School for $25, Treehouse for $20, and ThoughtBot workshop on Rspec for $1000+.... Before they even get the job, they have to pay so much education out of the pocket. A behavior precisely irony in the age of free education like Coursera.

Why are they so desperate?  It's precisely because many interviewers are saying show me what you can do before you apply. Frequently Product Management jobs will ask me show me what you can do before you apply. So learning on the job is entirely out of the window? Even if you do have a Fast Company Beginner's Mind!

That's to say be a super man women, have everything ready, be ready to learn more, be a super star, spend all your time at the company, and join all the hackathons, and spend zero time outside your life doing arts and reading, maybe you can join a team of shiny startup with great perks!

And as an everyday behavior economist, I'd like to point out that: we have forgotten that these employers and interviewers WERE NEVER EVALUATED under the same criteria! I'd like for every top ladder guy and girl to introspect would they ever have gotten the job if they apply now?

We had this dilemma at Stanford before. The new class of freshman often has a 0.1% lower acceptance rate than the previous class. That's a lot! That means the application has to be a whole lot stronger. People forgot that they started with nothing once, and forgotten to provide the mentorship that they once received.

Success in the Valley is organizational skills, business acumen, a lot of money, and opportunities, i.e. chance and luck! No one can read the entire Twitter history and recreate the success for their own company. Back in the old days, scientists have shown us that just because they invented something, and were smart, doesn't mean they can capitalize on their inventions.

Success is much more accidental than we would like it to be on news channels and sensational article coverages.

I say the employees figure out rapid and productive learning and the employers start to mentor and be more patient and forgiving. 

And employers to stop using recruiting networks and recruiting sites, and build their own recruiting team that ask for reasonable criteria.  I cannot like sites like Jobvite, because it builds a glass wall from applicants and the company. Both are spending enormous energy hiring and apply, yet applicants cannot even get to the real recruiters's actual inbox. How can you build a relationship, if the real email address isn't even exchanged? And emails are already so easy!

A concluding story is a story that I like to share. At the local Women Who Codes group, Beth of Zoosk shared a recruiting story with us, when she used the word "expertise" "mastery" for a designer position and requires years of experiences, and tough skills, she wasn't getting any women applicants. And that just cannot be right, considering how many women are in design. Yet men, who clearly don't match the descriptions will continue to apply. Very much a  women not Leaning In issue.

She twigged the words to experiment and found that soon as she removed all these crazy criteria, she was getting super qualified women, who were previously deterred by the recruiting messages. If Zoosk has outsourced this recruiting process, they would never found out about these capable talents. Thank goodness, someone like Beth noticed and watched out for women!

Put on my everyday Economist hat, I will say that it is very clear why companies ask for all these skills. It's their own wish list, and they are not afraid of deterring away extreme talents, as long as they get a good proportion of cookie cutter capable but just not that creative and hard-to-evaluate candidates. They'd rather settle with that, than taking too much time looking and evaluating what is hard to evaluate : creative talents. 

This is hard to understand for candidates. Often fine capable talents are deterred by sheer landslide rejection, and after a while it is not possible to build the confidence! For women, I will definitely say, read Lean In by Shery Sandberg.  For employer, I will repeat : be open-mind and actually recruit and meet people, give them a real deserving chance.

Wednesday, July 17, 2013

Hello Cucumber: An Introduction to Behavior Driven Development BDD with Cucumber

Background: I am no Cucumber expert, but had to learn it really insanely fast for a startup work, and understand the concepts. I thought I will give an overview, in case you land in my shoes and don't know where to begin.

  • Cucumber is a tool for Behavior Driven Development, commonly known as BDD
  • Cucumber has been popularly used in Rails as a testing Gem
  • It uses Rspec to run Test Driven Development, commonly known as TDD
  • Rspec is a popular Rails testing tool
  • You can run Cucumber and Rspec in command line, when developing a Rails app
  • Cucumber focuses on the features for example
    • Given I am on the homepage
    • And I am a login user
    • When I click on the signout button
    • Then I should be signed out successfully
  • Rspec is used more as a unit test, lower level more focused on the components like Controller / Model and the methods of controllers and models than features
    • it may test that the bank_sum method successfully display bank account total
    • or the controller will lead us to the right URL
  • But it's very important to use Rspec with Cucumber
  • Cucumber's features are linked to tests as well, with a little bit of regex, which stands for Regular Expression, so it will be really good to know it soon!
    • <#TODO Dilys to post an example here soon>
  • In Rails Cucumber can be used in conjunction with Factory Girl and Faker (which help you build dummy data sets called fixtures) to be feed into the controllers and models, methods that you have created. Guard,  another gem is also used sometimes. Michael Hartl's famous Rails tutorials covers Guard a bit. One of its functionality| is to do real time testing as the developer is changing the codes.

This should save you quite some reading time to know how Cucumber fits in the world! Hopefully it helps when you frantically start your career as a junior developer. 

Good ways to learn Cucumber as a beginner:
  • read the pre-written codes in your company's project if any exists. They will be in the features folder. The Cucumber gem has to be installed. Note: most testing files should exist in spec
  • read the books I am recommending below, depends on how much time you have
  • search the internet for examples, and watch demos, and actually note down the examples. Take notes, may be with Evernote:
    • Test for button clicking feature
    • Cucumber: Given.... And... When... Then... And...
    • Follow button method
    • Rspec : should have_link(....)
  • Otherwise, it will be tough to remember hybrid English and code syntax of both Rspec and Cucumber.
If you haven't gotten to know Rspec, I recommend you starting with this, and kill two builds with one stone! In fact it will teach you Behavior Driven Development and Test Driven Development too! Highly recommend!

Then you can start with recipes and examples. Examples are easy fast ways to learn. Especially as a developer

Or you can always start with the actual Cucumber book

Command line basics

When jumped on a developer project, I realized that command line is absolutely essential and will be used every other seconds. There are the modern ones : Rails command line, Heroku command line, Git, SVN, even though Command Line tools are old~~ for us newly minted developers. For one business co-founder, she wasn't even sure what it is (understandable of course).

For beginners, I will say: it's hard to learn, old, and less GUI (not graphically rich and friendly for beginners). You have to watch out for several things.

This is a growing list of cautions, tips and notes for beginners, especially beginner rails developers!

  • In rails development you often have to use "sudo" to do super user things. But that's not so good. Most professionals don't like using super user power very much. That can break things. In fact, beginners need to be very careful with command lines.
  • remove commands, rm, especially with force -f or recursive -r can be especially destructive, use caution 
  • is an IP address that refers to the local computer

Console Debug - Rails Server Error

Tried to start then keep getting into the website that I was working on with a startup rather than my own Rails app. Also got this error message

`initialize': Address already in use - bind(2) (Errno::EADDRINUSE) Sometimes this happens if you already have a Rails Server running. 

You can start the server at a new port

rails s -p=3001
Or just kill all the ruby processes
killall ruby Source: Stack Overflow
You can also use command line to find all the processes that are running
lsof|grep 3000 lsof | grep -i ruby
Turns out in my case it was more than that. A helpful developer changed my /etc/hosts file to change the localhost alias around, so it's actually unrelated to the Rails stuff. So i have to use
sudo nano /etc/hosts To view this file:

And because this is in the /etc/ directory we need to be very careful not to change these mission critical directories without knowing what we are doing.

Review: Web Development Bootcamp Hack Reactor Part 2: Myths - Rails + Curriculum + Interview + More

In my recent preview post, I highlighted some commonly asked questions about Hack Reactor :
Find the post here

The price tag? The venue? The instructors? The interview and selection process?

I explained part of the price tag in my Human Factor post and explained that the instructors at Hack Reactor are from prominent local startups and will have a great amount of time with students. Check it out, ask any questions you want.

In this post, I compiled some of the small surprises I have researched and found out about Hack Reactor during my onsite visit.

1. Hack Reactor : teaches Rails!
Hack Reactor does have Ruby and Ruby on Rails  sprints built in its curriculum. It actually makes an introduction to Ruby and RoR. Students will already have introductions to basic MVC frameworks in JavaScript before arriving at Rails. And they will do a lot of building block, basic scripting, and logic exercises with JavaScript (JavaScript being a less high level language, forces developers to be more detailed oriented. It's like building with lego pieces rather than sets of readily constructed lego buildings, as in Rails).

[Update - 12/24/2013] This section is pending further research, because the Rails sprint might be much shorter and lighter than I perceived in my visit. If you can help answer this question, please contact me.

2. Hack Reactor is full stack
Students learn full stack engineering skills. JavaScript is no longer just front end. And that's the big trend in the Silicon Valley. Front-end designers and engineers to be aware, this means the curriculum will be much harder than other regular HTML CSS JavaScript website building intensive classes, which mostly covers front end javascript, and sometimes without frameworks like Backbone.js

3. Hack Reactor interviews have gotten more intensive
The requirements have changed. Hack Reactor used to do one round interviews, but has since then improved its interview process to be more selective and has a technical component. Where students will need to get face time and work through exercises with instructors. In fact, this is the trend I am seeing in all bootcamps, App Academy being one of the first and harsher one.

4. Hack Reactor actually is similar in size as  Dev Bootcamp in its current venue, but the office is so well organized that it feels much bigger!
It's very clean and spacious, includes a clean accessible kitchen, and an open lecture area away from the desks. I was surprised how little space the instructors save for themselves besides a medium-small conference room and small tiniest offices. This makes plenty of instructors and staff sit outside the office, closer to students, i.e. more accessible. Only one set of bathrooms though.

5. The classes are small.
Maybe the price tag had made the camp  too "elite" to afford, but one benefit for the student is small class-size. And high teacher-student-ration. As mentioned in my Human Factor post, the student size max seems to linger at 25, but usually it is smaller, they even had 15-16 at one point. HR does not rule out the possibility of expanding with one more overlapping class of students.

6. Hack Reactor claims to have 100% hiring rate.

Being an Economics major, I am highly suspecting of stats. That being said, during my onsite visit, we exchanged anecdotes. Alumni are allowed to stay after the bootcamp until they find a job, and will get help. In fact, one extreme case has lasted for a while due to a combo of reasons, but the staff has supported him throughout the process, even threw him a party when he finally got hired. During the demo day that I visited, 50 companies are said to have signed up. I usually take a 30% deduction of no-show for Silicon Valley, especially Stanford events, that's still 35 companies. Which is much larger than Coding Dojo for example.

Students have been receiving salary as high as recently 110K, but that's more of an extreme case. Hack Reactor does not have the same level of confidence for its international students, citing Visa to always be a tough external factor.

While I am weary of all small-sample, business-driven numbers, upon checking out the students' projects (which I will feature and write about), they are obviously very skilled, look great, and very impressive, I would considered them way above what I have seen in other bootcamps. I will say more about this later on. The student projects make me believe that the claim seems to be somewhat valid.

During the day I also met students that have designed instagram display gallery views as a contractor/free lance (which they can work on as a part of the bootcamp, at times, Hack Reactor even help them find those positions), one guy who's going to study at MIT's prestige Media Lab, and seen the inhouse apps that HR has, curriculum platform, and student's reddit projects (which I will highlight later). The success of the bootcamp becomes convincing.

The bootcamp asks to be cc'ed in student application email at times, and will provide feedback on career communications in addition to offering interview prep. What impresses me the most is that, being so entrenched in the Silicon Valley, Hack Reactors' instructors have the direct experience of working at many prestigious Silicon Valley companies, making their "care" and advice much valuable than any Human Resource or Recruiter Correspondent at other bootcamps.

Update :  July 18: Hack Reactor isn't going public with their numbers yet, but the recent class cohort has a much higher average salary than previously stated on the website. Currently it says "some students" even get "six-figure salaries".  And the new result seems to make that more towards the norm. 

Read the previous section of this Review Collection

Major changes to the blog

Dear readers,

It has come to a time when I want to make two major changes to this blog:

1. Make it more than just coding, it'll be all Bay Area/  Silicon Valley, tech-centric Lifestyle blog
2. I want to make my personal coding website CodeDiv and all the video contents there FREE for all!
3. I want to do insights on "elite" lifestyle / career /education that is hard to access for many. For example, it was almost lucky and randomness that i got into Stanford, because my parents and including my counselor at that time, didn't have a clear picture of what I can do at all to get in. E.g., I have helped a dear friend find a job that she wouldn't dreamed of having, because none of her peers knew or dreamed of something like that, her parents are immigrants, so wouldn't know either. It's really an open education and advice sharing platform.

The difficulties and obstacles of turning it into this are:
1. web hosting costs
2. screenflow recording software costs
3. books and education, workshop costs to boost up my knowledge
4. professional writer / editor costs, i work with professionals on important articles like Twitter Bootstrap

Let me know your thoughts recommendations and support.

Also more on Hack Reactor coming soon! Like this Review:  Hack Reactor - the Human Factor

Sunday, July 14, 2013

Review: Web Development Bootcamp Hack Reactor Part 1 - The Human Factor

The Human Factor Visualization

Students vs Staff, a sweet #

Does any one remember an old stat? Student-faculty-ratio? Time to think about that for our dear bootcamps, on which I have been writing about for the part year. As you know, Hack Reactor invited me for a day of unpaid research on-site.

This is a series of data-processing posts resolving mostly around qualitative data, that will eventually arrive at a video conclusion -  a review about Hack Reactor. 

And the first question that everyone asks: why is Hack Reactor so expensive? Last I checked early Feb? $12K, then $15K, now it is $17K and going at $18K. My posts must answer this question. Why? Readers are asking! And this is my hobby. My previous life as an Economist, pseudo, at Stanford hasn't faded, yet.

I was impressed!

I did arrive disappointed: yikes, demo day, INTERVIEW DAY! What is there to see but a show? I was ready to leave, yet I turned out to be super impressed...

It was interview day, few students have arrived at the normal hours - 9AM, may be 4? or 8 by 10AM. Yet the staff tables are filled. Though the most senior ones have yet arrived, there are at least 8 staff in front of their laptops. That's a lot of staff. Some setting up flowers, name tags for tables, cleaning up, and some just doing something at the screens ... the office space is beautiful, spacious, and very well organized.

I mentioned that to Tony, the founder, whose brother is the co-founder. The brother Marcus is a Twitter guy, and two other staff also has Twitter connection.  Tony casually confirmed that they make a huge commitment on the staff, but for me that was an understatement. After seeing other bootcamps, I realized immediately that the experience, stamina, and availabilities of staff here is unparalleled. Only Hackbright can attract a somewhat similar level of mentorship from real Silicon Valley programmers, because of the great cause and dedication of growing young female engineers. But mentorship and paid instructions aren't the same. 

Azat, another instructor, currently working at Storify is an experienced engineer who worked on mission critical features for the famous startup and also is an accomplished author Rapid Prototyping with JS.  Tony, himself is a self-made programmer, first in PHP, then Ruby and now JavaScript. He pointed out that Hack Reactor also houses authors of Angular JS, Marcus - internal training and rampup at Twitter.

The name brands of the instructors previous lives are staggering too: Walmart Labs, OKCupid Labs, Twitter, Adobe, Mozilla, Storify.  And Tony really deserves a separate post on his vision and management.

In this original Infographics - the Human Factor, I show the maximum number of students 25, surrounded by an estimate of staffs. 26 on payroll, that is 17 instructors 9 supporting staff! Wow!

These numbers will change, and now they are rough estimates. But surely enough, it was proportional to what I have seen even on the relatively quite demo day. Hiring real programmers with real legit Silicon Valley experiences, should definitely be a factor that sets Hack Reactor far apart from any existing Bootcamps, even the might Dev Bootcamp.

That being said, Tony has informed me that there was more than just staff. When he first answered my question about the price tag, it wasn't about staff yet. He has more to say. I shall cover that in my next post.

I know the staff is capable before I arrived. But what surprised me was the number - it is large. And the other WOW WOW factor: there's an inhouse online system that allows students to click on the office chart, indicate which table they are working at and that they need help. If the help they need isn't delivered right away, the screen will blink red, and just a few more minutes away, Tony's phone will ring! Wow.

Read the next related post : Part 2

Review Git Real Code School

This is the third time that I am going through Code School 's Git Real course curriculum, strangely it erases my progress every time I complete the course. I was forced to re-complete every time: first time trying to review Git for Michael Hartl's tutorial, the 2nd time before a Rails review, the 3rd time for my dev git starting this Monday.

Note, I have bought ProGit and just haven't gotten any where with this yet. Michael Hartl is great, but too repetitive. It will be great as a byproduct of your Rails study but not alone.

The best time to get started with Git Real the course on Code School is when you learnt the basics

  • git init
  • git add .
  • git commit -m "this is my comment"
  • git push
After you have gotten through this may be 50+ times (it's really easy, you can arbitrarily commit up to 50 times in a single silly application). Then it's a good time to start. 

Never make your beginner's day one work repo as your learning material. Always use a dummy project. When I start to work with company repo tomorrow, I will ask my dev lead instead and be careful not to tangle up the tree. 

Git can easily help you restore or wipe up 30% or more of your repo and really confuse you if you aren't careful. 

Git Real goes pretty quickly through the basics I just listed, so familiarize yourself with those first. Then when you are ready, get to know how to stage, unstage, commit, amend and abandon changes. What is the difference between soft / hard reset? 

The reality is, try not to reset that often unless you have to, and don't reset when you already pushed changes out to the open without discussing with teammates. 

Take it slow with the Code School courses. These are not exactly beginner level. I always think Code School as immediate beginner or intermediate, mostly great for experienced people learning new techs. If you do decide to subscribe, please use the banner above to support my blog~ Really appreciate your help. Any questions are welcome.

Need more opportunities to learn Git first? Keep in mind everyone's learning style is different. 

Thursday, July 11, 2013

Researching $$$ Web Development Bootcamp Hack Reactor [COMMENT TO ASK QUESTIONS]

Updated 1/4/2014
One Friday, I will departed on my brief research journey to Hack Reactor, possibly the most expensive web development bootcamp in San Francisco. It recently received a lot of press as an unique JavaScript only full-stack web development house. I will tweeted via @i_stanford +Dilys Sun  and blog here.

I took will take pictures, interviewed people, observed, and finally compiled a video out of it. I am not compensated for this trip, but I am invited as a special guest to conduct this research. Thanks to my video analysis on Youtube about Hackbright, a dedicated web development bootcamp aiming to give women engineers a career and skill boost.  to boost women engineers.

Read about my findings by visiting the two internal CodeSum blog posts about Hack Reactor below. If you prefer videos, I have embedded two 10-minute Youtube demos.


Without a doubt, Hack Reactor or HR continues to be one of the most expensive bootcamps in San Francisco, if not the No.1. A co-founder Tony defended that the HR venue is always open to students whenever possible and that the Hack Reactor hours are intense, the sheer number of hours of teaching and studying surpass other code schools. 

I also have my own opinions. I think the defensive case can be made with these seasons
  • a high quality, large number of instructors ~10+ some with real developer experiences at prominent Silicon Valley startup powerhouses
  • an unique practical curriculum with teaching tools, repos, and problem sets made by developers for developers. I especially was impressed with their interactive curriculum, where a lot of coding, debugging and investigation is involved. Hard to describe. Even the screenshots are well guarded.

Feel free to tweet to me or comment below regarding your questions!
Some already asked:
1. curious why Hack Reactor has such a hefty price tag?
2. what is the overall experience like
3. what's the venue like and the instructors
4. may be what's the selection process / interview process.
All your questions will be answered.

Updates: July 17 2013
First blog post has been published last week 

Review Hack Reactor Part 1 - The Human Factor

Review Web Development Bootcamp Part 2 Myths and Facts, surprising discoveries at Hack Reactor.

Video Review of Hack Reactor

More to come...
What would Hack Reactor say (as seen on their websites, please verify it yourself)? 
- High average salary for graduates
- Exceptionally high instructor hours, longer program hours
- Qualified team, real hackers, real developers (of course in reality, there are always student instructors, but the Hack Reactor connection to real startups is higher than average)

What distinguishes Coding Dojo from other bootcamps?

New content: updated today as a part of Q&A Web Development Bootcamp


  • Skillset, fundamental focused
  • Unique instructors, self-made examples, flexible learning
  • Higher availability with more affordable price
  • Good environment in South Bay, though far if commuting from San Francisco
  • Proximity to high-way, downtown Mountain View (speakers and startups, accelerators)
  • Proximity to Hacker Dojo, a vibrant venue for hacking in the local scene
  • Great speaker series, beyond expectation considering lack of prestige
  • Strong hacker, self-made, entrepreneurial culture
  • Ridiculously strong record of being hired by the house! i.e. students to instructors
  • Less emphasis on career building: networking, interview
  • Lack of infrastructure on job placement and the prestige to attract employment
  • Developers are entrepreneurial, probably less of fit to Silicon Valley modern web programmer scene
  • Less fit and susceptible to Silicon Valley hip coding culture 
Old content: 
It is both good and bad that Coding Dojo has heavy emphasis on skill set building. Of course any time you spend on that less time on networking, interview prep etc... This is a good place if you know that you really want to learn hardcore development skills and get the ground running fast (the 2nd part is the nature of any bootcamp). In terms of job placement, Coding Dojo has had many speaker events, and some prominent speakers like Mark of Twitter Bootstrap, but because the dojo just started, the network is not as top notch as Hackbright and Dev Bootcamp, both of which have special places in the history of bay area bootcamps.

Personally, I am fine with skill based camps, because I have had prior employments which I did well, and I am mostly here to learn web development. While jobs are important considerations, at the end of the day, I will be fine if the Dojo does not help me find one. However, I'd also much prefer that it does help!

Anatomy of an http query string

Pam Foxs GDI San Francisco presentation screenshot showcases how to quickly breakdown a query string using simple formatting, separator of ? Which marks the beginning of a query string and then & sign which marks starts of additional parameter. The equal sign marks the parameter assignment

It depends on what the server expects, the query string may look different, but this simple yet practical way to see it clearer

A Formal Introduction to Twitter Bootstrap - full article

Ad. These ads support our blog! It's not free for us to research and write about big topics, but we gladly share this information with all the beginners! Please support us. Or just ignore hehe :)

Great gift for geeks : )

Sold at Our Shopify Store Last one

If you’re a developer, no doubt you’ve heard of Twitter Bootstrap. For those not familiar, Bootstrap is a front-end development framework that allows you to design and build a website in a fraction of the time it would take to create a site from scratch. It’s pretty much Silicon Valley’s prototyping tool of choice these days, making it an omnipresent and integral part to the tech industry, even if it isn’t exactly “popular.” Designers may look down their noses at Bootstrap because of its “cookie cutter” design, but more and more companies want developers who have an “Experience with Bootstrap” bullet point on their resumes.

On top of that, Bootstrap is the first truly successful framework for design and CSS. In addition to providing the tools for designing on a  960 grid system, responsive design, and JavaScript plugins, Bootstrap was also developed to look great on any platform or machine, which has contributed to making it one of the most popular frameworks for building modern websites.

Originally developed by two guys from Twitter, Bootstrap is the saving grace of developers everywhere. Most often used for prototyping, pushing projects to the finish line faster, and even for hackathons, Bootstrap is a great tool for showing the world your ideas and products without needing to spend weeks (or months) perfecting the front-end.

At the same time, that doesn’t necessarily mean that using Bootstrap is as easy as downloading a few files and installing some scripts. The framework assumes some prior knowledge of HTML and CSS, relying heavily on the use of CSS classes. Although there’s tons of documentation to help you overcome most hurdles, trying to sift through it all can be a little overwhelming, especially when you’re first starting out.

To lend a hand, we’ve put together a few tips and tricks--sort of a hands-on approach--for beginning front-end developers who want to use Bootstrap. These tips should help you become better acquainted with how to get started and apply Bootstrap to your next project.

How To Know If a Site Uses Bootstrap

If you’re not familiar with it already, you may want to learn how to use Chrome Developer Tools. You might’ve also heard it referred to as “Chrome DevTools” or “Web Inspector.” If you’re a Firefox user, then you have to install a separate plugin called Firebug. This in-browser tool is your best friend when working in the front-end. Not sure why this or that element isn’t where you thought it should be? Inspect it through DevTools and tinker/debug from there.

Where Bootstrap is concerned, you can use DevTools to find out whether a site you like is using Bootstrap or not. Just open the Inspector by right clicking (control+click on a Mac) anywhere on the page and selecting “Inspect Element.” DevTools will open up at the bottom of your screen, and you’ll be able to see the HTML for that page. Here’s where you should see the links to Bootstrap:

This method isn’t completely foolproof since many websites will host their files on their own servers, rather than pull it directly from Bootstrap. However, developers who are just trying to get their stuff out there will opt to link straight from Bootstrap in order to save time.

Another way to recognize whether a site is using Bootstrap is to compare it against the examples from here. If you’ve spent any time checking out the websites of software startups, then most of those examples probably seem very familiar.

Figure Out What You Like

Bootstrap’s been around for a long time, so there’s no sense in trying to reinvent the wheel when there are literally thousands of sites out there using it right now in a huge variety of designs and implementations. Most developers will just throw a Bootstrap site up to serve as a placeholder, but there are also plenty of others who take the “outline” and flesh it out to make it their own.

That’s not to say you should go around stealing other website designs. Rather, figure out what elements you like from other Bootstrap sites, and then reverse engineer that to suit your own purposes. Instead of trying to figure something out from scratch, you’re starting with a finished product, then teaching yourself how it was done.

Using the Source Code

When you come across a Bootstrap site that you like, but you’re not sure how it works, you can take a look at the source code to get a better idea. Right click anywhere on the page and choose “View Page Source,” which will bring up a page that looks like this:

Just like in DevTools, you can see the HTML working behind the scenes, but it’s a more complete view of the code that’s easier to scan through. When trying to figure out how the various Bootstrap components work, looking through the source code on a site is a great way to get a better idea of how the classes are working together, where various elements come in, and also helps you become more accustomed to reading other programmers’ code.

It’s perfectly alright to copy part of someone else’s source code when trying to build your own site, but also keep in mind that if it looks like something they created themselves, you need to give credit where credit is due in a comment. If it’s just a design element such as the proper way to format a navigation menu, then there’s no shame in just copying and pasting the same HTML from another site.

Don’t Be Afraid to Ask Questions

There’s a huge community of developers and designers out there who are ready and willing to help you if you just ask. If you’re not sure where to start, check out Quora or StackOverflow. Both sites have communities of users who are there for the sole purpose of sharing information with each other, and they both have categories of questions specific to Bootstrap. Odds are that the question you have has already been asked and answered by someone else, so it’s a good place to check out for specific questions you might have.

If you have any questions or comments about Bootstrap that you’d like to share with us, feel free to start the conversation below.

Conclusive note and call to action

Ideally all front-end developers and designers of modern web development should be familiar with Twitter Bootstrap basics. It's high in demand and popularity in the Silicon Valley, and the library works with practically anything HTML, CSS and JavaScript... that's practically everything, and of course Rails! It is useful in time pressed prototyping environments : pitches, accelerator demos and hackathons.

The Twitter Boostrap project was designed to be a toolset, originally for the use of the internal front end team, then designed to be an open source framework. Its growth history,setup and enormous success as a CSS framework ( rare ) are all worth examining in details. Maybe that's the academic side of me talking: it has all the traits of the growth progression and success curve of prominent modern web technologies. 

One reader asked for more structured practice and projects with Twitter Bootstrap. try treehouse with our referral or our free YouTube channel theoptips. Videos also available in structured formats on and my website (paid video instruction as a subscription package)

React UI, UI UX, Reactstrap React Bootstrap

React UI MATERIAL  Install yarn add @material-ui/icons Reactstrap FORMS. Controlled Forms. Uncontrolled Forms.  Columns, grid