usable in any place a human can be used

20100122

hustle

[caption id="attachment_613" align="alignright" width="299" caption="That time was so much more glamorous"]do the hustle[/caption]

A realization has been dawning on me as of late, one that I've always known, but that is easy to forget, easy to misplace, easy to neglect. The best way to learn anything is to do it, to struggle through, to forge on, to fight and gnash teeth and curse at. There is no knowledge as highly regarded as that which you have to work for.


I'm not even particularly certain how this all came about, it seems to have been a culmination of things. I didn't intend to but somehow I ended up putting on my plate a bunch of new stuff to learn around the same time. Git, ruby, rails, blogging, prosper, hosting my own domain, and testing (Testing being a decidedly late addition). This blog was the genesis of a lot of it, that and just being curious.


I had my first post back on October 2nd of last year, as of writing this 112 days ago. At that point I didn't really know anything about the 7 topics above, I started the blog using Google's Blogger platform, it was an easy onramp.


After a month or so, I was encourage by some friends to move the blog to my own domain, which you are now at. I also kicked off the prosper project around the same time as starting this blog. I played around with ruby and a crazy friend convinced me to try out rails. I moved prosper to GitHub and began learning git. Now prosper supports 19 backends and has gained over 100 unit tests in the last few days.


Here's the kicker though, I don't know what I'm doing. I never really did, I just started doing stuff, and have been running ever since. There have been days when I've gotten 5,000+ hits on this site, several days with several hundreds of hits and I've been steadily increasing the daily reader count. I don't know how I did that, I just kept writing, I liked it, I promoted it over twitter and hacker news if I thought I had written something insightful, and I guess that is working. The same thing with prosper, I saw a need for something that didn't exist, I had a vague idea of how to make it, and I started coding. I've rewritten and refactored it piece by piece to the point that it supports all kinds of things I never thought it would. It's due for another architectural change after I finish these unit tests.


If there is one key thing I could convey to anyone reading this is to hustle. You will never be prepared for the things you are capable of doing. You will achieve your greatest accomplishments not by building up a grand framework of skill and then deftly creating something glorious, but by starting small and persevering in making it better and better. It is never an easy road and you will gain a grand framework of skills, but you have to push your boundaries to grow.


This came together for me last night, I was working on a rather tricky bit of rails and broke something. I hadn't gone too far into it and so I typed rake db:rollback and git reset head --hard and was back to a working application. I stopped myself for a second and thought about what I had just done, how improbable it all was from where I was just a month ago. I then thought about what I was doing in rails, and thought about how earlier in the day I was wrapping up prosper functionality in unit tests and finding regressions, and how I would have to write some cucumber tests for what I was doing, and I realized that 112 days ago I didn't have the vaguest idea of any of this.


I would love to put a triumphant "I'm just so damned smart and talented and handsome" paragraph here, but that's not the case. I just steeped myself in this stuff, I worked in git daily, I read about it, watched screencasts, I bought agile web development in rails, I got design patterns in ruby, I hustled. And you can do it too, take the first step today.


The first step that you should take is to invest yourself in something non-trivially. Want to learn rails, then go buy agile web development in rails, want to learn github, move an active project out there, want to learn linux, reformat your machine so that's all you have. You have to invest yourself, it plays a trick on your brain that makes it want to not waste that "investment" by quitting. If you can burn your boats (Hernán Cortés reference) all the better. I had no choice but to learn git or else I couldn't keep working on my project, and as a side bonus I got the joy (and frustration) of working in git everyday.


Get out there and hustle, learn something new, do something that scares you, reach beyond your grasp.

35 comments:

  1. Great message Matt. I started blogging a little earlier, last February on a typepad hosted blog. I wanted more flexibility and my own horribly long domain name VictusSpiritussupercalafragilisticthisdomainistoolong.com so wordpress was the way. Somehow late summer I became to determined to learn "web programming". It started with a little php, but rapidly grew to cover scala/lift, python, and finally ruby/rails.

    I'm just a tiny bit familiar with git now (pull, commit, and push from just a couple repos, haven't done that fancy roll back yet ;). I do like it, when my cofounder and I use it, although his bandwidth is flakey now so dropbox works easier.

    I really don't know what I'm doing, but I sense that simply moving IS the right direction. Glad to see you experiencing and sharing the same concept. Jives with a post I did to counter an earlier one of mine, Procastinate until you're ready.

    Still wish you had DISQUS, maybe one day they'll make it work better with your style tastes. Be well.

    ReplyDelete
  2. Great post. I was having a conversation recently with a friend of mine about this very topic.

    What it boiled down to is that all the time you spend struggling when you start something new is time you'll save later.

    ReplyDelete
  3. You've just discovered what Nike has said for a long time "Just Do It" or as you called it "hustled" - trust when I say that not everyone can do it. So congratulations to you.

    ReplyDelete
  4. Don't forget to Flow too :-)

    ReplyDelete
  5. [...] can all take to heart—kind of like Ze Frank’s previously mentioned brain crack video. hustle [...]

    ReplyDelete
  6. [...] very similar to the approach I took when I built my first web site from scratch with no experience. hustle [...]

    ReplyDelete
  7. Great post. As someone who has recently told himself that I'm get my photoshop and illustrator skills up as well as finally do a website for myself, my band and some friends, I've been trying to use the same approach. So far, its been working and it's great to hear about other people doing it, too.

    Keep up the good work!

    ReplyDelete
  8. [...] very similar to the approach I took when I built my first web site from scratch with no experience. hustle [...]

    ReplyDelete
  9. [...] very similar to the approach I took when I built my first web site from scratch with no experience. hustle [...]

    ReplyDelete
  10. Your observations immediately brought to mind an essay written by Mortimer Adler called "Invitation to the Pain of Learning". It is quite a good read...
    http://www.cambridgestudycenter.com/artilces/Adler1.htm
    (yes the word "article" is misspelled in the URL)

    ReplyDelete
  11. That is exactly how I got to create my website. I tried creating a personal website using some free hosting servers for years but I never got to do it, finally, I decided to buy a domain and web hosting from GoDaddy, it only costs $50 a year but that was enough to get me to do it.

    Thanks for the blog post though, now I'm thinking of doing the same thing for the project I'm working on: buy a domain for it.

    ReplyDelete
  12. Hi, I quoted you on my FB status. hope it's okay.

    ReplyDelete
  13. Anyone and everyone is allowed to freely quote the things that I write here. I am honored to be quoted and am happy that so many have enjoyed this post.

    ReplyDelete
  14. As someone paralyzed by a vague understanding of everything I would need to know in order to succeed, I found this to be very inspiring. Thanks

    ReplyDelete
  15. Excellent words! This applies to anything (with the possible exception of neurosurgery.) Just make and create and do what you need to get it done, and the rest will follow. I know too many folks who are afraid to start anything because of lack of knowledge, and it boggles my mind why they don't just begin and see what sticks.

    Can I do better? Sure. Will I do better? Definitely. Ain't gonna wait though.

    ReplyDelete
  16. [...] very similar to the approach I took when I built my first web site from scratch with no experience. hustle [...]

    ReplyDelete
  17. Awesome and very very true.

    ReplyDelete
  18. Very inspiring post. I have been thinking a while abount making a web 2.0 site using zend, openID, dojo, ajax to name a few, and this post pushed me over the edge.

    No more procrastinating and time to get started.

    thanks (will definetly be following your rss)

    ReplyDelete
  19. [...] by understanding it fully can I begin to improve it.  It’s taking time.  This dude over at ihumanable has a nice post to this [...]

    ReplyDelete
  20. A lot of things in one place, thanks..

    ReplyDelete
  21. [...] to begin learning the Ruby on Rails language and framework combo. I’ve been inspired by a blog post I read recently that promoted fast learning at the expense of a complete understanding of the [...]

    ReplyDelete
  22. [...] for not holding out. Programmer Matt Nowack described what’s called for best—”hustle.” (Original posts: brain crack, [...]

    ReplyDelete
  23. [...] happier for not holding out. Programmer Matt Nowack described what's called for best—"hustle.” (Original posts: brain crack, [...]

    ReplyDelete
  24. [...] happier for not holding out. Programmer Matt Nowack described what’s called for best—”hustle.” (Original posts: brain crack, [...]

    ReplyDelete
  25. [...] happier for not holding out. Programmer Matt Nowack described what’s called for best—"hustle." (Original posts: brain crack, [...]

    ReplyDelete
  26. Read your article that was linked to a Lifehacker.com article. I was instantly inspired. I was tasked to create an internal website for my department and never really completed a website before. I always felt I needed to take a class first or read a whole book before I got started. Now that I've read your article, I am ready just to dive in, learn, and make mistakes and not feel bad about it. Thanks for your inspiration.

    ReplyDelete