DEV Community

Cover image for What to write in your Code Journal | Code Journaling pt 3 of 4
Jacqui Read
Jacqui Read

Posted on

What to write in your Code Journal | Code Journaling pt 3 of 4

Alt Text

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.

What to write

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.

Louis L’Amour

Index and/or Section Index

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.

Regular/Daily Notes

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.

Goal Tracking

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.

Training & Skills

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.

Project Tracking

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.

Technologies

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.

Successes, Failures & Praise

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?

Decisions

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.

Start Doing | Keep Doing | Stop Doing

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.

James Clear

Future & career planning

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.

What next?

In my next post in this series, I will cover some tips on how to use your Code Journal to its full potential.

Alt Text

Originally published at http://www.jacqui.tk/blog on September 23, 2019.

Top comments (9)

Collapse
 
ghost profile image
Ghost

Personally I prefer ink and paper over digital, feels more permanent and the writting process is more involved and you also work on your penmanship, a forgoten skill that I appreciate. Just a cheap Pilot fountain pen, Noodler's, Herbin or one of hundreds of inks brands and colors and a Rhodia notepad and you are good to go :) and if you don't use it, you will feel the notepad, ink bottle and pen watching you, judging you, daring you to use them.

Of course you can have a txt, md or rst file for it but it will probably endup in "others" folder never to be seen again.

And don't dare to ask me about pens or inks, as all enthusiasts of movies, science, Linux or tech in general we hate to talk about it :)

Collapse
 
tekiegirl profile image
Jacqui Read

Thanks for the comment. I prefer analogue also, but the thing I really miss over digital is being able to do a text search.

Collapse
 
sdcaulley profile image
sdcaulley

I do a hybrid. Analog in the moment, with a transfer to digital later. I still think best with pen and paper, but like the digital for organizing and referencing.

Thread Thread
 
tekiegirl profile image
Jacqui Read

Good idea!
Do you type it in or scan it to digital?

Thread Thread
 
sdcaulley profile image
sdcaulley

I type it in. There is something about the process that helps me retain that the notes exist.

Thread Thread
 
tekiegirl profile image
Jacqui Read

Thanks, that's really interesting to hear.

Collapse
 
demaine profile image
Colin Demaine

The choice of whether to use analogue or digital doesn't have to be binary (excuse the pun), it could be a hybrid of both! You could make scans or take photos of your analogue notes and add them to a digital note service that offers OCR to create a searchable archive! Sure it is a bit more work but it is worth it! Then you get the best of both worlds with the added bonus of creating a digital backup. That's my top tip on the subject of code journalling.

Thread Thread
 
tekiegirl profile image
Jacqui Read

Great tip!
I think I would have to have a way to quickly scan things, as otherwise it wouldn't happen 🙈
That's me though.
Evernote may be a great option here.

Collapse
 
ghost profile image
Ghost

The beauty of the thing is that is personal, I prefer the mess of lines connecting, tha doodles, the sometimes landscape usually portrait and occasional 2 pages diagrams, the colors! is almost like built in encription.

Now, for digital if you use Python, Jupyter is amazing, is almost designed for a tech journal and now also works for R, Julia and Haskell!