Hello Engineer: Why Keep an Engineering Journal
Whatever you choose to call it: a journal, a notebook, a daybook, a coding scrapbook — it can be the secret sauce to success in leveling up your engineering.
Starting with Why
In the article “Hello Engineer: The Art of Continuous Learning” I noted that:
For technologists and especially software engineers and engineering managers, cultivating the art of continuous learning is critical now more than ever in order to stay relevant.
The article discussed both the adopting the growth mindset and how learning strategies such as spaced repetition, active recall, and interleaved practice can enhance learning outcomes. Embedding and synthesizing knowledge as you learn whether through theory or through practice will improve your effectiveness and results. An engineering journal can act as your pair programmer and ‘second brain’ to impress your daily learning more strongly.
Whether you’re a seasoned professional or a novice keeping an engineering journal will level up your career and understanding of your craft and improve your decision-making skills.
As a software engineer you can and should keep a detailed journal to record your engineering and coding experiences, including the challenges you face, solutions you come up with, and any obstacles you encounter. You can be open about the difficulties you face so you can learn from them. You can write down any “aha” moments, clever ideas, or new perspectives that come to you while coding, as they could be useful in the future.
Take time to think about your daily decisions, both good and bad, and to improve your skills. You can also use your journal to store useful bits of code, algorithms, and design patterns for easy reference. Lastly, a journal provides the space to track your personal growth, habits, and celebrate your achievements, while also identifying areas where you can improve. This is a pragmatic (practical) approach to engineering that was similarly described briefly in “The Pragmatic Programmer” in the chapter ‘Engineering Daybooks’.
Additionally, If you practice agile scrum or have regular updates with your team it will also lift your daily updates from ‘I was stuck yesterday, I tried some things at random, don’t know what I’m doing today’ on repeat to something far more cohesive and progressive.
Digital vs Analog
My Experience
I adopted note-taking pretty early on and used shared notebooks at the time with my older brother — we would take turns in taking down notes and actively coding. It was there we were able to embed knowledge as we were learning about how to code in Turbo Pascal and x86 Assembly since we were driven to learn by a love of math, graphics, and video games.
This wasn’t the type of information they were teaching in school. Information Technology meant ‘using a word processor, database, or spreadsheet’! Nevertheless this way of putting pen to paper as we experimented really embedded the knowledge and the math in my mind. By the time I had to do my regular high school exams I was used to far more advanced math and computer science and had something to look back on.
By the time I started to work in the industry I simply continued the practices I already knew and was used to. I documented my progress, my thoughts, my failures, my code snippets, my understanding of how things were wired up and why, and it set me up to succeed in challenging circumstances. *
* Really challenging: in my first job after graduating my ‘developer onboarding’ was: “Here are our top 20 bugs in the system that no-one has been able to fix — fix them”! I still shudder when I remember those first two weeks and how I questioned if I chose the right career.
Nowadays I use a mix of notebooks and dot grid journals as well as digital tools (e.g. Obsidian, OneNote, and experimented with JRNL.SH) to journal my engineering / continuous learning day. Digital journals can be great for copy-pasting large swathes of information, web clips, and email clips, as well as quickly searching for documented information. There is, however, something to be said of the purity and benefits of using paper and pen over digital journals, especially when used in combination with rapid journaling techniques, and manual indexes.
Unpopular Opinion: Paper > Digital
As a technologist it might seem strange to prefer paper over digital note-taking but the evidence suggests there are good reasons to in some circumstances.
In fact, the following experience was shared in the article — In a Digital Chapter, Paper Notebooks Are as Relevant As Ever which was published in the journal, Psychological Science:
About 50 students were invited to attend a lecture. Half took notes on laptops and half with pen and paper. Both groups were then given a comprehension test.
It wasn’t even close. The students who used paper scored significantly higher than those who used laptops.
[They attributed] this unexpected finding to the fact that the “analog” note takers were forced to synthesize rather than merely transcribe. It’s a phenomenon known as “desirable difficulty.”
“Desirable difficulty is some small roadblock that is in your path that actually improves your understanding of a topic,” she explains.
The paper further noted:
Whereas taking more notes can be beneficial, laptop note takers’ tendency to transcribe lectures verbatim rather than processing information and reframing it in their own words is detrimental to learning.
This idea of “desirable difficulty” is an interesting topic. When I looked at its definition I found the article here which references the work by Robert Bjork in his 1994 study “Memory and metamemory considerations in the training of human beings” which suggests that manual note-taking is adding the necessary friction to aid in long-term memory recall:
The foundational principle of this theory is that adding an aspect of challenge to learning activities will result in better long-term retention of information. In his 1994 study and in subsequent writings, Bjork draws a distinction between performance learning, such as cramming for a test and performing well in the short term, and true learning where the knowledge can be recalled and used in different contexts. Desirable difficulty incorporates strategies in which students are exposed to material repeatedly over the course of the class to improve recall, and thereby, retention. This may mean sacrificing short-term performance to achieve long-term results.
So Now, What?
Whichever way you choose to journal is completely up to you. What’s most important is that you use it to diligently record your coding journey: triumphs, hurdles, and insights, preserve your “aha” moments, reflect and learn, build a code repository, and accelerate your personal growth and development.
If you’re starting out, though, you can benefit from the guidance here:
It advises keeping daily records of what you’re Going to do, doing, and RANT (or rather: “Reflection, Analysis and NexT steps”) which happens to fit in nicely with your daily scrum updates if that’s what you practice for agile:
Going to Do:
- Typically follows from the previous RANT but can be different.
- Notebook is expected to be chaotic, capturing intentions rather than logical consistency.
- Trivial tasks are omitted unless they’re new or have engineering significance.
- Captures intentions and plans, enhancing chronological integrity and commanding respect.
Doing:
- Actions taken may not align with “Going to Do”; the emphasis is on doing something.
- Includes quick sketches, notes on computer work, documentation of web quests, programming processes, and recording costs and product details.
- Marks the transition from playing to doing, design, and problem-solving in engineering.
RANT:
- Serves as a quick dump of next steps, crucial for navigating confusion and uncertainty.
- Helps to evaluate what went right or wrong, why, and what could be improved.
- Sets up the next “Going to Do”.
Take Aways
- Continuous learning is essential for engineers to remain relevant in the fast-paced tech industry.
- Employing growth mindset and learning strategies like spaced repetition enhances learning outcomes.
- Engineering journals act as a ‘second brain,’ reinforcing daily learning and improving effectiveness.
- Detailed journals document coding experiences, challenges, solutions, and facilitate reflection on successes and failures.
- Whether digital or analog, diligent journaling accelerates personal development and preserves insights.
Useful Resources
I enjoy engineering journaling enough to create some essential coding journals of my own including 150 pages of tailored space to support your daily software coding journey across ideation, implementation, notes, best practices, including cheat sheets:
References
- Engineering Daybooks
- General Engineering Introduction — Notebooks
- NPR: In a digital chapter — paper notebooks are as relevant as ever
- Memory and Meta-memory Considerations in the Training of Human Beings
Next Steps
- Comment & share your own opinions, favorite learning resources, or book & journal recommendations.
- Follow my blog (or digital garden) for future updates on my engineering exploits and professional / personal development tips.
- Connect with @briancorbin.xyz on social media channels.
- Subscribe!