Fish and Tomatoes

Myles Byrne
Bradfield
Published in
2 min readDec 2, 2016

--

I once attended a panel where a doctor — tired of misinformation about GMO foods — cited a prominent food blogger who told her readers not to buy a certain kind of tomato because they had “fish genes” in them.

The doctor said, “What I’m certain this person doesn’t know is that tomatoes and fish share about 60% of their genes.”

When it comes to tomatoes and fish, you can become the world’s foremost expert on raising, growing, cooking, and eating them, without ever needing to know this fact about their genetics. But as soon as you decide you want to make a “little” change to the design of a tomato — let’s say you want it to withstand slightly colder temperatures— then knowing that tomatoes grow on vines and fish swim in the ocean isn’t going to be much help to you. You’ll likely be looking for some code to produce a protein that gloms onto ice crystals and prevents them from growing (or something like that). If you find that in the genes of a fish, hooray! That could plug right in to your tomato code because they’re largely the same genetic codebase!

So it is with software. Beneath the surface diversity of the software ecosystem is a foundation of shared concepts, techniques, patterns, and of course—hardware.

At Bradfield, we don’t offer any beginner courses. For folks looking to break into the field we recommend a programming bootcamp that focuses on some specific technology—Rails, or node.js are good places to start—and covers enough ground to ensure students can qualify for an entry level position.

But for those seeking mastery, learning how to use another framework is much less valuable than learning how to think like a framework designer. Which means studying the fundamental “genetics” of computer science.

Starting January, we’re offering intermediate-level programming courses on computer architecture, languages, and algorithms. We’d love for you to join us.

--

--