7 Lessons From a Failed Tech Startup

Like many Googlers, I had the entrepreneurial itch. Working for Google was prestigious, and the benefits were great, but it didn’t have that “it” factor.

Many of us want to be “That Person” who accomplished “That Amazing Thing”, and we’ll never be that person working for a large, established tech company.

Who knows where that drive comes from, but I know that many people have it, just like I do. I knew founding a company was something I had to do to satisfy that desire.

I had read about how little equity most employees own in startups, and I was appalled. So I decided to found my own. My co-founder and I began by quitting our jobs around February of 2012. We didn’t have much of a plan. We had a loose idea of what we were going to work on, but all the details of execution were still fuzzy.

Below are some of the lessons I learned.

[Continue Reading]

5 Programming Productivity Hacks

1) Quickly Jump Between files.

Jumping between files is essential in programming. We’re constantly looking for classes or trying to remember how a section of code works. I cringe whenever one of my friends tries to find a file in the Windows Explorer or the Mac Finder. The keyboard is SO much faster.

One of the reasons I love Sublime Text is because it lets me do fuzzy file search. I type a few letters of the name, and the file appears in the dropdown. I can completely screw up how something is spelled and Sublime will still find it.

[Continue Reading]

Your ability to work more than 40 hours a week is One of Your Most Valuable Skills as a Software Engineer

This topic is going to piss a lot of you off.

In a former post, I talked about 5 Attributes of an Engineer I’d like to Hire. The point that generated the most outrage was number 5 – Willingness to Put In Hours. The comments section filled with people bemoaning “work life balance”.

Every Hacker News thread about hard work blows up in flame wars about how working more than 40 hours a week is “inhumane” (Really?). Financial Samurai had a post called Are There Really People Who Only Work 40 Hours A Week Or Less And Complain Why They Can’t Get Ahead? and the majority of the comments were negative. Meanwhile people like me who agree with “hard work posts”, silently nod and move on.

[Continue Reading]

4 Attitudes and Abilities that Help as a Software Engineer

I’ve found 4 mental abilities and attitudes that helped my career as a software engineer. Enjoy!

1) The Ability to Focus, and not Browse the Web.

The internet has killed our ability to focus. Enough said. Most of you probably won’t finish this blog post. It’s okay, I don’t finish most of the ones I start either.

Let’s jump straight to strategies to regain our attention spans:

[Continue Reading]

Why Security Programming is Hard

I find software security alarming.

Mostly because when I was working for Google, nobody had a good grasp of the concepts. Keep in mind I don’t either. I’ve read a few hacking books, and played around some with the examples. I’ve submitted JavaScript examples to the Chrome team that made the browser crash, but I’ve never come close to fully exploiting Chrome. I’m always in awe when I see some of the Chrome exploits that use 4-6 separate bugs to escape the browser’s sandbox.

Here’s why I think it’s alarming: Google is supposed to employ some of the brightest software engineers in the world, and yet, almost nobody knew anything about security. My “hacking” credentials were probably the best on my team after I read a couple of books.

[Continue Reading]