Like many tech-workers, we need to ingest vast quantities of knowledge to get started in our jobs. Without that knowledge, there is no working in our business. What is unique, however, is that we continue to ingest knowledge for the remainder of our careers – often consuming large portions of our personal time and energy. Worse we even get tested on it by sitting formal examinations.
How can we manage this process to be more effective ?
Recently, Nick Carr prognosticated that the Internet (via Google et al) is making us stupid. It’s a good enough article, although Nick Carr is a little high-minded and supercilious to make real sense to those of us at the coal face of knowledge working. He makes things up for a living, we work with facts.
But it made me think about knowledge ingestion.
In my traditional education, knowledge was to ingested as permanent ‘for life’ basis (something like a mission critical education). Thus, learning Maths, Biology etc was all taught as if this was the only thing in your life. Of course, it wasn’t. I don’t regret learning these topics, but retaining this knowledge for instant and permanent recall has limited value to me. For example, I understand Darwinian principles, and basic biology, but this represents less than 20% of the Biology learning I received at school.
As a Network Engineer / Architect / Designer (1), I need to ingest knowledge constantly and in large quantities. Depending on the project, I can spend up to 14 hours a day reading and researching information. When I am designing a new technology, I must work through large quantities of material before extracting those nuggets that solve the design problem. This requires a different technique to what I was taught at school and university.
Experience has taught me that most of this information is not relevant or practical. Indeed, the ability to winnow through information and extract relevant material is a skill in itself, but the real key is to work out what you need to learn and what you need to be able to reference if you need it later.
This Definition of Learning
There are two parts to this definition of learning, memory and comprehension.
Memory Learning means that you have remember a certain of core facts and understanding.For example, I have memorised information about how NetFlow contains protocol flow information, the different record types, and that IOS needs configuration.
Comprehension means that I understand the application of the information. Thus, NetFlow can be used for performance analysis, intrusion / threat detection, and so one.
So learning that 2+2=4 is good knowledge, but learning that “doubling the memory in my computer will improve system performance” is comprehension.
Anything else I can get by doing research when I need it.
Obsolescent and Ephemeral Knowledge
Therefore a certain amount of knowledge is ephemeral, and will be of no use. For example, configuring ISDN networks was vital to me a few years ago. Now, I can barely remember the commands or processes to do ISDN.
Obsolescent is knowledge that you no longer need. Ephemeral knowledge is when I would research what I need to know. The Internet means that Ephemeral knowledge is always to hand.
Identifying Permanent and Ephemeral Knowledge
Let me try an example.
When I started out in networking, books, training courses and education were very rare, and I (wrongly) got very focussed on learning the commands that configured a router to allow routing. I kept configurations from IOS routers and referred to them as reference. I could ‘munge’ the configurations that I had gathered with my experience to get the next network configured correctly. Which was OK, I got the job done, but I didn’t always understand why.
It was only later that I learned how IP forwarding actually worked. That the router examined the IPX or IP header, consulted the routing table and then forwarded the packet out of the interface. And later still, understood the difference between packets and frames.
The ephemeral knowledge is the configurations that I kept in text files. The permanent knowledge is how a router (any router) worked to forward a packet, and how that packet was constructed so that the router had valid information.
For those of us who work on multiple vendors, you should easily understand this idea. Permanent knowledge remains valid on any type of router, Nortel, Vyatta or Cisco doesn’t really matter. Getting to grips with the Vyatta interface is ephemeral knowledge and can be found when needed.
Ephemeral knowledge can be come Permanent knowledge. If you need to work on Vyatta for an extended period, you will start to memorize functions and interface commands. The same applies to the CCIE Lab exam. Part of the outcomes for people who pass, is that they are proficient in the IOS interface. Also the Cisco website and manuals.
Ability to Learn from Computer
One of the other tricks I have had to learn is how to read from a computer screen. I ended developing this into a full posting and you can read it here
My traditional education consisted of textbooks and blackboards. Working on a DEC PDP-11 with punch cards doesn’t really count as ‘computer time’. I was also taught how to read a book, absorb information, and to process that information. In fact, this is so vital to most education systems that most people don’t even understand that your ‘mind’ has been effectively ‘programmed’ to ingest knowledge from a book or paper medium.
In the 1980’s and 1990’s, all computers came with an enormous printed manual. Computer rooms had entire bookshelves devoted to Operating Systems and Software manuals. When we wanted to learn something, we got the manual from the shelf and started reading. Successful companies had good manuals, bad companies usually did not. (2)
Then, we started to see the documentation on CD from Cisco, Nortel and DEC / Digital Equipment. So when I started something new, I would often print the entire manual, then read. Depending on the quality and the what I needed to do, the manual might get a deep reading, or more a scanning over to absorb the information.
And that was fine until I started travelling. Carrying several kilograms of papers wasn’t much fun so I started to read the CD versions. It was slow and gradual, but the CD’s were portable and updated reasonably often. Certainly much more often than the printed versions were. Errors and omissions were fixed much more quickly. In the field I could quickly get to the documentation.
Then the documentation switched to being online. Cisco was very early to putting their documentation online. This led to them providing sample configurations and design documents. This was a real advance, as we could tap directly into the collective wisdom of Cisco resources, instead of having to experience ourselves in a project.
A few years back I made a decision not to print anything that I needed to read. I would force myself to read it online.
It has been painful, like most forms of learning. At the start my concentration span was much reduced, but over time I am getting better at processing information directly from the computer screen.
Occasionally, I will still print a section of manual, say twenty or thirty pages of the certain core concept material. In the case of Cisco IOS documentation, it is absolutely worth reading the Introduction section to a topic, because you can get a good overview on the ‘thing’ there.
Some people call permanent knowledge ‘first principles’. I think this is what traditional education taught us, and you need to extend this concept. It’s too simple.
The idea of ‘fundamentals’ or ‘basic principles’ is a good starting point, but it isn’t a fluid enough definition. It needs to encompass broader concepts as well as core facts and constructs. Knowing the 2+2=4 is a basic principle. But knowing that a Proxy Server be deployed using WCCP, bridging or in explicit mode is also fundamental. You don’t need to really understand WCCP until you actually do it, but knowing that it intercepts and redirects traffic might be enough for you to get by (but make sure that you research it when you need to design it in more detail)
Successful Learning – an example
So I believe that key to learning is to identify ephemeral and permanent topics. The things that will help be successful at work is the ability to retrieve permanent knowledge, and innovate on that knowledge. Let me try a simple example.
I was in a design meeting, and the discussion was how to improve browser to server response time. Having done some protocol analysis I noticed that a substantial amount of traffic was SSL encrypted. In turns out that SSL is enabled on the web servers to overcome problems with Microsoft (so-called) Internet Explorer security, and that the browser received more than 50 percent of the traffic in SSL encrypted form.
My permanent knowledge is an understanding of the SSL encryption process. The SSL process is very CPU intensive when handling the asymmetric key exchange and inserts a few seconds of delay in the initial connections. It doesn’t show up in some client testing suites so the developers usually don’t see.
A bit of fast thinking and you can see that by offloading the SSL to a hardware load balancer (F5 LTM or Cisco ACE, say) with a dedicated SSL co-processor should be able reduce this SSL establishment time. A corollary benefit is the huge reduction is CPU load on the servers since they are no longer performing cryptography.
My ephemeral knowledge was to go and look up how to configure it, and to research the exact benefits we could gain (which was a lot).
Application to Certification studies
When I was studying for my CCIE, I made a point of one hour of READING time for every hour of LAB time. Without any doubt, this got me through my lab exam because I was able to take my permanent knowledge and solve an ephemeral problem. On one of my lab exam days, I had to redistribute IBGP into RIPv1 which I hadn’t done before, but I was able to work it out because I understood redistribution and classful networking (not because I knew about RIP and BGP). Then I knew where to look up the relevant material in the exam.
When I study for Cisco Exams, I have to remember or memorize a lot of ephemeral knowledge. Items such as configuring failover for a Firewall, or an IOS interface to enable routing. Mostly these questions are to silence critics who say that Cisco written exams are not practical enough, but they are often phrased in such a way to determine if you have absorbed some core knowledge. Thus, questions to configure IETF encapsulation on a frame relay network can be phrased to prove that you know what IETF encapsulation is.
So fine, I have to know that, but don’t expect me to remember the CLI within two weeks of the exam. But I will make a point of studying the underlying facts because I will most likely use those in real life.
Now I understand what they mean when they say – “study for the exam, not the real world”.
Postscript – The Silent Roaring in My Mind
After a long day when I am working on new concepts and themes, or a long hacking session , I often get a roaring noise in my mind, something like sticking your head out of the windows of a speeding car and you get the roaring noise in ears. Probably because of the relative silence when I stop.
But its a weird feeling anyway. Some people get that feeling by listening to certain music, or exercising, but me – I’m a geek, I get it by learning something.
(1) The name varies depending on whom I am working for, but the work remains the same. “A rose by any other name would smell as sweet” – Shakespeare
(2) For an example, look at the IBM Red Books. This is a reflection of their dedication to quality documentation.
Image Credit http://www.sxc.hu/photo/1184809