I found your site via browsing Ramit Sethi's Delicious bookmarks. Love it. I know I'm not offering a whole lot of value, but I resonate quite a bit with your writing and was hoping you could share some insight about what you'd do in this situation:
Throughout college, I played online poker professionally and operated a coaching and staking business. I continued playing until recently, and am currently two years out of school. I devoted so much time to poker that my skills in other areas are lacking. However, I have been studying HTML, CSS, PHP, and MySQL and have landed two clients for basic web design. I don't want to draw into my savings any further, so I am looking to work at a company where I can build my skills and work with passion.
I'm unsure how I can expect any company to hire me based on a two year resume gap filled with a career that many people would consider "pure luck." Resumes typically don't matter if you can demonstrate a great level of skill in an area, but as my best skill is currently still exploiting tendencies in a game of Heads Up Texas Holdem, I'm a bit stuck for ideas.
Any advice would be greatly appreciate. Thanks in advance for spending your time even reading this email.
Hey K -
Thanks for reaching out and good skillset you've got.
My take - look, no one cares about your resume. They really don't. What they care about is, can he achieve what we want him to for the job? People don't hire for credentials or positions or resume - they hire because they think those indicate someone is going to do well in a particular role.
The big question, then, is how you can demonstrate to an employer (or someone hiring a contractor, or whatever) that you can get the job done. There's lots of ways you could do that - any tangible, real world achieve that show you put in effort, solved it, and got something usable out the door will help.
Did you ever see Jason Zimdars's application to 37Signals?
I think it's the best application to a job I've ever seen -
Particularly, look at his redesigns -
Does that take a lot of work? Yes.
But if you did similar amounts for only a few companies you really admired, I think you'd be very likely to get a job.
Honestly, I don't know how you'd patch up your resume. You probably could somehow, especially if the boss was a poker player. I played some poker for money, and I learned a lot from it, so if you had a good knowledge of EV, and solid play and could read people, and you'd read Skalansky and Caro and things like that, and you had a solid emotional steadfastness to avoid tilt, and you knew your hourly rate - well, then I'd admire the hell out of all of those characteristics. And "Professional Poker Player" probably sounds cool on your resume - or at least makes you stand out.
But beyond that, I don't know anything about resumes really. I've never had one. It's much more important to have people like you, and to show you can get things done. If you targeted just a few companies specifically, worked on showing them you really like them, you're a cool guy to work with, and you can achieve what they're looking for - that'd definitely land you a job if they have positions at all available. And if they don't have positions available, they'll still remember you and be willing to speak well of you, and maybe even stay in touch and become friends. It's a significant amount of work, but then again, most things in life worth doing are.
I also told K I'd put a copy of this up if anyone is looking to hire or contract someone for some HTML, CSS, PHP, and MySQL, and web design who happens to be a skilled poker player as well. Feel free to leave your contact info in the comments, or email me and I'll forward it to K.
What you've described (i.e. building your portfolio) is exactly what I'd recommend. I still think however that fundamental arrow in your programming quiver is version control (git) and using it to put the code behind your projects online to show off your technical skills is as (if not more) important than just displaying the finished product. You can learn git for free at progit.org, after which using github becomes trivial.
I think for basic, entry-level web dev jobs, being able to hand code a database-backed blog is a good start. It will get you making enough mistakes to frustrate you, but push through it and you will come out with a kind of sixth sense for finding bugs and problems with your code. The same problems that had you tearing your hair out for four hours before you found a fix will become solvable in a split-second.
This doesn't mean clicking a few buttons and creating a site in wordpress, anyone can do that. It means designing a database, accessing it in PHP, and creating some sort of templating system to show pages/posts to a user. You also need to develop a password protected admin area that allows you to manage (i.e. create, edit and delete) content. This is a basic content managed website, or more generally a CRUD (create, retrieve, update, delete) application that is almost like a rite of passage for becoming a web developer, so it get started, get it done and get it shipped. You will spend the rest of your carreer discovering what was wrong with it.
For actually getting a job, one word. Hustle. You don't have much to offer a potential employer (no matter how good you think you are, seriously, I wish I could have told myself this at the time) so you're going to have to pound the pavement looking for a job.
There's a fine balance between the example Seb gave (applying to exactly one company, in a directed sales letter) and just shotgun applying to every job you see. Hitting that balance is key, and I found that having a process for managing it is important. It's a repeatable process, so that if I got fired tomorrow, I'd probably have a new gig lined up in a couple of weeks.
Specifically, take a look at all your local job sites and look for junior web designer/developer positions. For each of those that you find, try to find a contact email or phone number.
Open up a free Highrise account, and for each job listing you've got create a new contact. If there's just an email with no name or phone number, just create a contact called Mr.X to list the listing under. For each job, send an application and CV tailored to the listing, attaching the sent files to the contact in Highrise. That way you have a record of what you sent to whom (and can keep track of the various 'embellishments' you might have made in covering letters and CV's in order to better match the listing).
After you've applied, be it via a recruiter or directly (in my area, it's always a recruiter) seriously, follow up. Follow up on the same day you applied, if possible by phone so they can actually hear your voice. If you can't follow up by phone, follow up by email and get a phone number. Thank them for accepting your application and tell them that you'll follow up a week later. Unless they explicitly say not to call them, or give you a better time that would be convenient, set a task in Highrise to contact them again in a week to see how the application went and if they'd consider bringing you in for an interview.
In your situation, in a major capital city (I'm taking London as a reference point) I'd say somewhere between 10-20 jobs is a good number to apply for at this stage, but any more than that and it becomes difficult to manage the applications. Framing it as sales leads works better than just applying and praying.
The goal here is to not get just the one offer, but two or three. The benefit for you is psychological. It becomes much easier to reason about where you want to work when you have three options to choose from. You can start making decisions based on salary, how well you got on with the interviewers, working conditions and location. I didn't do this and ended up with a 2 hour commute every morning and a really really low salary. I only stuck around there for about 8 months before moving onto better things.
Whoo, that went on a bit longer than I thought it would! Hope that helps! If you'd like any more specific advice you can shoot me an email.
Also, my advice would be: Do technology scouting.
-Try new things (new languages/framework, i.e. Ruby on Rails, Python Django, Symphony, JQuery, Postgresql). Even if you don't master them, it will give you some culture.
-Read the news periodically.
If during an interview you can talk about the tools the company does not use (yet) or still use as they shouldn't, you'll score.
If you say something like "I think that the popularity of PHP will decrease because of PHP6", you will look far more advanced than if you only say "I know PHP".
Also, learn about licenses. There are many commercial AND open source license. For example, the company might not want to use a GPL library in their project because it's a copyleft license.
Read this site for a good introduction:
And don't forget the advice from Sebastian in all his previous posts.
Do things. Lots of them. Even if 90% of it sucks, you still have 10% that doesn't, and people will judge you on this.
Thanks for the comment, Ali. I'll look into github and open source projects. Right now I'm working on building up my porfolio. Essentially throwing myself into projects I can barely do and using them to propel myself to a higher level. Do you have any particular exercises or recommendations?
Also, thanks Sebastian for the post.
For what it's worth, there's a burgeoning movement committed to bringing about widespread recognition that poker is a game of skill AND really useful for training strategic thinking. See, for instance, the Global Poker Strategic Thinking Society -- they've been on NPR 'n' everything!
(Disclaimer: GPSTS was founded by an old law school roommate and one of my favorite [and nuttiest] professors.)
Also, we once had someone apply for an attorney position at my law firm who had been a successful professional poker player before and during law school. We found that to be both very impressive and really $&@$ing cool. So chin up, homie!
Hey, Sebastian. Lookin' good on here!
Just got an email from a reader who is having a hard time getting a job in his industry in his home country, dislikes some things about his culture, and it's leading to him feeling like he's in a bit of a rut. Here's my reply -
I see 2-3 basic themes here.
1. Job market
2. Home country or not
3. General feelings about yourself
It's surprisingly rare for me to get emails with suggestions for posts, but since posting last week about my startup, I've gotten several requests for a post about programming. Good idea-I should have thought of this before.
Now is a particularly good time to talk about programming, because now is a particularly good time to start a tech business. Every two weeks I go to Startup Poker, where I play poker with a bunch of startup employees and owners. We don't talk about startups all that much, but when we do, a recurring theme is this: there has never been an easier time to start a startup.
The process of starting up a tech company has almost become standardized: two founders join together with an idea, they start building it, take funding, and change the idea along the way as necessary. Amongst the two founders, there are only two configurations that you'll see: either both are "technical" or one is "technical". Technical meaning that they can program and will actually build the product.