

Why a programmer should try online poker - napolux
http://0x7bc.com/why-a-programmer-should-try-online-poker/

======
TomGullen
Math in poker is a little overrated. It's often listed as an advantage of the
game by less experienced players.

Once you have the basics nailed (mainly expected value calculations) there
really isn't much more to it, the rest of the skill then comes from estimating
opponents hand ranges. And past that, meta game, hand range balancing,
deception etc become increasingly important.

Poker is an amazing game when you're playing people who also understand the
game. When you're scrapping at the free games it's a pretty dismally
inefficient learning tool. If you want to play good people, you need to play
with money.

If you get to a reasonable level at poker, it does have a lot of advantages.
Here's a blog post I wrote comparing running a startup to playing poker:
[http://www.scirra.com/blog/80/why-running-a-startup-is-
like-...](http://www.scirra.com/blog/80/why-running-a-startup-is-like-playing-
poker)

Poker also has a big potential downside, which is obsession, outright misery
and despair which can slowly creep into your life. Distinguishing between
addiction and a pursuit you are thoroughly interested in and enjoy is often
difficult to pinpoint.

Poker also has other downsides which I've observed many times, even with close
friends. Illusions of grandeur are common, and can be destructive in your life
in a larger way than you are prepared to admit. For example, many players who
have been playing for many years still believe they can go pro. These players
don't study the game, they just play it and often bemoan their bad luck. For
years. In an alternative Universe they might have perused a career, yet they
are still playing small stakes games and bleeding off their money at a very
slow pace, slow enough to kid themselves that they are simply suffering a bad
run of luck.

Perseverance and self belief really aren't virtuous qualities in poker for
most people.

Harrington on Holdem are the best strategy books on poker in my opinion. If
anyone is interested in seeing how poker players should be thinking as they
play I highly recommend those books!

As for recommending people go into poker, I actively tell people to steer well
clear of it. Money flows upwards, addicts keep on self destructing and the
winning players will justify it with ethically dubious statements like "if I
don't take their money, someone else will", or with blinders on with
statements such as "all the losing players are probably just casual and
playing for fun" to appease their own ethics.

A lot of winning players do not understand or empathise the torture that some
losing players have to endure.

There is a real pleasure playing poker on a table with people who are equal,
or above you in skill level. The level of thought, the challenge, the tactics
are thoroughly thoroughly enjoyable. I was never especially good at poker, but
I did touch upon these sorts of experiences. To get there though will take
most people a lot of time, probably time better spent elsewhere.

~~~
andyakb
This is an incredibly jaded reply. Somebody who was "never especially good" at
programming but spent a lot of time try to be could make the exact same post.
Poker is very difficult to become successful at in your part-time, because you
need to balance playing with studying which forces you to divide a small pie
even smaller.

While the best of the best can beat tough tables and will play anybody, most
of us make money by playing worse players. Recreational players will often say
"I cant beat these players because they dont think, if only I could move up to
where they respected my raises!" But the problem with that is that the
majority of our profits come from those players, if you cant figure them out,
then you wont be beating the better players. Plain and simple.

As far as math being overrated, I couldnt disagree more. Yes, bad players or
people who dont play often ask if you need to be a math genius to figure it
out, or if you have to count cards, both of which arent true but that doesnt
mean math is unimportant. Yes, pot odds, counting outs, etc is all pretty
basic. Solving complex game trees for various situations to find the maximally
exploitive play is not. Is the math complex? No, not really. It can be
confusing, but there are tools to help and it isnt very high level math;
however, that doesnt make it unimportant.

Further, saying math is unimportant is completely ignoring the activity you
are "playing." Poker is entirely math. All you are doing is playing a numbers
game. In texas hold'em your first card dealt will have a 1/52 chance of being
a specific card, and your second will have a 1/51 chance. Then you have the
various probabilities for the flop, turn, river, etc. Saying poker isnt about
math misses the forest for the trees. I could say blackjack isnt about math,
you just need to follow the basic counting strategies to turn a profit. But
what do you think those are based on? How were they calculated? Look at what
the University of Alberta is doing with math and try to say it isnt important.

I respect your posts in BFI at 2p2, but this is something that only provides
the perspective of a player who never reached a high level of play. It is
important to understand that perspective, but while people should always learn
from somebody who failed, they need to be very careful when looking to them
for advice. Yes, many give great advice, and many winners just got lucky, but
you need to hear both sides.

TLDR: As far as the actual question goes, if you live in the US dont get into
online poker unless it is just for fun. There arent enough options for you to
play, and the risks are too high. If you are outside the US and want to learn
the game, make sure you have enough time to study and play, use good resources
(twoplustwo.com in conjunction with a video training site), listen to people
better than you, and always try to improve. Dont look for how to play x hand
in y situation, look to understand the framework that will help you make those
decisions. It isnt easy, and if you already code then your time is better
spent freelancing, but for college students, I think it is a great option,
provided they can be honest with themselves about their abilities.

When it comes to crossover with programming, Im not so sure i directly agree
(although Im just learning to code, so take this with a grain of salt) with
their specific points. I think when poker is properly studied, it helps you
learn how to think and analyze situations rationally. That ability helps the
coding process, but it is broader than that, and not really the reasons the
author outlined. It truly is a math/logic based game (so is any non purely
luck based game), so it requires a similar mindset, but I dont expect learning
one would help a ton with the other directly.

~~~
TomGullen
Great reply thank you!

> Look at what the University of Alberta is doing with math and try to say it
> isnt important.

University of Alberta have done awesome research into poker, and I believe
that every poker game is theoretically solvable. Math is a great tool to win
poker with, but for most humans that depth of math is unreachable therefore as
a player it's sort of useless (especially so in a live game).

When I was a winning player at various levels (plo100 was as far as I got) I
really don't feel I was consciously doing much math except in the less
frequent harder spots. (My demise was tilt and bankroll management).

> This is an incredibly jaded reply.

Fair comment, you have to understand though that it's a game that really hurt
me at one point and that some of my friends are unknowingly suffering from it.
I would not wish my experience of poker onto anyone else, and I would feel
very uncomfortable exploiting someone who was in a similar position (which is
obviously near impossible to ascertain online). I am quite vocal about this
because I do feel a lot of the downsides are glossed over by the winning
players - especially the less direct downsides like people deviating too far
away from other paths in their lives that they would be happier in (such as a
'real' job/career).

When I went to casinos, local games, even pub games I would only say about 10%
of the people in each place were happily enjoying themselves. My experience of
poker is that the vast majority of people who play it a lot really aren't
actually enjoying the pursuit, many to the point it impacts their outside
lives, and that the game does tend to attract less savoury characters. Of the
90% that were not enjoying it, many of them are deluded by their own ability
and potential. Perhaps I was just at the bottom of the pit and it changes at
higher levels, but new players starting it would be difficult to break away
from that majority group.

This definitely makes me hesitant to recommend the game to anyone, regardless
of the huge enjoyment and lessons I did get out of it.

------
gexla
Programmers probably shouldn't play online poker. When programmers aren't
programming, or creating other things, they should probably spend time off the
computer. They don't need another computer activity.

So, play poker face to face. Maybe you don't live in an area where you can do
that, then start a low stakes home game with friends. Don't have friends, go
out and meet some people. ;)

Don't bother with free poker, you will learn much other than the basic rules.
Even micro stakes are a bit crazy.

------
lazyjones
Reasons why you shouldn't:

[http://www.theage.com.au/national/online-poker-fraud-
reveale...](http://www.theage.com.au/national/online-poker-fraud-
revealed-20080930-4r8f.html)

[http://money.cnn.com/2011/04/15/news/economy/online_poker_in...](http://money.cnn.com/2011/04/15/news/economy/online_poker_indictments/index.htm)

For programmers it should be particularly obvious that cheating is just too
easy and too tempting for online poker/gambling sites. Not getting caught is a
little harder.

~~~
rojoca
It should be noted that the post explicitly recommends using free/fun to play
games and links to a problem gambling site.

~~~
napolux
Exactly. I'm not telling you to play your money on poker. I'm just telling you
to play poker for the fun and "benefits" of the activity.

------
zafriedman
As both a programmer and a poker player I have strong opinions on the subject.
In turn:

"Math is useful I see a lot of people around telling “I don’t need math”. In
poker (and in programming) you need a lot of math, even for simple
operations."

I think the importance of math is overstated in poker. When you look at a hand
you must determine your chance of your hand improving, which is a
straightforward mathematical exercise. You must also determine your opponents
chances of improving his hand, which is also a straightforward mathematical
exercise, but is complicated by the fact that you can't see the cards your
opponent has. So once you have pegged your opponent for a certain hand based
on his or her behavior earlier in the hand as well as any previous knowledge
you have of the player, if applicable, then again straightforward math.
Finally, professional/skilled poker players always calculate the odds the pot
gives them versus the odds that either their hand will improve or the odds
that in the specific situation they can expect to win the pot, and they
further must consider what odds they are offerring to their opponent by their
actions. Weighing those factors pretty much completes the degree to which
mathematics plays a role in no-limit Texas Hold'em.

"Be fast and precise In online poker you can’t think hours for your next move.
If you are a programmer you should be fast-thinking and precise. Fast and no
errors."

While this resonates much more for me in vis a vis poker, I think this is
borderline idiotic in the sense of programming. In poker you must act fast
because it is forced upon you in the context, you have no choice. Think of it
like using Javascript before Douglas Crockford came along and enlightened you
to the good parts of the language, the only reason to use it was because you
had no choice! But in programming, to say that you have to be "fast and [make]
no errors" is stupid insofar that it's an obvious goal of which stating serves
no purpose. It's like when I tried to explain to a non-programmer friend of
mine the concept introduced by Jason Fried of "getting good at making money".
He thought it was the stupidest thing he'd ever heard, like as if someone
saying "I'm going to work hard to improve my skill at making money" is going
to in any way have a causal relationship with the actualization. I probably
didn't do Jason justice in setting the right context for my friend,
nevertheless I think this phrase exhibits the same logical fallacy.

"If you want to try poker there are a lot of free poker games on facebook,
iPhone, etc… Don’t waste your money. The fun is the same."

You'll never get good if you're money is not on the line. Now, I'm not saying
that one should get in over their head, or even wager large amounts of money,
especially when learning to play poker. However, you will simply not see the
real scenarios and wrestle with the real hands that make you a great poker
player, unless you and your opponents are playing for money. My impression of
free poker games is that they mimic televised poker. Televised poker is for
entertainment, not education, so the hands that are shown are epic bluffs,
balls-to-the-wall all-in wagers, and other 5%-ish hands that provide the
greatest level of excitement to viewers. I'd do the same thing if I was a TV
producer, but it's not real poker. My point in this tangent is to illustrate
that 95% of winning and loosing in poker comes down to average-plus hands
beating average-minus hands. And while no hands are trivial in poker, playing
an average-x hand against an opponent who holds the counterpart is
ridiculously challenging. You will not have the motivation to really wrestle
to find the answer without your money on the line, and getting good at finding
out how to induce small mistakes in your opponent is basically synonymous with
becoming a good no-limit Texas Hold'em player.

And finally, a gaping omission in my mind:

Poker is great for programmers (and maybe more accurately entrepreneurs)
because it is a game where the perfect amount of information is available such
that a skilled player, in the long run, can expect to have a positive ROI when
playing against players of lesser skill. No-limit Texas Hold'em in particular,
is the epitome of this. At the height of its popularity when big no-limit
tournaments were attracting deep-pocketed beginners, a skilled player could
expect his tournament entry fee to be worth 5 to even 10x its value in terms
of expected value each time. The concept of imperfect information is resonant
in entrepreneurship I think for sure, and as for it's benefits with
programmers, I believe the best way to think about it is that poker in
beneficial because it ostensibly uses the same cognition as design patterns in
software engineering. You have a problem to solve with a variety of factors,
and you apply patterns to solve those problems based on your knowledge and the
past experience of others who have blazed the trail before you.

------
Slackwise
In my opinion, _Magic: The Gathering_ is a far more interesting game for
programmers.

Not only does it cover all the same facets of poker (stats, hands, bluffing),
it has complex strategy. I think a lot of the logic put into playing and
building a deck in MTG aids in similar mental processes for programming.

Actually, the skills needed for MTG are probably even better for someone in
business and finance. Learning to budget, offsetting losses and tracking
trends in the metagame--all very good skills for someone trying to make money
in a market.

Oh, and it's got more geek appeal. Can't overlook that.

------
qznc
I can recommand Poker, although not specifically to programmers. I got more
general life lessons out of it.

You learn to take decisions with vague information by approximating and using
basic math. As TomGullen says, the necessary math is neither hard nor is it
much. To art is to adapt your numbers to the real world situation. Example:
With an open-ended straight draw at the flop, you chances are roughly 1/3 for
a straight in the end. First, you need at least two other players. If you have
one other player, you fold, because it is not profitable. With three or more
other players you keep playing. With two enemies it gets interesting, because
you need to factor more information in, to decide. What is your position? Did
someone raise before the flop? How did your two enemies play their hands
before? What is your image at the table? ...

Another lesson i got from poker is to control my emotions when I'm on a
streak. If you are on a winning streak, you still must fold when the math says
the expected value is negative. On a loosing streak you still must go all-in
if the math says so. No peaking at the flop, when your initial hand is too
bad.

~~~
andyakb
Again, as I said in response to TomGullen's comment, that is still the very
basic of poker math. Further, your example is incorrect. To continue with an
OESD [open ended straight draw], you do not need 2 opponents. You simply need
the pot odds of the bet you are facing [and factoring in potential bets on
future streets while drawing, as well as expected profit when you make your
draw] to be giving you at least 2:1 odds.

In poker it is very easy to think youve "figured it out," because in a casino
it is hard to keep track of your profits and losses over more than a few
visits, and the ups and downs can have large impacts on your short term
results [which take a long time to get past in a casino].

I do agree that emotional control is the biggest thing [outside of profits]
that I got out of poker, because it carries over into the rest of my life. Im
more patient, and dont get upset as easily about things that are outside my
control. Those are important lessons to learn in life, and if you have gotten
those from poker, great, but you still have a ways to go to understand the
basic math and other concepts.

------
shyn3
Poker is awesome. Free poker doesn't teach you much. Programmers value
security and structure. With free money there is no structure to poker. People
will go all-in, or raise the big blinds. There is no accountability and
nothing to risk.

Once you play real-money games you see a drastic difference between play and
real. People start being accountable for their actions and try to calculate
optimally as to their odds of success on a given hand. The problem is once you
start with real-money, win or lose, you find it harder to stop. This is where
programming and poker are intertwined. Programmers can't stop programming.
They will always program. Poker players will always buy-in.

------
rms
Poker is mostly about some weird sort of secret autistic like aptitude that no
one really understands. Programmer types are higher in weird autistic aptitude
than average.

Moderately outlying poker players can make about as much as they can as Bay
Area programmers, and it's kind of a lot more fun to hang out all day getting
served drinks in a casino all day than be in the Bay Area, though the Oaks
Card Club is quite good for live multi table No Limit turbo-ish tournaments.
Email if you want to play sometime there.

Also email me if you know of a Bay Area Startup poker game with a decent buy-
in. I only ever find the social club low-limit ones on Facebook.

I didn't read the article and upvoted it.

~~~
encoderer
For the best, maybe "reading people" is just how you described it -- that
"weird sort of secret autistic like aptitude that no one really understands."
This is like that famous (to poker players anyway) first scene of the movie
Rounders where Matt Daemon's character goes around and tells you to some sick
level of accuracy the hand range of his opponents.

But in my experience, not being that, I can describe it better:

For me, reading people is about giving them as much negative stimuli as
possible and watching closely at their reactions. I'm really only passably
good at this in a 1-on-1 setting. I avoid big money in multi-player pots if i
can even though they provide a chance for much richer implied odds (eg the
ability to earn 2, 3 x my money).

What that means is this -- I play what's known as a "tight aggressive" game. I
only play about 5-10% of the hands dealt to me. And I play them hard. I raise
a lot. Not usually huge raises, instead I like to have more, smaller raises. A
good Pot Limit game is great for that. The idea here is simple: I want to make
you make more decisions. If I think you're a worse player than I am, then my
odds increase the more decisions I make you make. And I would much rather be
in a position where I re-raise and she comes back with a huge re-raise and I
fold than a position where I have less signal about her hand, and more noise,
and think I have the best of it all the way down and lose a big pot.

YMMV, but that's what "reading players" means to me.

Edit:

Also, build a poker bot. For fun. Not profit. You probably won't profit. But I
loved it. There are great "engines" you can build off of. I used WinHoldem but
this was circa 2005 so certainly there are better options. It's great. You get
computer vision, machine learning, etc, it's loads of fun.

~~~
rms
Reading people in internet poker means using a HUD plus drawing distinctions
based on how long they wait before making a move. That's it.

------
czzarr
Wtf HN? How in the hell does this article make the frontpage when it's written
(albeit with good intentions) by a complete poker newbie and the points he
make are incredibly shallow? There are so many much better blogposts about
online poker, please don't upvote this. (fwiw I played up to 25/50 for a
little while, and quit a huge winner, so I know what I'm talking about)

~~~
napolux
I am a programmer and not a poker player. :)

------
kevhsu
By this logic, programmers should try playing super smash brothers melee
competitively.

------
mhd
Any particular reasons for poker instead of chess, go, baccarat, skat etc.?

~~~
napolux
I played go, chess and many other games. Poker is widely avaible online, could
be played for free or money and is quite "dirty". Never seen Jessie James
playing chess :P.

~~~
mhd
Well, the money aspect didn't even figure in the original article as a
positive, and go, chess & various other card games contain math, too, and
often have quite vibrant online communities.

And, erm "dirtyness" as a deciding factor? Then I'd suggest three card monte.

~~~
napolux
LOL. :)

