Online Education Overview

Massive open online course or MOOC — is a type of online course aimed at large-scale participation and open access via the web. MOOCs are a recent development in the area of distance education, and a progression of the kind of open education ideals suggested by open educational resources.wiki

Up until recently, online courses were just poor imitations of traditional lectures captured on video camera. MOOCs emerged a few years ago with pioneers such as Coursera. They’ve become more and more popular as supplementary, continuing or even as a replacement for traditional education.

Online Education
Online Education

Free Online Courses

Here is a brief overview of free online courses:

  • Udacity: high quality free courses consisting of short videos with quizzes, homework, tests, engaging discussions among faculty and students, multiple levels of certification, job board featuring student profiles.
  • Coursera: same free high quality content as Udacity with broader selection of courses.
  • edX: similar concept as Coursera or Udacity; edX courses involve professors from MIT, Harvard and other top-tier universities.
  • Open Classroom: free online videos of Stanford University classes.
  • CodeAcademy: ability to learn JavaScript (other languages like Ruby on Rails are coming soon!) in your browser with automated tests.

Other Free Online Courses

These courses like Open Classroom are less comprehensive than MOOCs and usually lack discussion boards, tests and certification:

  • Academic Earth: free online classes and online learning tools from Ivy League universities, Massachusetts Institute of Technology, Stanford University, University of California at Berkeley and others.
  • Open.Michigan: hub for openly licensed educational content initiated by the University of Michigan.
  • webcast.berkeley: UC Berkeley’s central service for online video & audio for students and learners around the globe.
  • Open Yale Courses: free and open access to a selection of introductory courses taught by distinguished teachers and scholars at Yale University.
  • MIT OpenCourseWare: free publication of MIT course materials that reflect almost all the undergraduate and graduate subjects taught at MIT.

Paid Online Courses

These websites offer a wide variety of classes at relatively small cost:

  • Udemy: lots of discounts; courses on Lean Startup methodology.
  • Online Marketing Institute: all things related to online marketing; subscription-based.
  • Khan Academy: short videos primarily on high school subjects.
  • iTunes U: mostly videos and textbooks from top universities like Yale.
  • Lynda: paid business and software-oriented courses with homework, labs and tests.

Degree Programs and Education

For those who need a degree, the online education approach offers greater flexibility than a conventional one; various degrees can be earned part-time, at your own location and at a cheaper cost. Here are the most trusted (and in most cases accredited) options:

  • Kaplan University: more than 170 degrees and programs by an accredited institution.
  • DeVry University: online degree programs at the associate, bachelor’s, and master’s degree programs level.
  • Strayer: both online (called iCampus) and on-campus options with the same content and accreditation.
  • University of Phoenix: 20 years of experience in online education with accreditation in degree programs at the associate, bachelor’s, master’s and doctoral levels.

Screencasts

A screencast is a digital recording of computer screen output, also known as a video screen capture, often containing audio narration.wiki

Screencasts have become a very popular learning tool for programmers and IT professionals. Here are some top screencast websites for cutting-edge technologies such as Ruby on Rails, JavaScript and NodeJS:

Trends in Online Education

Here are some common hot trends which emerged in the past couple years in online education:

  • Reversed classroom concept (aka Flip teaching): instructors give the bulk of new materials as a homework for self-study and leave precious time with students for Q&A, tests, discussions.
  • Short videos: materials are easier to digest in short bursts, each usually followed by a quiz or summary.
  • Low-tech, conversational tutorial videos without the instructor as in Khan Academy video format.
  • Automation of tests: in-browser tests and even coding interpreters require less supervision from instructors.
  • Peers’ help on discussion forums: students help each other to clarify questions, give hints, find goofs and mistakes, and provide out-of-the-box answers to the problems; therefore, these discussions help to save faculty’s precious time.

Not always the old pro-verb “you’re getting what you pay for it” is right. In the past decade, the cost of conventional education has skyrocketed due to easily available student loans but efficiency stayed pretty much the same. The general trend is that education and online education especially is getting more efficient. MOOCs allow dozens of thousands of students to partake in a single course. Although, there are many regulated professions such as ones in medical or law fields where traditional degrees are a necessity, for the vast majority of IT jobs, portfolios and GitHub “resumes” have become more important than GPAs or names of prestigious colleges in the hiring process. It might be too early to say what impact these initiatives will have on hiring especially in big (conservative) corporations, but with high motivation and great materials most people can achieve amazing results in study without getting into debt.

In conclusion, my personal favorite MOOC website is Udacity. I even bought a T-shirt to support them. Would you pay thousands dollars for almost the same quality of materials? I wouldn’t but then I already have Master’s Degree from traditional university :-) So are MOOCs only for continued education? What do you think?

How to Decrease Chances of Success in a Startup

“Never make the same mistake twice.” – Gus Fring, Breaking Bad.

I’ve been in Silicon Valley a little bit over a year, but already have seen plenty of failed early stage startups. Therefore, I decided to organize my thoughts on observing key factors which might decrease chances of success in such. They are not deal-breakers. There are many examples of people succeeding against some of these rules, but in general it’s tougher and harder.

I never make the same mistake twice. I make it five or six times, just to be sure.
I never make the same mistake twice. I make it five or six times, just to be sure.

This list of red flags, or litmus tests, could be used by potential future employees, founders, or angel investors when weighing the pros and cons of a particular startup to join / invest in. So if you want to fail, here are some ways to do it.

  • Get a part-time founder or be a part-timer yourself. A startup is not a typical company. It’s a marathon (or series of sprints) but not a sprint. It’s important to maintain focus and not burn out.
  • Hire remote employees. For a majority of people working from home translates into no work at all not only due to lack of discipline but also because of distractions. Discrepancies in time zones, especially large discrepancies, slow things down, and miscommunications can lead to mistrust later.
  • Have too many business founders. Again, miscommunications between pure business people increase overhead and decrease runway time. In most cases there is no work for more than one pure business person in a team of less than 4–5 founders. Technical people can often perform a business task, but not vice versa.
  • Hire interns. Usually it’s a waste of time for founders unless there are some monotonous and time-consuming tasks. These tasks could be easily taught to interns and supervised later. But don’t delegate important tasks which are essential to your business.
  • Hire B- and C players. It’s the same thing as with part-timers, remote employees and interns. B- and C employees will drain resources (time, stipend money, salary and mental energy) to either learn basic stuff or by requiring constant supervision and micro-control. As a result, output has less in value than input. Beware, slackers bring down A players and inhibit idea-generating processes!
  • Have no domain expertise. Founders who have little or no domain expertise, and no desire to learn the industry or niche are not serious entrepreneurs. This should be self-explanatory. :-)
  • Work on the first idea which seems plausible. Intuition is a good thing only if and when propped up by good customer validation and market fit. Overly emotional attachment to an idea early in the game prevents looking at the data and pivoting when needed.
  • Validate ideas by your family, friends or unpaid customers. This point piggybacks on the previous one, and involves poor judgment and lack of action. There is nothing wrong with using your intuition initially, but there’s no excuse for lack of reality check.
  • Run a success theater. Spending lavishly on attending conferences, office space, chiefs, hacker house, cleaning, transportation, hotels while being far from profitable is border-line criminal due to the breach of founders’ fiduciary duties to the investors. In addition, it drains mental energy and distracts team and founders from more important things like growth, profitability and product development.
  • Date your co-founder. Dating might seem like a good idea when a couple is in harmony, but more often than not, all things that could go wrong in a startup do go wrong. This puts strains on personal relationships and adds drama (Bravo TV’s Start-Ups: Silicon Valley new TV show anyone?) because most humans are bad at keeping professional and personal boundaries.
  • Don’t work with your co-founders prior to starting a startup. Side projects, hackathons and just being pals in general (outside of work) could help greatly when/if bad times come during your venture together.

The average chances of failure in a startup are 90%. Founders should use any opportunity to improve the odds! Don’t make your work and life even harder, and look out for these early signs of trouble when dealing with startups.

Help to build new social network for entrepreneurs – Accelerator.IO

Accelerator.IO

Accelerator.IO
Accelerator.IO

We are building StartupMonthly internal system for community management with a potential to become new social network for entrepreneurs or Hacker News. With support of Steve Blank and Robert Scoble, we are incorporating StartupMonthly methodology for startup acceleration to improve productivity of startup ecosystems.

Join us as a Contributor

You will get exposure in the community and opportunity to work with StartupMonthly mentors, access to all the StartupMonthly events and all the cool technologies for rapid prototyping.

  • Frontend/Backend developers with BackboneJS, Node.JS and MongoDB skills.
  • Designer – Illustrator, Photoshop, CSS/HTML.

Please send your resume to info@startupmonthly.org, or Tweet to @azat_co or @byuric.

openList.co – Ad Classified Website Application

With openList.co you could have your own ad classified website set up in minutes. It comes with minimalistic Cragislist.org-like theme which provides unobstructive UI/UX.

Download

Quick Look

openList Home Page
openList Home Page
openList.co Category View
openList.co Category View

Features

  • Custom fields for ad categories like real estate, for sale etc.
  • Email verification and ad manager for deletion/editing
  • Ad flagging ie spam, like, violation, etc
  • Minimalistic design and use of templates ease customization
  • HTML filter, Captcha and WYSIWYG editor
  • clean URLs
  • photo upload
  • nested categories

Requirements

PHP5 or higher with GD support for Captcha, MySQL, access to .htaccess file.

Installation

  1. Download application as zip package or clone from GitHub repo (azat-co/openlist).

  2. Start your favorite local web server (e.g. MAMP) and MySQL database. Point localhost to your folder or change class/config.php file with a new host name, aka SITE_URL, more info below.

  3. Modify class/systemconsts.class.php file with your database parameters. By default they’re:

    const DB='test',
    HOST='localhost',
    DSN='mysql:dbname=test;host=localhost',
    USERNAME='root',
    PASSWORD='root';
    
  4. OPTIONAL: modify class/config.php file such parameters as language (English or Russian), numbers of ads/posts per page, number of days after which ad/post will expire, photo size limit, website URL, path to templates, etc.

  5. Run install.php by going to SITE_URL/install.php or localhost/install.php.

  6. View application at localhost or your custom host name (it will be pre-populated with data).

Customization

  • class/config.php – global constants.
  • class/systemconsts.class.php – database parameters.
  • install.php – initial data, e.g. cities, categories, custom fields, etc.
  • tpl/*.tpl.php – Savant3 templates (basically just PHP), aka “view” in MVC architecture.
  • class/model.class.php – “model” layer of MVC architecture, it uses PDO library.
  • class/service.class.php – business logic layer.
  • index.php and htaccess – “controller” layer of MVC architecture.

To change cities, categories and other data just modify SQL statements in install.php or edit your database with phpMyAdmin.

Libraries

Those dependencies are already included in the package/repository. You could use newer version at your own risk.

  • Slightly modified PHP template engine Savant3 – the backbone of application MVC architecture.
  • JavaScript and HTML WYSIWYG client-side editor TinyMCE for new rich text editor.
  • PHP HTML filter HTML Purifier for cleaning malicious user input.
  • PHP Captcha script Securimage

Pilot Rapid Prototyping with JavaScript and NodeJS Class

Traditional Computer Science education sucks big time when it comes to modern agile technologies like Ruby on Rails, Django, NodeJS, and NoSQL databases. Last time I checked, the maximum that was offered were classes in Web Design I, Web Design II and Photoshop Basics. WTF?! Don’t get me wrong. I have Master’s degree in Information Systems Technology and value fundamentals, but I was never taught anything up-to-date. There was some ASP, some C++, some SQL, but most of my learning I had to do on my own. Sure there are tons information online and in books, but not everybody has time, dedication, focus and self-discipline to master a new technical skill this way. Reading a book or watching a screencast is just not enough. The best learning comes from 25% books, 25% peer-to-peer communication and discussion, 25% student-to-teacher relationship; the last 25% is the time and practice on your own.

I saw a huge need for effective technical trainings and decided to validate my idea. I already had plenty of teaching experience from college years, during which I wrote my first textbook, had it published on a curriculum for my classmates a year later, and from teaching yoga classes. I needed a pilot class, so I approached startup accelerator and fund, StartupMonthly, and offered to develop and teach the “Rapid Prototyping with JavaScript and NodeJS” training.

I chose JavaScript and NodeJS because students will be able to use the same language both for front-end and back-end development. Their brains don’t have to switch thus saving time and speeding the learning process. NodeJS is becoming more and more popular due to its real-time support and I’m very passionate about this technology. The training runs over a long weekend, starting on Friday night with an optional Q&A session on setting up your environment. Then, we have two full days on Saturday and Sunday, making the course 16 hours total. This way, people who have full time jobs don’t have to take time off to attend. The class is very hands-on and, as much as possible, inline with the principles of Flipped Teaching.

Rapid Prototyping with JavaScript and NodeJS - Day 1
Day 1

The goal was not to make a profit. So we priced the training very aggressively twice or thrice lower than the market price of our competitors in order to attract students. The results were amazing! The goal was to sell at least 10 seats and we had 15 people in our first class! Big thanks to Yuri Rabinovich, killer StartupMonthly team and its vast network of people interested in technology :)

Rapid Prototyping with JavaScript and NodeJS - Day 2
Day 2

Then the hard work began. In a true spirit of lean startup methodology (hey, this is what we teach, right?) the manual had only a bare minimum of information and was tailored towards intermediate web and JavaScript developers. The majority was doing well, but I couldn’t say that for everyone. This was a good feedback for me, and helped to improve the manual by including many simple steps and additional terminal commands for deployment and Git.

Optimize but not too over optimize
“Optimize, but not over optimize”

Overall, students were tired, but happy with the number of new technologies they’ve tried. It was sort of a Chinese Buffet of Programming. You don’t have to try everything, you only pick what you want and indulge in it :) Here is the list of topics to give you an idea:

  • Agile, Continuous Deployment, TDD, Pair Programming
  • Basic front-end technologies: JavaScript, HTML, CSS
  • NodeJS and its advantages. Event driven programming.
  • MongoDB and Document Store and Key-Value concepts.
  • JSON, structure and examples.
  • Could computing. Cloud platforms: Windows Azure, Heroku.
  • Structure of HTTP Request and Response: headers, body, methods
  • RESTful API, examples and advantages.
  • Overview of HTML: structure, tags and syntax. Inclusion of CSS, JavaScript files/tags.
  • jQuery: AJAX, cross-domain calls and JSONP
  • Twitter Bootstrap: grid layout, form components, icons
  • LESS: mixins, variables and compilation.
  • BackboneJS: structure, events, view, sub-views, models, collections and event listeners and event binding.
  • Parse.com: plain REST API calls with jQuery ajax function and JavaScript SDK with Backbone compatible library.
  • Generating of SSH keys, configuring Git, GitHub, Heroku and Windows Azure for deployment.
  • Installation and basic configuration of NodeJS and MongoDB in local environment.
  • Deployment of NodeJS and MongoDB and static/front-end applications to PaaS cloud services like Windows Azure and Heroku with Git.
  • Building sample applications with NodeJS, jQuery, BackboneJS, Twitter Bootstrap, MongoDB, Parse.com and other tools/technologies. Deploying it to cloud services.
  • Building your own idea/prototype and presenting it. Deploying it to cloud services.
  • Practicing Paired Programming and Test-Driven Development techniques.
Next Billion-Dollar Idea
Next Billion-Dollar Idea

By the end of the weekend, we had 3 teams with 2 to 3 people in each. The teams built or started to build applications using their own ideas. One of them was a remake of Reddit with better UX/UI and the other was a service for angry ex-girlfriends to post (mostly negative I suspect) feedbacks on their ex-boyfriends :)

Here are some testimonials from the students:

“Thanks Yuri and all of you folks. It was a great session – very educative, and it certainly helped me brush up on my Javascript skills. Look forward to seeing/working with you in the future” – Sam Sur.

“Thanks for putting this workshop together this weekend… what we did with Bootstrap + Parse was really quick & awesome” – Mariya Yao.

“Thanks a lot to all and special thanks to Azat and Yuri.
I enjoyed it a lot and felt motivated to work hard to know these technologies” – Shelly Arora.

Q&A Session
Q&A Session

Next weekend, August 10–12 2012, I’m teaching the second class of “Rapid Prototyping with JavaScript and NodeJS”. I’m exited to share my experience and passion with another 10–20 smart people and make a small dent in technical education!

“Advanced Prototyping with JavaScript and NodeJS” and “Mobile Prototyping with JavaScript” trainings are coming on the weekend of August 25–26 2012. We have other cities like Los Angeles and New York in a pipeline and, (knock on wood) the future for “Rapid Prototyping” series looks very promising .

Highlights from “Hackers & Painters” by Paul Graham

When I’m reading Kindle books I always highlight interesting sentences and paragraphs. I thought it would be good to have them in handy on a blog. The book “Hackers & Painters” is a collection of Paul Graham’s essays and a must-read for a developer aka hacker or non-technical startuper.

Hackers & Painters: Big Ideas from the Computer Age
Hackers & Painters: Big Ideas from the Computer Age by Paul Graham
  • Hacking and painting are the same. This came as a surprise to me. I always thought that developers and designers are the opposites side of one startup coin. PG even went to school to learn about painting which inspires me to improve my design skills.
  • “You need a good sense of design to judge a good design” — this is obvious, but good sense of design could be (and must be?) developed. While good design is subjective to peoples’ opinion, time can show the difference between good and bad design both in software and graphics.
  • “Big companies win by sucking less than other big companies.” In other words big companies try to minimize losses and risks by sticking to proven “good old” designs and products. As long as their competitors do the same, why bother? This is the main reason why startups could be more successful than big companies. Startup should do things differently, while big company can do what the other big companies are doing.
  • Don’t give away information. The good source to learn about technology other startups use is their job openings. “The more of an IT flavor the job description had, the less dangerous the company was.”
  • New design bring better ROI in new markets. Especially if the same people design and implement the product, e.g. Apple.
  • “Most hacker don’t learn to hack by taking college courses in programming.” My own experience and observation prove the same. I often explain this to non-technical people who is contemplating to enter a career of a software / web developer or a programmer. There is only so much you can learn in a college or a university. The ratio of time and money spent to the practical knowledge gained is so low that I usually try to talk them out of it. Seriously :)
  • Software specifications changes fast and far from perfect. This is an another advantage startups can use over big companies where feedback loop is longer and iteration cycles are longer too.
  • “In hacking. like painting, work comes in cycles.” This one is very true for me. I can hack literally for 24 hours (especially during hackathons) and then don’t do any coding for a few days. Just read or catch up on my emails. Maybe it’s because our brains are more efficient when they focus on one type of tasks — “plug in”.
  • Divide and conquer: each module or set of feature should have “an owner” who is responsible for making it shine. It communicates with other modules via interfaces.
  • Programs should be written for people to read, and only incidentally for machines to execute.
  • Practicing thinking differently big in life will make it easier to think differently on “small trips outside the box that people call innovative”.
  • “Argue with idiots, and you become an idiot.”
  • “Working to implement one idea gives you more ideas.” And the opposite is true by ditching the idea or delaying it other follow up ideas might never come or be delayed. “Get Shit Done” in other words. :)
  • There are only two sufficient things to know about business: build something useful and make more than you spend. I would also add that best business is when you solve other people’s problems.
  • “If starting a startup were easy, everyone would do it.”
  • Doing a normal job usually means that you effort is averaged by the rest of the employees performance. Same for working in small groups and / or startups: working with better performing people rises your average! A-type person in a company where majority is Bs and Cs will be in a worse situation. In small, 5–10 people groups, it’s easier to measure effectiveness of individual contributor.
  • Leverage is an impact you make and see in the end results. The best situation when you have both measurement and leverage.
  • “Big companies can develop technology. They just can’t do it quickly. Their size makes them slow and prevents them from rewarding employees for the extraordinary effort required.”
  • Chose the most difficult tasks, features, problems when making both strategical and tactical decisions — “run upstairs,” to get competitive advantage. “Start by picking a hard problem, and then at every decision point, take the harder choice.”
  • Selling later for more is easier than earlier for less. Big “companies doing acquisitions are not looking for bargains.”
  • The way to generate wealth is to please the customers by solving their problems. “Design your product to please the users.” And not to please VCs or potential acquirers.
  • “Brand is the residue left as the substantive differences between rich and poor evaporate.” One of the reasons is that it’s “inconvenient to do something expensive and custom”.
  • “Mistakes are natural. Instead of treating them as disasters, make them easy to acknowledge and easy to fix.” Everybody could fail. The characteristic of a strong person is raising up from the failures quickly and learning from them.
  • Silicon Valley today is fifteenth century Florence, Italy. The power of same-minded people is real, powerful and unique.
  • Cultivate and acquire domain expertise.
  • Programming languages are not created equal. It’s easier to understand this by comparing low-level language like Assembly to high-level languages like C++ or Java. But the same comparison becomes harder for high-level languages, for examples PHP vs Ruby on Rails. In same cases it boils down to personal preferences, and considering how conservative humans in general, even to religious-like points of views / “wars”: “the language I’m using is the best!” BTW, if you are still using PHP, please take a look, if you haven’t already, at this article PHP: a fractal of bad design and take a glance at actual PHP hammer with two claws. You can only see the difference after you are exposes to more powerful / better things. It’s called “blub paradox”.
  • “Object-oriented programming offers a sustainable way to write spaghetti code.” – http://www.codinghorror.com/blog/2007/03/your-code-oop-or-poo.html
  • Technical “book should be thin, well-written, and full of good examples”.
  • Be optimistic about solving the problem but skeptical about the quality of the solution at the moment.
  • Get the prototype in front of users ASAP!

Graham, Paul (2008–07–14). Hackers & Painters: Big Ideas from the Computer Age (Kindle Location 2021). OReilly Media – A. Kindle Edition.

I will puke if I hear array search interview question again

Array search, sorting and related interview questions are very boring, unreasonable and borderline irritating.

UPDATE: You can follow the discussion on Hacker News.

Figuratively of course but still, array search, sorting and related interview questions are very boring, unreasonable and borderline irritating. Last month I was looking what is out there on the job market. All this hype about shortage of developers got me interesting in exploring new opportunities. I enjoyed meeting new people and learning about technological stack and problems companies try to solve. There were about a dozen phone interviews and a half-dozen face-to-face meetings. Most of the companies are regularly featured on TechCrunch. They are your typical VC-backed, 100–300 people startups. They have tons of perks as bicycle storage, tennis tables, free drinks and lunches, nerf guns, casual approach, lots of beer — all these tricks to lure employees. :)

No puking please
No puking please

Now here is the bad part. It didn’t matter much what technology startups use or what level of seniority was required for the position I was interviewed for. No. 95% of the time there were variations of array search and sorting, finding min / max value in array combined with providing big O notation, complexity and efficiency of such algorithms and functions type of questions. Two times I was asked exactly the same question:

Write function find_matches(haystack, needle) which returns array of all the matched elements needle array in haystack array with duplicates considerations.

The best answer to this question involves the use of a hash in which keys are values of needle array elements. And values are counts of repetitions of needle array elements in haystack array. Second time I’ve heard it I was bored even more than my interviewer, the VP of that startup. :)

I understand that there is never enough time in a startup. I’ve been on the other side of an interview process a few months ago. But I never took a shortcut. Maybe arrays are the only thing those “brain-dead” people remember from C++ class they took 10 years ago to fulfill their Computer Science degree requirement. Yes, 10 years ago it did matter which function to use, because memory and CPU were expensive. Not anymore! When is the last time you had to write your own array sorting function or function that performs search in an array? There is always a function for that in a high-level languages like Ruby (index), JavaScript (indexOf) or Python (index). And if you did write your own that is probably because you couldn’t find it (learn how to Google) or you didn’t bother to find it. In both cases it’s usually a bad idea because build-in functions are very efficient and your / our code is usually not efficient. Why test and ask for something which you are not using in real development? Why not look at candidate’s GitHub repositories, live websites and apps? Why not solve real problems your startup has at the moment?

Another sad thing, which I gladly didn’t see that much (but there still were a few interviewers) in the Bay Area compared to the East Coast, is asking terms, function names, definitions, slang, etc. Expecting people to remember functions’ syntax is a sin in itself! All this leads to hiring people with good memory vs smart people. That’s especially wrong when all these information is only a Google search away. And being smart can’t be acquired or substituted with search engine results.

Dear interviewers, please be creative if your goal is to find creative, smart people! Also remember that code is not an asset. It’s a liability. The more you code the more you’ll have to maintain. :)

AngelHack Grand Finals Demo

FashionMetric team, which was selected as a wildcard for Grand Finals Demo of AngelHack arrived from Los Angeles couple days before the event. Before the event we had a little bit of a “startup drama” due to the fact that one of our developers has left the company the day before. But team pulled it together and even pitched to famous investor’s team via GoToMeeting.

Happy Anxious Minutes Before Talking to Investor
Happy Anxious Minutes Before Talking to Investor

AngelHack Grand Finals Demo is basically a “demo day” for hackathon teams. Teams are the winners of previous rounds from Boston, New York City, San Francisco and other cities. They were allowed to work on their ideas and even pivot and change teams during 2 weeks from the previous round. More that 30 teams from across the states flew to San Francisco to pitch to the group of investors and judges. And the rest of the world was able to watch the event live through UStrem. After the pitches and announcement of the winners there was a dinner with optional partying and socializing. Two winners took $25,000 each in seed investment.

AngelHack '12 Grand Finals Demo
AngelHack ’12 Grand Finals Demo

There were very interesting teams. For example Fly.io which enables users to manipulate their laptop / desktop just by the eyes’ movements. Some teams members were nervous and others weren’t prepared to answer tough questions asked by the judges (like we :) ).

Before going on stage
Before going on stage

Our team FashionMetric didn’t score any prizes but we got valuable feedback from Thomas Korte – founder of AngelPad incubator and other judges. Interesting enough that many attendees later said that Thomas was harsh and they don’t agree with his point of view but our team don’t think so :) I actually agree that one of our slides with 9% segment of men who buy online is somewhat misleading.

Special Award for ShareBrowse.com
Special Award for ShareBrowse.com

The winners were Appetas – restaurant menu enhancer and GiveGo – charity meets sport. And the Special Award went to the youngest hacker, 15-year-old founder of ShareBrowse.com – customer support without installation and hassle. On the next day we went to Googleplex in Mountain View.

Hackathon "Duck crossing"
Hackathon “Duck crossing”

Accidentally they were having Seafood festival which slowed down our guided tour before tech talks and lunch. Special thanks to Greg and his team for organizing AngelHack!

FashionMetric.com in Android Garden
FashionMetric.com in Android Garden

Losing Hackathon Virginity: AngelHack San Francisco 2012

UPDATE: 06/28/2012 Today we received an email from AngelHack.com organizers. FashionMetric was selected to participate in the Grand Finals Demo on July 12. What are the odds? They choose 6 wildcards from over 40. Unbelievable! Main prizes include airfare to Silicon Valley, other team members are in Los Angeles, hotel and other things.

AngelHack Grand Finals Demo
We are the finalists, AngelHack Grand Finals Demo

I have been writing code for many years but somehow I managed to avoid hackathons till last weekend. I was wondering why would somebody spend their time and energy, deprive themselves of sleep and stress to deliver half-backed products in such a short time? Yet I’ve heard that it could be fun. When I got email with early bird 75% off code for AngelHack 2012 in San Francisco I didn’t hesitate to register. I’ve heard that it’s one of the biggest and the best hackathons around. Teams from different cities compete with each other using sponsors’ APIs.

Teams pitch their ideas
Team pitch their ideas to attract designers and developers

On the day of the event I still didn’t have my own team or even any decent idea due to being busy with other things. I thought I can still come and check it out, say “hi” to friends and meet new people. Immediately I was drawn into auditorium on the first floor to hear teams pitch their idea to attract designers and developers. I’ve heard a few good pitches and approached people. One of them was FashionMetric, they won Lean Startup Machine last week in Los Angeles and as a prize got tickets to this hackathon. Nevertheless I liked much simpler idea after I realized that it could be done in 24 hours and I decided to give it a try. Too bad there was only high-carb breakfast food and when I came back after lunch in downtown Palo Alto my team disassembled and their members split to contribute to other teams. Gladly, FashionMetric still needed developer so I joined them and was very glad that I did later!

Team FashionMetric
Team FashionMetric, winner of Lean Startup Machine in Los Angeles

I’ve noticed that there is clear separation between veterans of hackathons and just random curious folks. Former group bring sleeping bags, support teams, supplies, tooth brushes. They have strong teams of long time friends, know sponsors, their tech stack and stay heads down coding and hacking mostly all night. Latter group tends to be more individualistic, leave early to catch the last train back to San Francisco and seem to be less dedicated. I think there is nothing wrong with being casual but it could be distracting to more focused team members. We had funny situation when our designer disappeared leaving her laptop, food and 7th cup of beer on the table (she drank the previous 6). The AOL building provides many places to crash, in fact it’s the same building where startuper lived for free for 2 month escaping from security while building his prototype. She was nowhere to be found and our biz people, respect to them, had to master Photoshop, HTML and CSS to speed up our development :)

Hackers at rest at AOL lobby
Hackers at rest at AOL lobby

A few word about organizers. They were up all night bringing pizza, drink and normal food. They re-tweeted and responded to tweets quickly. I’ve seen somebody on Hackathon.io complaining about how they didn’t enforce rules of the hackathon: to limit development time to 24 hours, not to use code developed before the event, etc. but I’m personally not aware of bad were the violations.

Soldering and some real hardware hacking
Soldering and some real hardware hacking

Overall, despite the fact that our team, FashionMetric didn’t pass into second round I had fun working with awesome people. I was impressed by the amount of work we were able to accomplish, dedication and focus. Because we had everything brought and catered to us, even chair massage, we could concentrate on work. I think hackathons are good to test team, idea or even learn something cool like Firebase – I finally got beta invite! In addition we used Windows Azure cloud servers and BackboneJS as our thick MVC client framework.