Programming-like activities?

Programming is quite a remarkable activity:

  • It has an extremely low barrier to entry
    • You don't need expensive equipment
    • You don't need to be in a particular location
    • You don't need special credentials
    • You can finding information / resources just by opening the internet
    • You can learn it / do it independently
  • It gives you rapid feedback (which can lead to rapid growth)
  • It gives you frequent rewards (which gives a huge boost in motivation)
  • It's objective and unforgiving (this is a good thing, because it teaches you how to confront reality)
  • It's intellectually stimulating
  • It's useful in the real world
    • Corollary: you can make money or even build a career out of it
  • It's badass (or are you telling me that Hackers WASN'T your favorite movie of all time?)
What are some other "programming-like" activities?

I mean this in the sense of "activities that also satisfy the above criteria", but suggestions don't have to satisfy ALL of the criteria.  Here are some of the first ideas that come to mind when I try to answer the question myself:
  • Electronics (but this is basically still programming)
  • Math (lacks "rapid feedback" and "frequent rewards"; "useful in the real world" is also questionable)
  • Go, poker, video games (usually lacks "useful in the real world", sometimes lacks "badass")
  • Juggling, poi (lacks "intellectually stimulating" and "useful in the real world")
However, I've already exhausted my creativity and I'm hoping to go much deeper than this.  Thoughts?

Comments

sorted by
magical algorithm
Highlighting new comments since Today at 3:47 AM
Select new highlight date
Rendering 50/77 comments  show more

Having done a math PHD and now working as a programmer I find math proofs and programming semi-similar. Though I think programming is less "relaxing." In mathematics if you have an argument that works and isn't insanely complicated you can call yourself victorious. You can look for a simpler method if you want but there is really no imperative to do so. In programming there is almost always a better way to solve a given problem and the differences in speed matter alot.

My two cents: I studied math pretty intensively on my own and later started programming. To my pleasant surprise, the thinking style involved in math transmitted almost directly over into programming. I'd imagine that the inverse is also true.

Indeed, many people cross forward and backward between the two.

This is a fascinating perspective.

For me, optimizing code (both style and performance) can, at times, almost feel like gardening (aka relaxing and theraputic). On the other hand, I really like math, yet I've generally found that it requires WAY more effort than programming.

Perhaps this is why you have a math PhD and I don't ;-)

I have a mathematics PhD and have worked in academic research, industrial mathematics and software development. I agree with Princess_Stargirl that mathematics and programming feel quite similar, but for me mathematics is less relaxing because it's harder. Yes, it's great when you "have an argument that works and isn't insanely complicated", but until you get one you don't even know that it exists. Which is stressful if your pay, or reputation, or career prospects, happen to be governed by your success in finding such things.

(Whether, and how far, the same is true in programming depends on exactly how you define "programming". If you take it to mean the whole process of going from nothing at all to high-quality software, then it does share that characteristic with mathematics. But the very researchy open-ended work is a smaller fraction of programming than of mathematics, and there are people happily and productively employed as programmers who do scarcely any of it at all.)

In programming there is almost always a better way to solve a given problem and the differences in speed matter alot.

Do you mean development speed or execution speed? Either way, I'd guess it depends a lot on the application you're working on and/or the culture of your organization.

pick-pocketing

If you add "socially useful" or "not immoral" obviously this is excluded.

High barrier to entry. I expect that at my current skill level I'd get caught pick-pocketing the first time I tried it, and that would impact my ability to try it a second time.

I would expect that you could probably practice on a targets that won't call the cops on you first (you could try reaching into large jacket pockets or purses and removing appropriate objects to make sure you don't jostle them). I am not a thief, have never pick-pocketed anyone and this was just the first idea that popped into my head.

As a first idea that popped into your head that's not so bad. You can practice at home first.

No, you practice first. For instance, when I was a magician and trying to do watch steals, I would wrap a towel around a broom handle, put the watch around that, and practice the motion over and over again before I tried to do it in the real world.

You cannot date independently. Dating requires at least one other person. One of the amazing things about programming is that I can sit down anywhere at any time and create. Computers are handy, but even pencil and paper will do in a pinch.

They have online dating now. Yuo can prety much do this at any time you can do programming.

I guess the major difference would be that dating doesn't give you rapid feedback.

It does if you interpret James's comment to mean interactions with romantic intent.

Dating a single person for a long time is akin to managing a team of developers (sure, you don't get quick feedback) and chatting to someone you don't know in a book store is like quickly compiling something in a new language.

That... definitely explains my failure at "dating a single person for a long time" and my (relative) success at "chatting to someone you don't know".

Well, it might not really count as useful feedback if you just get a segmentation fault without any explanation what went wrong.

It seems like you just really like programming.

There's a seemingly limitless amount of skills that fit these criteria:

  • Languages
  • Writing
  • Understanding History
  • Math (Huge Umbrella Here)
  • Any circus game
  • Science( Another Huge Umbrella)
  • Any game of skill that you can make money from(chess, poker, checkers, go, etc.)
  • Any self-defense sport. (any sport if you consider the slim chance of going pro as "useful in the real world) (many include expensive equipment, but few that are more than the cost of a computer and a year of internet)
  • Public Speaking
  • Improv
  • Psychology
  • Cold Reading
  • Active Listening
  • Improving Sex Skills
  • Posture Training
  • Storytelling
  • Knot Tying
  • Cooking

I think I could keep listing... it's hard for me to think of skills that don't fit this criteria.

Lots of those fail many of the criteria listed in the OP. Check again.

Checked it again, this sentence is still there:

"I mean this in the sense of "activities that also satisfy the above criteria", but suggestions don't have to satisfy ALL of the criteria. Here are some of the first ideas that come to mind when I try to answer the question myself:"

Most of those criteria are extremely subjective - For instance, many people would say that programming needs expensive equipment, a specific location, and is nerdy instead of badass.

Similarly, all of the subjects above can fit all the criteria when you know what you're doing, how to practice them and how to use them.

  • Personal financial literacy (single most important factor for long-term wealth building)
  • Basic understanding of nutrition and exercise (the caveat is that there's a LOT of bad information or irrelevant information out there. Going from zero to some knowledge is hugely beneficial).
  • Meditation (you can immediately observe the novelty of meditating if you have never done it before; I won't say it's incredibly useful but it can be nice)
  • Household repair (look up how to fix something yourself whenever the opportunity comes up; use your judgment though)

The feedback some of those give isn't that rapid, though.

I disagree with the statement that electronics "is basically still programming". There are similarities between the two, but also significant differences; particularly if you consider electronics outside of the digital realm.

I also do not understand why you question whether math is "useful in the real world". I imagine that anyone involved in engineering, science, finance, artificial intelligence, marketing or a great many other "real world" occupations would vouch for the usefulness of mathematics.

Upvoted. This is the 3rd time in the last week that I've heard someone mention sales as a useful skill, but how do you train it short of actually getting a job in sales?

You can switch to buying your groceries at a farmers market where you can negotiate price.

I also know someone who brought a bunch of WoW Gold on ebay and then practiced buying and selling WoW items to practice his sales skills.

Snap - yeah I was thinking "Sales"

Passes all the criteria above except maybe "frequent rewards" (It's a field known for high rejections) and maybe "baddassery". That said it has an even higher "useful" criteria.

Statistics seems to satisfy all/almost all of those.

Social skills. If you have no skills at all, simply going to omegle and chatting with strangers can be a first step.

If you want to get further you can focus on dating, coaching, negotiating or networking.