Traversing the hidden heart of a beautiful search term.
Welcome fellow netizens, stray travelers and those practiced in that nigh infinite and inconstant art which contains the for loop.
I’m a professional developer in Missoula, Montana and I’m a teacher. Even when I try not to be… suddenly I’m teaching again. Currently I help teach the part time classes at Montana Code School, a coding bootcamp nestled in the bowl of what used to be a huge glacial lake. Missoula is a serene and laid back place to live and the coding scene in Missoula is taking off in a big way. Exciting, intense and worth getting into, but simultaneously scary and unfamiliar.
For those beginning the journey, the questions are multitudinous, but a few of them are simplistic enough. Your first question might be: How does one get into coding? There the answer is also simple: open your browser and Google it! That’s right, all the information you ever need is available through that behemoth of company that has taken over the word Alphabet, bit of a shame there…
Not too long ago you needed a manual, not insubstantial, akin to something you might use to defend yourself against a decent bludgeoning. Betwixt the covers of these reverent tomes you could find all the current knowledge on your chosen coding language. All those pages have been digitized and cataloged, compressed into the space between one electron and another.
This material has been and will be recorded and stored for as long as we as a species can maintain our status as a civilization moving towards Kardeshev Type 1 status. While those massive books still exist and you can find them if you prefer the printed word, the definitive trend is towards the electron.
This is a wonderful thing and not just because you might save some oxygen-producing plants. It is wonderful because the pace of change in the world of software development is well beyond the ability of even the most efficient printing process. Code bases and shifts in naming, concept flow, and even overall structure happen by the week, the day and the hour.
Navigating the Bazaar
This leads to a completely different problem, not that the information is hard to obtain, it’s not, in a few minutes you can gather together quite a bit of information. Here is demonstration, a list of places to get started coding:
- Exercism => for those ready for a stripped down challenge in any language 💻
- FreeCodeCamp => for those needing a good community and modularity, a focus on JavaScript 🗻
- Project Euhler => For the love of math, use whatever language you can and solve problems 🤓
- Stack Overflow => Have a coding question? Ask it. But carefully, while supportive, this community can be direct. 🐲
There they are, each one ready to be read and practiced, they do exist, but maybe you would not have found them so fast or at all. Why? Well the simple answer might be noise. Because that’s the real problem. Finding within the noise: a signal. Parsing from the static a picture.
This skill is less a codified referential seeking action, moving away again from the classical model of the Dewey decimal system. Well developed Googling is something more akin to knowing how to navigate the Medina in Marrakesh. Understanding how to chain together loose collections of phrases, particularly important key words, and bits of esoteric jargon can make a break a work day and set you on the path to success or failure.
The question then becomes how to gather these together and use them effectively and with little error. Some of this comes with time and trials, learning as you go, but there are a few key points that can help you move forward without getting sidetracked onto a little alleyway or sold a particularly beautiful teapot for which you have little use, being the coffee drinking type. 😸
Defining the rules of research
Rule Number 1 — The first link is no longer the best.
That’s right Google you get it wrong a lot. A search engine is only as good as it’s results and Google’s are driven by ad generation and sometimes incorrect data, which can get it into the way of the truth seeker. You probably won’t ever have to go past the first page, but you should definitely explore past the top of the hit list.
Rule Number 2 — Read.
Yes, you can read. I’m sure of this mostly because you’ve gotten to this part of the document, it would have been nigh impossible without this essential skill, but because of the sheer level of information presented to you on a daily basis you might have, with good reason, fallen into the habit of scanning. Scanning can serve you well for using the internet to find a place to eat or a decent book to read, but in this case it will get you in trouble because while scanning you are looking for things that are close to familiar and require little processing. On your journey to becoming a coder there will be very little information that fits into this category in the beginning.
Rule Number 3 — Look for the end of the rainbow.
Third time you’ve been there today. Do they always have the answer to your question? Make a note of it, bookmark it, get a tattoo, do whatever you do….
Rule Number 4 — Browse.
Once you’ve found a a few safe places, oases in the desert of now useless information, explore them. Like the Php docs? Read up a bit. Learning some JavaScript? Stop by MDN for a few minutes, find a good string method and try it in the console. Learning Python? Try out the Myst-like, slightly creepy python-challenge and let me know if you get past number 6, I’m stuck. 😝
Last but not least, not a rule, but a recommendation: Find a group.
Look for some people that you can study along with, and sit next to them, watch what they do, see how they search. Humans are a cooperative species and even in an endeavor so supposedly solitary as computer development it is still the way.
This is one reason to join a bootcamp and it is a compelling argument, it was not my choice to struggle along for days on end. I wanted other people around me, to ask questions, to understand the space in which I was learning. So you don’t have to find a bootcamp, it costs money, it takes time, maybe its not the right path… but at least find some people that are doing what you are doing and do that thing with them.
Because you are human, again a pretty safe guess, and you want to learn to code and coding by yourself can be an intense and draining process. Joining up with a group of like minded people can keep you on the path, help make you a better coder and keep you going when you think you have nothing left.
What friends we made
To close out, there is an important perspective, closer to the source and newer to this concept, the feedback of the students I teach. They started out, at times incredulous that I didn’t know all the answers, that I wasn’t able to give them more than the same search bar that had always seen, but they have refined their navigation of the bazaar, found a few oases, turned down the noise.
The current part time cohort at Montana Code School has supported each other for the last 4 months of intense training, all while still working full-time jobs. During this process they have completed three projects: brewTour, MTWomensHealth, and roomSpace and they are working on two more. These people are dedicated to a pathway that requires a deep commitment to coding and a lot of googling. Nani Wardhani — one of the current part time Montana Code School Students, interested in database structure — found that while searching for answers she needed
…to pay attention to the dates of the contents/results & the version of the “things (libraries etc.)” that I research for.
Nani as well as the other students have struggled on this rewarding, sometimes extremely frustrating path. This struggle has brought them into a unique space. A wonderful, powerfully vulnerable space where information becomes fluid and the potential for growth is limitless. Mike Dreiling — a current part time student with a background in design — found that
Learning through search is every bit as progressive (search a leads to search b leads to result c) as traditional learning. In search it seems I learn many things while looking for the answer which educates me on the broader subject of what I’m doing as a whole. Proper nomenclature, details not considered, and completely alternative solutions are discovered along the way.
This random walk, although more difficult and sometimes more confounding changes the user from within. A teacher can give you an answer and you will know what the answer may be, but when you learn to find that knowledge on your own you will create connections in your mind that are stronger than knowing. These are the connections that will teach you how to be lost. To be confused and frustrated and yet, to find in that garble of noise a signal, stronger and more intense than the one you found before.
It is time, begin your journey from here, follow the rules above, break a few of them, make some more and above all: Don’t Panic! 👾