Skip Class

Someone asked me the other day if he should get a job to help acquire the skills needed to run his own business or just jump in and start.

I’ve written before about getting crappy jobs to help learn more about specific industries and problems people have. For example, if you want to create a photography website - some kind of Flickr competitor - it would behoove you to work as an assistant to a wedding photographer even if it didn’t pay well. Learn how he or she does their job. How they take good photographs. How they deal with emergencies when a camera doesn’t work. How they make a couple happy on such an important day. Those are examples full of potential insight to build a business for photographers.

But many of us think we need corporate jobs to learn how to scale servers, charge customers, or make things look “professional” before we can start our own business.

That’s not how it worked out for me.


I remember the first day of my second semester of college. I had an 8am class. It was snowing. I lived pretty far away, so I’d either have a long walk in the snow, and I didn’t have any boots, or I could get on a crowded, smelly bus. Neither attracted me. So I turned off the alarm and went back to sleep. I ditched my first class.

I felt guilty doing it, but even more so, I was frightened. I was paranoid I’d miss some kind of knowledge during the professor’s lecture and wouldn’t be able to do well on that first quiz or test.

But that’s not how it turned out. It was easy to get the homework assignment. And when I worked on that problem set and needed help, it was easy to find the Teaching Assistant of the class during his office hours.

So I ditched a lot more class. Still did the same work everyone else did, and I did very well.

You’d probably be surprised by how much college class I skipped, yet how well I did. But I wasn’t skipping class to recover from a hangover. I was usually just at home teaching myself something from another class.


Readers of this blog are familiar with my story of graduating college as a Chemical Engineer. But after a summer working at a uranium processing plant - going through Geiger counters, being ridiculously cautious of acid leaks, and carrying a gas mask around - I discovered I really enjoyed building things on computers and I wanted to make a life of running my own software company. Just one problem. I had zero training in software development.

So I took a job at a consulting company that did a lot of work with software, and I hoped it would teach me what I wanted to know. But instead, my job was doing a lot of paperwork. I’d be typing up meeting minutes or gathering requirements all day. I’m reminded of the guy in the movie Office Space:

Bob Slydell: What would you say you do here?

Tom Smykowski: Well look, I already told you! I deal with the goddamn customers so the engineers don’t have to! I have people skills! I am good at dealing with people! Can’t you understand that? What the hell is wrong with you people?

I did a lot of that - taking things from customers and giving them to engineers. I wanted more.

But work wasn’t giving it to me. There was no interest from my bosses to teach me to be a developer just because that’s what I said I wanted. I had to do it myself.

I would stay late at work and use their computers to learn Java. Eventually, I saved enough money to buy my own computer. And then I’d just constantly try to build new things at home. If I’d bump into problems, I’d buy another book, or find some message board online to ask my questions.

I’ve learned things from some very smart people at the places I’ve worked. But nothing has compared to what I’ve had to learn on my own because I jumped into starting a business and didn’t have a clue.

CNN was a client of my first successful business, Inkling, during the 2008 presidential primaries. One day they starting linking to Inkling on the CNN.com homepage. Do you know what happened?

Terrible things :)

We accidentally sent thousands of people the same email dozens of times. A job would kick off to send the email, but because there was so many people, it took much longer than I had accounted for. Before it was done, the same job would start again to see if new emails needed to be sent. And since the first job hadn’t saved the “all complete” notice yet, it would repeat itself. Over and over.

It was an embarrassing “rookie” mistake. But I wasn’t a rookie. Even after spending 6 years doing software development in the corporate world, being smart about long-running background tasks just wasn’t something I had ever learned on-the-job. But, I fixed it, and have been smarter about similar situations ever since.

There is no on-the-job training that’s going to prepare you for all the problems you’ll encounter starting a business. But many of us are stuck in tradition: we are required to go to class or get corporate jobs to be taught how to do these things. When the truth is…

Not only can you teach yourself what you need to learn, to actually get what you want, you’ll probably have to.

P.S. I’d love to meet you on Twitter: here.

Or please let me send you my latest newsletter.

 
428
Kudos
 
428
Kudos

Now read this

Faster Rails partial rendering and caching. 78% improvement of test application

Using a new gem I created, I was able to optimize a Rails action by 78% (152 ms to 34 ms). The gem takes advantage of Rail’s read_multi method to retrieve cached partials in parallel instead of the traditional route of sequentially... Continue →