
Teach kids to farm, not code. - kimburgess
http://kimburgess.info/thoughts/teach-kids-to-farm-not-code
======
gambiting
I don't understand. We've spent thousands of years, using 99.9% of able-bodied
people for farming, hunting or some other food-gathering activities. Only
selected few could afford to NOT work in farming. Even America, just 200 years
ago had 90% of its population working as farmers.

Why such a desperate trend to make everyone grow their own food again? Sure,
the food industry is not always honest,not always as good as your own home-
grown food, but still - it allowed us to do something else with our lives, and
pushed our societies an order of magnitude ahead.

As much as people should APPRECIATE farming, I don't think that everyone
should do it. We produce enough food as it is. We should teach kids how to
code however, not because we need more programmers(which we do,but I digress)
- but because it's the easiest way to introduce kids to logical, technical-
like thinking. That way we can have more mathematicians, physicists,
astronomers, engineers - people who we can afford to keep alive(almost
literally) because they do not need to grown their own food anymore! They can
sit at their desks for the whole day, thinking how to make the world better,
instead of looking at how the crops grow.

I would say - why not give kids both? Is it too much to ask? Show them how
vegetables are grown, how animals are cared for and how are they slaughtered,
but at the same time, yes, please teach them how to code.

~~~
Heliosmaster
> Why such a desperate trend to make everyone grow their own food again?

Because people forgot in a hanfdul of years (that's what it is, compared to
the span of human history) what was slowly learned over the course of
centuries and millennia. And the result? That kids nowadays almost think that
foods magically pops out from the shelf at the supermarket.

Specialization (in the sense that nobody does everything, everyone does his
small part) is definitely good, unless you forget what everything is about and
depend on others too much.

Nobody expect people to go back to farming, but at least to know how is done.
You never know.

~~~
tomjen3
Why does it matter where stuff comes from? I haven't the foggiest idea where
my wood flooring came from, where my windows came from, or where my TV came
from, nor my water, electricity, or the waste disposal guys who pick up my
garbage.

Yet for some reason it matters where my food comes from? Really, why?

~~~
nmridul
Take it this way. While playing a computer game, my non-technical friends
don't know how the game was written, how the buttons were designed, how the
server is handling all those multiple players, or how the protocol handles all
the communication.

They don't try to see behind the scenes and so they just appreciate the game
and nothing more.

As a software engineer with whatever limited knowledge I have about those
things, I'm able to appreciate the game at even more levels. When I see a
perfectly flowing graphic I wonder how the coding was done and how much effort
the developers put in for creating it or how did they even come up with such a
use case.

Or take the case of movies. Once you start understanding about the planning
that goes behind the scenes and how such a great movie was made, you start to
appreciate it even more. Whey did they keep the camera there ? Wow, they could
have changed the lighting to this corner....

Same with life. The more you understand, the better you appreciate it.

~~~
arthurrr
The more you understand, the more you realize that most people aren't very
good at what they do. Not that they are bad at what they do, either. It just
takes the magic away.

------
singular
"This thing #{X} that I am inexperienced at is much harder than this thing
#{Y} I spent years doing because I am experienced at #{Y} and have some idea
how to do it and thus it feels comfortable.

Why, I am going to go so far as to talk down everybody who still does #{Y},
partly because I'm somewhat burnt out on it, and partly because my comparative
experience makes me feel like it's easy compared to #{X}."

Where:-

* X, Y are very broad fields in which there is a whole range of tasks which span from the very simple to the insanely difficult,

* X, Y both revolutionised the world at different points in human history, X before Y.

~~~
bnegreve
Programmers' world is populated with very abstract concepts that they use to
reason and draw conclusions. I think this post discuss the applicability of
this reasoning outside of the virtual sphere.

So assigning farming to #{X}, programming to #{Y} and then reasoning over X
and Y without considering the reality of farming and programming is surely not
the proper way to address this problem.

In other words, I disagree and I think this post is interesting.

~~~
singular
My point is that the OP and his father are making value judgments - firstly
the title, secondly:-

"Growing food is far more challenging, requires an order of magnitude more
knowledge and continuous learning and dedication."

Problems I have with this:-

* First and foremost, this is a pissing match. A better way of putting this might have been 'I found this more challenging, etc.' instead of some sweeping divisive comparison.

* It's meaningless - programming and farming are massive fields, what exactly are we comparing? Farming carrots in my allotment vs. a modern industrial farm. Hello world in qbasic vs. the linux kernel. Etc. etc. etc...

What's frustrating is that there are some really interesting points about, as
you say, the real world applications of things, abstractness of programming,
etc., but it's hidden below this unnecessary grumpy attack stuff.

Of course there's the just very grumpy:-

"Why are programmers granted such high status and wealth in our society for
living in a self-created self-indulgant intellectual world of constant
escapism"

Well, SpaceX did escape the atmosphere using some self-created self-indulgent
intellectualisms ;-)

------
edw519
I don't think we should encourage anyone to do anything. We should
_discourage_ them.

Let me explain...

I take my example from this traditional practice of Rabbis: never accept a
convert until they have been turned away twice before. Make them make 3
attempts to show their determination. Why? Because Judaism is hard. If they're
not committed, they'll either give up or do just enough to satisify the
minimum requirements, wasting everyone's time.

Same thing with programming. Building real applications that deliver
sustainable value over time is hard. It pretty much takes all that you've got
and can take years to reach excellence.

Every time I see another way to learn how to be a programmer (now that there's
money in the game, they seem to be popping up everywhere), I have two
immediate reactions: 1. How cool is that. I wish I had that years ago. 2. No!
We had enough bad programmers who are doing it for all the wrong reasons.

I believe the most important difference between an excellent programmer and
everyone else is not intelligence, education, emotional state, or work ethic
(although all of these help). The most important thing is a burning desire to
build.

Someone with this burning desire won't not need to be encouraged. You won't be
able to stop them. Someone without it would be better off doing something
else.

We don't need more programmers. (Only IT execs who akin programmers to
envelope stuffers think that.) We need more _excellent_ programmers.

The best way to get more excellent programmers? Discourage everyone so that
only the most determined can make it.

Our industry, our craft, and most of all, are code repositories would be much
better off.

~~~
jasonlotito
Except you don't have to become a chef to learn to cook.

~~~
ronyeh
I agree with this sentiment. Learning how to cook teaches you how to
appreciate food, and helps you think differently about how food is prepared
and even consumed.

Learning how to code, even if you don't become a professional programmer, will
help you appreciate the software you use. It may also help you think
differently about life, become better at problem solving (debugging IRL!), or
at minimum, get frustrated at all the software you use on a day-to-day basis,
because you know you would have designed it better. ;-)

------
guard-of-terra
In competitive environments, low-tech occupations tend to lose as a group.

Take any mass farming. Tea collectors, for example, I believe they're paid so
little they are in constant poverty. Why are they paid that way? They collect
all the tea people around the world drink. Paying them the increase of the
cost of a tea bag by 1 cent will make them comparatively rich. Why isn't it
done? They have no bargaining power. Anyone can collect tea badly enough, this
is true for most agricultural labour. It is physically hard but you can teach
it in half an our. So they can always be easily replaced either with local
population or with some illegal immigrants.

In the developed world, a lot of people just pass documents around and make
phone calls. It's the sophistication of zooplankton and physically much less
demanding than agricultural jobs, but you can't quite teach it to anyone in
the world in half an hour - you need locals for this (they connect to other
people and need to fit culturally) and they need some even very basic skills.
So they get paid with actual money you can buy things with.

Take coders. Training a coder is not easy and it even requires some aptitude.
Thus, even mediocre coders can often command their rules to their employers.
And great coders are true citizens of the world, employable anywhere on their
terms.

So, to make farming cool we have to make it high-tech. Another problem is that
farming doesn't seem very profitable even on the large / capital scale,
because the barrier to entry is so low.

~~~
randomdata
> Another problem is that farming doesn't seem very profitable even on the
> large / capital scale, because the barrier to entry is so low.

For what it is worth, I make considerably more money per hour farming than I
do programming, and I get paid quite well to be a programmer.

With farming, however, the barrier to entry is actually quite high. That
barrier being access to capital. It is the massive debt any normal person has
to take on to even think about farming that cripples most.

Programmers are quite lucky that you only need one reasonably affordable tool,
which almost everyone already owns, and you are eligible to enter the market.

~~~
guard-of-terra
That's because you're a high-tech farmer, aren't you?

Profits - capital = slim margins. If you have some "free" capital then you're
lucky.

------
raverbashing
Yes, farming is hard, very hard

Most here don't appreciate how hard it is (especially if you're inexperienced)

Do people still grow beans using a cotton in a cup? Do they still teach that
at schools? That's basically the 'hello world' of farming

Of course, depends on what you are doing, type of plants, inside a greenhouse
or in an open field, the scale of it etc. Not to mention raising animals.
That's very hard as well

It's unsurprising that it's getting ever more 'industry like'. You take a lot
of people and specialize in only a few crops, so you can have profits that
work out. Machines are expensive, fertilizer, soil analysis, etc, etc

And then there's a climate issue, too much rain, too cold, too warm and you
miss the mark.

~~~
ivanmilles
>That's basically the 'hello world' of farming This is an extremely
fascinating perspective. I need to go... build something. Wow.

------
PeterisP
The big point is actually that currently we (as in, the whole world) have far
more farmers than we need (especially in the developing countries) and less
coders than we need. And in the future, automation and coders will ensure that
we will need even less farmers.

How much population do we really need to tend all global arable land using
modern methods machinery? Currently in developed countries it's somewhere near
2%, depending on the local crops used; in time it may be 1% as more and more
things can now be done by machines. Countries such as India and China
currently have hundreds of millions of farmers; but the same result can be
produced by half or less people with farming methods currently used in USA/EU.
Right now a lot of modern grain farm work consists of driving equipment around
all your fields - and self-driving tractors will eliminate even that remainder
"manual" work.

~~~
randomdata
Driving the equipment around is the fun part, but not the real work that goes
into the business. Farming is actually quite challenging.

A recent problem I remember having on my farm: Soil is full of wet lumps of
clay, unsuitable for planting, cultivators are not breaking them up and you
have a few day window to fix the problem before it gets too late into the
season to plant the crop. What do you do?

I actually agree that the point is to attract more programmers into the
industry, but the consequences of that seem dangerous. What happens when we
have too many programmers? Should coding classes be dropped from the system?

~~~
XorNot
Coding practice scales. Farming does not.

If you have a smartphone, you have (potentially) a programming platform. We
can't simply give everyone on the planet a few acres of farmland to get to
grips with the challenges of farming.

~~~
cpressey
I dunno. There are vast patches of ocean that are going pretty much unused
right now.

(Yes, I know that's still science-fiction, but is it really that much more of
a stretch than the AI/robot/automation "software will eat the world" firm-
belief that you see daily on HN?)

------
bencevans
Brilliant post! Props for the RHoK link too.

I'm currently an A Level student in the UK that's been hacking on software and
hardware projects for the last 6-7 years. I decided to go to the June RHoK
event in Southampton and worked on a new project called WaterMe with 4 others
that takes open satellite imagery from NASA and outputs an index of water
content and foliage and more in the area over time from a user friendly
interface. Also making available the data for researchers and hackers for
other awesome projects.

After the Hackathon we were accepted into a humanitarian incubator called GWOB
(Geeks Without Bounds) which has put our team in contact with many spectacular
personalities and guidance which has intorduced me into areas of mapping, open
data, funding, advertising, additional technologies and even quad-
copters/balloons/flying-machines.

We are still developing the product (now closed source) and are hoping to look
for investment in the near future to run the product at scale to provide for
farmers, researchers and anyone interested in things such as drought and
glaciers amongst others.

Needless to say this has one of the best experiences of my life so far and is
way more rewarding than any freelance work I've done as just make money jobs.

------
nnq
> Growing food is far more challenging

...NOT!!! I know you Americans tend to see having a basic little vegetable
garden as "black magic", but it's really something one can learn in under a
week and based on this knowledge grow things to the point that one can
actually produce enough for sale and maybe run a small business! _But's you
can't learn programming well enough to actually get any benefit out of it, let
alone actually make a living from this alone, in a week!_ Yeah, I pick my food
from the supermarket just like you, but I spent enough of my childhood at a
farm know that things are really easy (at least if don't try running your
little garden as a real business and get enough profit to cover marketing,
distribution etc. - then shit gets _really_ complicated), basically _high-
school biology is more than enough_ and everything can be found in any book or
googled in minutes and you have tools that come with all the needed
instructions and seed, herbicedes etc.

It all boils to this funny observation: _plants can grow by themselves, you
just need to guide things a bit to get the desired outcome! otoh, computers
don't program themselves, code doesn't write itself - you have to do it, and
this is why it's hard and also fun and rewarding (for a comparison, starting
to learn how to farm by writing the genetic code of the organism's you'll be
farming - ok, it's and orders of magnitude exaggeration, but it's still the
closest way farming could be alike to coding)._

~~~
cpressey
Since I've been trying to deconstruct "programmer" into "systems analyst" and
"coder" in other comments, I might as well continue in that vein here, but
with a slightly different tack:

Farming is a lot more like "software engineering" than "programming". You
can't pause a farm. It's an "engine" that you have to keep running, no matter
what calamity occurs (weather, breakdowns, etc.)

~~~
nnq
indeed, but if your goal is not running it for profit but just producing tasty
organic veggies from a hobby garden, then _things mostly just work_ if you're
in a temperate area with predictable climate. Just keep watering it and it
will grow to the point of producing stuff, even if you totally mess up
everything else. _Software, on the other hand, rarely "just works"... nature
and the "experience of evolution" are not on your side in the programming
field..._

------
logn
This article presents a nuanced point, and I agree with it.

My response to this quote by Steve Burgess (not the author): "Why are
programmers granted such high status and wealth in our society for living in a
self-created self-indulgant intellectual world of constant escapism- and yet
farmers are regarded with such distain when they operate on the most important
boundary between society and the biosphere?"

... would have been: I disagree with your premise. See:
<http://www.youtube.com/watch?v=AMpZ0TGjbWE> (God Made a Farmer) and see
<http://www.youtube.com/watch?v=wGJX6t3IAlk> (GoDaddy Bar Refaeli Super Bowl
Commercial).

~~~
walshemj
Given the amount of government subvention and subsidies compered to Farmers we
are very very low down on the totem pole.

In the EU in 20010 €43.8bn (31% of the EU budget) compared to the support that
STEM industries get this is far more.

Blue states like CA and MA support the smaller interior agricultural red
states - the USA is set up to favor farmers.

You don't get satire like Farmer Palmer in VIZ from nothimg

~~~
gammarator
California has the most agricultural output of any state in the US, fyi:
[http://www.ers.usda.gov/data-products/agricultural-
productiv...](http://www.ers.usda.gov/data-products/agricultural-productivity-
in-the-us.aspx#28270)

------
wfunction
"Why are [...] farmers are regarded with such distain [...]?"

They are? I haven't seen people feel that way, so I'm kind of surprised to
read this. Some references to evidence that supports this claim might be
useful.

~~~
adamnemecek
Same with "Why are programmers granted such high status...". I was not aware
that programmers had a particularly high social status.

~~~
Turing_Machine
[http://www.forbes.com/2006/07/28/leadership-careers-jobs-
cx_...](http://www.forbes.com/2006/07/28/leadership-careers-jobs-
cx_tvr_0728admired.html)

Farmer and engineer are about the same, with farmer having a slight edge.

~~~
jasonlotito
Engineer, not programmer. Judging by the picture, I'm pretty sure they aren't
referring to the computer "engineer."

~~~
wfunction
Software engineer?

------
Bjorkbat
Funny they should mention this, when I first went to college I majored in
Horticulture, the idea being that I would one day be an organic farmer.

Turns out that's a lousy way of learning the trade. They'll teach you a little
bit of the hands-on stuff, but pretty soon it's all plant physiology. If you
really wanted to learn, you had to go out and farm, not learn how the Krebs
cycle works.

So, after having worked as a farmhand for a few other farmers, I dropped out,
tried share-farming for a while. Worked well, other than the fact that the
drought in Texas was breaking records, which wasn't good if you're growing
vegetables, not to mention the high-temps and a lack of a greenhouse. In 6
months I was pretty much done for.

Still, I learned a lot, so much so that I figured I was probably smart enough
to major in something more intellectually stimulating, so I went with
engineering, found out I like programming a lot, and eventually settled in
Computer Science.

Long story short, I think he's onto something, farming isn't just physically
demanding, it requires thought, especially if you don't want to use nasty
chemicals. I may not be the best coder in the bunch, but I've found I can
figure it out a little faster than classmates who brag that they learned their
first language when they were in grade school. I learned my first language, C,
when I was 21.

~~~
mamoswined
Yeah I too went to ag school and then got into coding.

It's pretty hard to be a farmer coming out of ag school unless your family has
a farm already for you to run since the entry costs are so high. I still
produce a lot of my own food via a family farm, but god I'm glad it's not my
main job. I make a mistake when coding and things can be bad, but usually they
are OK especially if you have revision control and a good workflow.

I make a mistake farming and things die and I have nothing to eat or sell.
Then there are just random inexplicable things that screw you over. Yes, this
happens in IT, see what happened with Cloudflare this week, but imagine if
that lasted for months, even years, and you could never switch providers-
that's how badly weather can screw you over.

I worked in academia IT for a bit and took archaeology classes for fun. It's
no surprise that ancient farmer's bones have markers like pitting that
indicate periods of severe malnutrition.

------
motters
What will the problems of the next generation be, and how do we prepare them
for that? On the face of it the next few generations face huge issues. The
only thing we know for certain is that the way we live now is totally
unsustainable in the long run, and that new solutions will need to be found to
old and unglamorous problems. More localised food production might be one way
to help them through what looks like a turbulent few decades, by building in
resilience to political and economic shocks.

Is it still valuable to teach kids to code, in the same way that it might have
been in the 1980s? I think so, and for the same reasons why growing your own
food might also be a good idea. It makes you more independent and more
resilient, and reduces your dependency upon increasingly centralised systems
which are vulnerable to failure or being co-opted by parties who don't care
about your interests. As time goes by code makes up the fundamental
infrastructure of life, so who writes and controls that code, and what their
priorities are, becomes a critical question.

~~~
Turing_Machine
"The only thing we know for certain is that the way we live now is totally
unsustainable in the long run"

We "know" this how, exactly? Malthus was saying the same thing in 1798. Paul
Ehrlich was saying the same thing in 1968.

They were both dead wrong.

"The battle to feed all of humanity is over. In the 1970's and 1980's hundreds
of millions of people will starve to death in spite of any crash programs
embarked upon now."

"Hundreds of millions of people will soon perish in smog disasters in New York
and Los Angeles...the oceans will die of DDT poisoning by 1979...the U.S. life
expectancy will drop to 42 years by 1980 due to cancer epidemics."

~~~
wazoox
Malthus was exactly right, but he couldn't anticipate the coming industrial
revolution and the explosion of energy availability through fossil fuels.
There may be an equivalent revolution looming, but I can see no sign of it.
For all purposes, Malthus could be right 200 years late.

Most people seem to stick to "the system has worked for 350 years, so it must
be able to go on indefinitely".

~~~
Turing_Machine
"There may be an equivalent revolution looming, but I can see no sign of it."

Plenty of material here: <http://www-
formal.stanford.edu/jmc/progress/index.html>

~~~
wazoox
Yes, I know of this one and it's precisely the sort of wishful thinking I was
mentioning, particularly the sheer disregard of energy related problems
(obviously, everything will be easy for ever if finding energy and getting rid
of waste heat has some magical solution). You should study some posts from
this for a contradictory POV:

<http://physics.ucsd.edu/do-the-math/>

I particularly like the discussion between the "exponential economist and
finite physicist":

[http://physics.ucsd.edu/do-the-math/2012/04/economist-
meets-...](http://physics.ucsd.edu/do-the-math/2012/04/economist-meets-
physicist/)

Or see also "Galactic Scale Energy" for a quick use of math to kill J.
McCarthy arguments:

[http://physics.ucsd.edu/do-the-math/2011/07/galactic-
scale-e...](http://physics.ucsd.edu/do-the-math/2011/07/galactic-scale-
energy/)

~~~
Turing_Machine
"particularly the sheer disregard of energy related problems"

Did you actually read this?

We have enough fissile material to last billions of years. "Billions". With a
B.

<http://www-formal.stanford.edu/jmc/progress/nuclear-faq.html>

~~~
wazoox
Yes, I've read this several years ago, but you didn't read my links. Because
my link use actual arithmetic, while McCarthy only says that those who don't
use arithmetic are condemned to fail, then happily proceed with vague numbers
and absolutely ZERO actual data.

~~~
Turing_Machine
"Because my link use actual arithmetic"

No, they don't.

They use the assumption that population and energy use per capita will
continue to grow exponentially, when it's clear that it doesn't. That may be
"arithmetic" of a sort, but GIGO, you know.

Essentially every developed country is below replacement level (the United
States is an exception, but only due to high immigration).

Find out why that is and then you can discuss the issue without, as McCarthy
said, talking nonsense.

I did use actual arithmetic in the waste heat calculation, which I notice that
you did not dispute.

------
lani
>> Why are programmers granted such high status and wealth in our society for
living in a self-created self-indulgent intellectual world of constant
escapism

We know the specifics of the answer to this, I'd like to answer this in a
general sort of way - in Alvin Toffer's 'Third wave' way of looking at the
world, the integrators in a division-of-labour system are its rulers.
Programmers give you tools to integrate. Remember, the key themes of the the
second wave are :

"The Second Wave Society is industrial and based on mass production, mass
distribution, mass consumption, mass education, mass media, mass recreation,
mass entertainment, and weapons of mass destruction. You combine those things
with standardization, centralization, concentration, and synchronization, and
you wind up with a style of organization we call bureaucracy."

So you see , programmers are actually bureaucracy-engineers, creating the
process and flow and channels for the industries of the world to play together

------
nohuck13
> The programming part is nothing more than a hammer to a builder or a scalpel
> to a surgeon.

We need to remember that not all "tools" are equal. "Tools" like math,
science, and philosophy provide leverage for future understanding/interacting
with the world. The "tool" of farming provides the ability grow food
efficiently. Important but not the same thing. The idea behind code.org and
the like is that, hey, maybe programming is more foundational than it is just
a trade for programmers to sit in cubicles and do all day.

If you want to argue that programming and farming belong on the same plane,
you need to argue that farming provides as much leverage as coding for general
life tasks, or else why this leverage doesn't matter. Implying that
programming is somehow a morally corrupt activity because of its "escapism"
and links to advertising and high frequency trading feels a bit inadequate to
me.

------
empoman
I think what most people are missing is that it's not about creating more
programmers as much as it is about teaching people how to think analytically.
When you're programming you try to solve a high level problem using low level
techniques. The actual programming is the part where you find a solution for
the high level problem with your low level tools.

So again, it is not just about writing code. It is about how to approach
problems and finding viable solutions, no matter what the form of the problem
is. It could as well be: "How can I speed up the harvesting on my farm?".
Knowing programming helps us in many more situations than just writing code.

~~~
cpressey
I agree with your point. But to riff off dschiptsov's comment, how do you
define "programming" (as opposed to, say, "coding"), and how does knowing
programming help you answer questions like "How can I speed up harvesting on
my farm?"

I would call the ability to understand and solve those kinds of problems
_analysis_ , not programming. It used to be the case that "systems analyst"
and "programmer" were two different job titles; at this point, they've largely
merged, but I still see them as two different skill sets. (And then there's
"software engineer" which is a whole other can of worms.)

~~~
empoman
That's a fair question, so I'll try to explain how I see it. Problem analysis
as you mentioning it, to me, seems like the theoretical form of programming.
So here I see "coding", or programming, as an easy way to practice problem
analysis in a real context, and not just by going through a text book like we
do with math in school.

And I agree with you regarding programmers and system analysts. There are so
many titles and job descriptions nowadays that try to look fancier than the
other just to make it easier arguing for a higher salary. Even if what they do
is basically the same. Here in Sweden, there is a long running "joke"-ish
alternative title for a cleaner, and that is "hygiene technician". One sounds
fancier than the other, but it really isn't.

Regarding how speeding up the harvesting would be done, I have no idea since I
am not at all familiar with how a farm works. The point I was trying to make
is that if you have knowledge about the domain of farming, AND you know how to
program (or if you are good at problem analysis, which I think you are if you
can program), then I'm sure that it would be easier to think of something than
if you weren't.

Does it make sense or am I just rambling like a crazy person? :D

~~~
cpressey
That's a reasonable answer, and yes, it makes sense.

You could say analysis is a theoretical form of programming, or
correspondingly, that programming is an applied form of analysis --
specifically, applied on computers.

I guess my main reservation is that if kids' first exposure to analysis is
through programming, there's a risk of skewing their perception towards
looking for solutions that use computers. ("When all you have is a hammer,
everything looks like a nail.")

In my experience, I've seen problems that have been approached like: We're
doing X too slowly, and it's costing us; what kind of computerized tool can we
build to let us do X more quickly? And after the tool has been built, it
introduces a new set of processes with its own set of burdens, and X is not
really done significantly more quickly. My conclusion is that you often need
to step back and re-examine what people are actually doing (and why), and what
they actually want to accomplish (and why.)

(And a significant obstacle with that is that people develop habits, and they
get comfortable with them, and don't want to change them -- so, without
knowing the details of the problem, the first step in "How can I speed up
harvesting?" would probably be to have some willingness and flexibility to try
out variations in your methods of harvesting.)

If we can find ways of teaching kids to program that build their problem-
solving skills while also not clouding their heads with the idea that
computers are necessarily part of the best solution, I'm all for it.

------
smogzer
I divide my days into coding and planting seeds+farming, and i like very much
both tasks. My opinion is that there is a bandwidth for everything, but kids
should follow their passions and do what they love best.

When i'll be a parent i'll teach them this because it's lovely, and that ! oh
but this skill is amazing also ! There is bandwidth for most everything but
above all your kids will copy you and see what you love and probably get
inspired to follow their own path.

So teach them to do what they love and love what they do ! and teach them to
feel happy above all. But teach them by being that example yourself !

------
loup-vaillant
> _Programming is simply a tool, a way to abstract a problem and enable it to
> be solved or solved more efficiently. […] The programming part is nothing
> more than a hammer to a builder or a scalpel to a surgeon._

That sounds like a massive understatement of the actual power of electronic
computers. They are the universal mental tool. The tool that can do _any_
sufficiently specified cognitive task. There is no such physical tool yet
(though we could hope for Drexlerian nanotechnology).

Programming is the way we control this tool. I do not know of any greater
power.

------
dlf
The bit teaching kids to farm seems like a straw man regarding what is most
important to learn. Learning to farm and learning to code are not mutually
exclusive, and may even require overlapping skills (manipulating an
environment with a given set of constraints to yield the most favorable
results).

Yet, the OP's conclusion presents a stronger argument for learning to code
than learning to farm: "What code.org promotes is teaching kids how to look at
problems, analyse them and present them in a way that captures what they are
trying to solve. It promotes teaching kids how to use a new tool that can
assist them to devise solutions to whatever problems they desire. Most
importantly it promotes teaching them a tool that they can use to express and
communicate this."

This seems like an even stronger endorsement for learning to code than
anything even in the code.org video.

I think the real underlying sentiment in this post is to not learn to code for
the wrong reasons, but kids don't care about future rewards like "vats of
riches, shiny things and scantily clad women." They gravitate to things that
are fun and that capture their attention in the here and now. Making a sprite
spin in a circle in Scratch was all it took to get my 4 year old nephew's eyes
to light up. He can decide one day whether he'd rather code for altruism or
profit (again, not that they are mutually exclusive).

------
sounds
Every once in a while I still recite this one poem shared with me back when I
was quite impressionable; it's a fascinating comparison between farming and
coding.

For the record, I agree that our interaction with this biosphere (and
hopefully, Mars soon) vastly outweighs the significance of github. No offense
intended to github, just perspective.

Part of it:

    
    
      Writing turns our deepest loam
      Planting roses with the words
      From indigenous tangle
      Visitors, though, not landlords

------
ihatehandles
I'm surprised by the article really. For decades geeks have been mocked and
ridiculed in society and the media. Fast forward to this last decade the wider
world understands geeks and the geeks' work has made lives better (in some
ways) for a lot of people. And now they are the criminals?

There isn't a god-like status, the internet and blogs are built by nerds so
yes they will have their praise there, much as you will see farmers being
praised in Africa where i'm from. Geeks aren't even called geeks because 1.
they are far apart 2. no one even understands what we do in the first place.
We all almost know each other because there's so few of us

Of course we need farmers, we need doctors, ventriloquists: we need all sorts
of trades but when you find a different calling don't make yourself feel
better by ridiculing other people's careers.

Or maybe, just maybe, because tech is the hype where you are and in your media
you feel other trades are being neglected. Whether that's true or not for
WHERE YOU LIVE i don't know. I do understand your frustration with the
code.org campaign though, which makes it seem like kids won't get identity
documents because they can't code (lol). But for the rest of the world outside
the valley? We actually need more coders.

------
thenomad
_"There are developers all across this planet that are absolutely incredible
at what they do, serious geniuses and masters of the craft yet still barely
earn enough to survive."_

Wouldn't it be a good idea to press for kids to be taught better business
skills, then?

I'm quite serious about this - the businesses I ran as a kid / teen were
amongst my most important formative experiences.

------
dschiptsov
Yeah, _coding_ (especially bad coding) is easy, and requires almost no
knowledge, whereas _programming_ is a completely different discipline, which
requires a lot (really a lot) of knowledge, especially programming of systems.

Programming begins with understanding of how computers work, what is an
architecture, an instruction set, size of registers, etc. Look at that MIT
Scheme source. They have macroses - 32bit word - well, use few bits as a tag,
and rest as a value. 64 bit word - this for a tag part, this for value. This
is an example of programming.

When people "program" VMs - it is just coding. Piling up stuff without
understanding. VMs were marketed for those who don't want to understand or
even think. Ask those "programmers" to describe the behavior of the system in
which their code supposed to work - I dunno, lol, JVM is the best VM, you
know.

Programming is about understanding how your data are represented, what are the
access patterns, when memory is allocated, are there any mutations? concurrent
access? how conflicts were resolved, if any, etc. It is about realizing that
there is an OS, which manages your memory, switches contexts, does I/O,
manages your stupid threads, and has another thousand processes running at the
same time, sharing the same resources. Then, perhaps, programmer will think
more about the data and access patterns, which is the essence of programming.

It almost doesn't matter which language to use. Good programming has been done
in C (nginx, Plan9, lisp kernels) and Lisp (Open Genera - the whole OS) etc.
You can program using ideas form FP in assembly or C - there is no problem
with that.

The questions coders never asking is like why on earch a web-site must be
represented as a huge hierarchy of objects inside a stupid VM, while it is
bunch of files and some templating? Why to do simple map/reduce jobs we need
hundreds megabytes of jars and gigabytes of memory, while the same task could
be implemented more efficiently even in shell scripts?

The answers, unfortunately, has nothing to do with programming. It is about
making money by coders and managers.

~~~
contingencies
Congratulations! You have turned a discussion of the relative merits of
learning a critical and historic human discipline in to a rant against virtual
machines (illogical, I might add: they are great tools for managing
complexity) and the structure of programming organizations.

~~~
dschiptsov
Didn't mean it. The statement that farming requires much more knowledge than
coding triggered all this.)

------
thejteam
I think the real takeaway from this is good programmers code, great
programmers solve problems. Writing computer code is the means to the end, not
the end itself. So we need to learn something else to go along with it. It
could be farming. It could be business or finance. It could be sports and
fitness. Preferably different people will fall into different categories.

The analogy isn't perfect, but think of learning to code in the classical
education trivium. The grammar stage consists of learning languages and syntax
and what different types of programs you can build. The logic stage is using
that information to build working software. The rhetoric stage is learning
what types of programs to build.

~~~
randomdata
The problem with "great programmers solve problems" is that great programmers
are often reluctant to solve problems that don't involve programming.

Farming is interesting because you need to make use of all of the tools at
your disposal (including programming, electronics, mechanics, etc.) to solve
the problems of the farm – of which there are many!

Students often have difficulty seeing the forest for the trees. The purpose of
teaching coding may be to teach analytical skills, but the students will only
see coding. Very few will know how to take those lessons and apply it to, say,
a mechanical machine to automate their life.

Great people solve problems – the tool they use doesn't matter. I do think
learning to farm would go a long way to instil that in students.

~~~
contingencies
Hey randomdata, I really liked reading your posts on this thread and would be
keen to chat by email. Mine's visible in my profile. Cheers.

------
aangjie
> but it is far far more important that all human beings >learn to interact
> with the natural environment and >understand the basics of food, water and
> shelter.”

This part is my biggest take away from the post. that learn to interact with
the natural environment and figure out how to create(nay,
refactor/engineer/discover a better word here??) food/water/shelter from it is
a hard,important and makes for a more interesting* educational goal than
solving math problems or puzzles.

*-- I said interesting, but i would bet that it's probably better in terms of creating a (net total) productive society(x years of education later)

Disclaimer: I hadn't heard of code.org before now and i live in India.

------
nimblegorilla
I'm surprised by the anti-intellectualism in that post. The idea that "Growing
food is far more challenging, requires an order of magnitude more knowledge
and continuous learning and dedication" is totally false.

Growing food is "hard", but it's something most novices could easily do with
only a little bit of preparation. It's very easy to grow food if you have
access to outdoor space: 1\. Buy seeds from hardware store 2\. Plant seeds
according to directions 3\. Water seeds occasionally if there is a lack of
rain 4\. Wait a few months to harvest

Plants and animals grew themselves for millions of years before farmers showed
up.

------
LAMike
Why don't we teach kids how to code through farming?

[http://makeprojects.com/Project/Garduino+Geek+Gardening/62/1...](http://makeprojects.com/Project/Garduino+Geek+Gardening/62/1#.UTN9bet4bGA)

------
Nux
There's enough farming. We should teach kids how not to waste the food.

~~~
XorNot
It really doesn't matter - most of the food is not wasted by individuals, it's
thrown away by corporations.

There's a reason corn-products are in almost literally everything...

------
infoman
because robots will farm for us

------
pmelendez
I still don't understand why people are so reluctant to teach kids code. Most
of the argument I had read by now can be reduced to "not all people can be a
programmer".

While I am agree that programming as a career is not for everybody, be able to
code is a valuable advantage in a lot of areas such as marketing, sales,
physics, biology, chemistry, art, etc.

I wonder if the same controversy was in place when people start recommending
to teach math in schools, just because Math is not for everybody.

------
russelluresti
I think they're missing the point of the "learn to code" message. It's not to
become extremely wealthy or have a higher status in life. Sure, having
computer skills and finding a job is a nice benefit of learning to code, but
the idea of learning to code comes from the fact that so much of the world now
is built around code. Sites, communities, apps, etc are all built on code.
Knowing how to code gives the ability to create and participate in the world.

------
pasbesoin
Encourage -- _allow_ and enable -- kids to participate in the real world
around them, whether that's farming, or computer work, or whatever else.

Shoving kids into artificial situations does everyone a disservice.

P.S. Keep them safe, by all means -- reasonably safe, not to the point of
disabling learning. But don't keep them ignorant, or perhaps worse, mis-
informed.

------
rdouble
The problem with this idea is that it's impossible to become a farmer unless
you've already made enough money in software to quit and buy a farm.

------
matterhorn
I'm a big fan of David Ricardo's Law of Comparative Advantage, and other
economic knowledge.

------
tomp
The first thing I did: open Chrome Inspector and change text color to black.

------
jasonkostempski
Teach kids everything.

------
donniezazen
Do not teach, create opportunities to learn.

------
martinced
_"The programming part is nothing more than a hammer to a builder or a scalpel
to a surgeon. Yes, you need to know how to use it, but the skill involves
knowing what to do with it."_

Oh but that is soooo wrong. By now it is an undisputed _fact_ that robots are
better at surgery than surgeons. Sure, surgeons are still in the loop, as of
now... But by now software is _already_ : controlling the machines extracting
the material, controlling the milling machines, controlling the entire
logistics infrastructure, controlling the robotic arm which shall hold the
scalpel, add precision to the surgeon's movements, provide robotic arms with
levels of freedom which no human hand shall ever made, etc.

In addition to that software is also about data transmission for when surgeons
need to perform remote surgery, about finding correlation between blood
samples results and actual illness, finding tumors in scans, X-rays, etc.

That ultra-reductive scalpel/surgeon is totally off. Soon the computer
software _shall_ be precisely the skilled expert.

And of course one could go to great length explaining how software
revolutionized farming too.

But to me the less people understand anything about software, the more of a
technopriests I'm going to be in tomorrow's world so I'm all for it ; )

