Getting Started with a Code Journal (4 Part Series)
In this third part of my series on Code Journaling I am covering some ideas for what to actually record in your Code Journal. These are only ideas, and you should pick and choose what works for you.
Do you have any other ideas for what to write in a Code Journal? Please put them in the comments below.
If you don’t know what to write then just write. Writing a few sentences each day, to collect your thoughts or record what you have done is a great place to start. That said, here are a few ideas for spreads (one or more pages) that you may want to include.
Start writing, no matter what. The water does not flow until the faucet is turned on.
This is the first thing you should create in a notebook. To create an index in your notebook simply put aside 2-4 pages at the beginning of your Code Journal and title them Index. Some notebooks have page numbers, if they don’t you just need to number a page when you use it and write its content in the index.
A Section Index is a useful tool to break down your notes more fully and is a grouping for a type of notes (I will discuss some section ideas later on). The basic idea is that you add the Section Index to your Index (e.g. p.8 Project Index). Then on your Section Index page, you create an index for that type of note (e.g. p.9 Project Parlour, p.23 Minki Inc., etc). This grouping means you do not need to search through the whole main index, trying to spot what you need, you simply find the appropriate Section Index and find it in this smaller index.
For a digital Code Journal, an index will take different forms depending on how you have set it up and what platform you are using. With Evernote, you will likely use different digital notebooks and labels, possibly with a note that acts as an index. If you are using online documents, like Google Docs/Drive, then you probably will want a document as an index, and use folders to organise your documents. The search functions in digital journals will be a help, but it is good to see what you have notes on at a glance.
Even if you don’t make notes every day, it is good to get into a ritual of writing something when you are coding. It may just be a note about what you need to do next, but notes about why you have made a decision, or observations about yours or others coding are going to be useful when you review them in the future. Making a note of what you need to do next will save you a lot of time when you next come back to that project.
Many people set goals for the year/quarter/month, but when they get to the end of that timescale how do they know if they have met their goal? Did they even remember to work towards it?
Keeping your goals, breaking them down into steps, and recording notes on your progress towards them in your Code Journal will mean you can set up a ritual of reviewing your goals and progress, making you much more likely to reach your goals in the intended timescale.
Is your goal to learn a new programming language in the next year? Write it down, along with the steps you need to take (or at least the next step you need to take), and record everything you do towards your goal. When you watch a course video, go to a meet-up or write some code, make a note of your progress.
Make a habit of reviewing your goals on a regular basis, at least monthly (or more regularly for shorter-term goals). This will keep them fresh in your mind and keep you moving on to the next step for each goal.
Alongside formal training, you are likely learning a lot informally. Keeping track of your current skills and learning will be a great help when setting future goals, updating your CV or asking for a pay rise or promotion.
You could have a page where you record any learning on a particular subject, or a page where you record all learning on everything, or you could have a page for recording courses, one for video courses, etc. The Code Journal should work for you, so you may want to experiment.
It is a good idea to keep track of your projects, whether they are ones you are working on in your day job or personal ones.
This is part of your experience and will be as helpful as recording your training and skills when it comes to preparing for interviews, updating your CV or going for a promotion or pay rise. It can also help you to work out what you enjoy and what you don’t enjoy, to help you plan for your future in coding.
Notes on technologies you use are another thing that will be very useful for future planning, your CV, pay rise, etc. This is also a really useful record when you are looking for the solution to a problem, or you are in an architect role.
Having a record of technologies you have used, and how, and also technologies you have researched is a valuable resource. Next time you are looking for a solution you can see quickly any technologies you have written off in the past, and the reasons why. You also have information on the pros and cons of a particular technology, so you can quickly work out if it will solve your new problem.
Keeping a record of useful resources for technologies, or how you solved a problem with a particular language, will be a useful resource to you when you want to work with that technology again.
When you experience success or receive praise for something you should record it, not just for use for things like asking for a pay rise, but also to remind yourself of positive things when times aren’t so rosy. Reviewing past successes and praise will help you to get past bouts of Imposter Syndrome if that is something you suffer from. Verbal praise is particularly important to record, as you have no other record of it.
It is also important to record your failures, not to put yourself down but so that you can learn from the past in order to not repeat these failures in the future. Why did something go wrong? What would you have done in hindsight? Could it have been foreseen? How will you avoid this issue in the future? How was it fixed? Could it have been fixed in a better way?
Yous, your team’s and others’ decisions are a good thing to record in the context of your projects, technology research, goals and future planning. They will save you time in the future where you won’t need to make the same decision again because you will have a record of why you made the decision one way or the other.
This record can also come in useful if you need to report to someone about the progress of a project or why something has gone well or badly. If you have a record of why the project went in a particular direction then this process will be so much easier.
This is a good review to do regularly; monthly, quarterly, annually, maybe even weekly when working on something new. It gives you the opportunity to analyse what is working for you (keep doing), what isn’t working for you (stop doing) and how you can improve (start doing).
This process is a good way to implement agile in your own work and processes. You are constantly experimenting and pivoting to improve yourself a little each day or week or month.
Every action you take is a vote for the type of person you wish to become. No single instance will transform your beliefs, but as the votes build up, so does the evidence of your new identity.
Similar to goals, but with a longer time scale. Your aims for your future and career may change over the course of years or they may not. Keeping a record of your thoughts and ideas about your future will enable you to set short- and medium-term goals that will lead you towards your target.
As you gain more experience you can update these plans and maybe even pivot towards something completely different. Using your Code Journal in this way will help you to plan and keep your plans in mind, in order to keep you on the path towards them. Thinking about your future on a regular basis will mean you can avoid going too far down a road that you don’t want to travel.
In my next post in this series, I will cover some tips on how to use your Code Journal to its full potential.
Originally published at http://www.jacqui.tk/blog on September 23, 2019.