How to Level Up Your Working Memory as a Software Engineer

2023-7-4 - Michael Colley

5 min read

As a software engineer, staying productive and organized is crucial for success. One area that can greatly impact your performance is your working memory. Having a strong working memory allows you to quickly recall information, understand complex concepts, and solve problems efficiently. In this article, we will explore effective strategies to boost your working memory and enhance your abilities as a software engineer.

Take Great Notes

One of the most effective ways to improve your working memory is by taking comprehensive notes. Whether you prefer using digital tools like Notion or traditional pen and paper, the key is to be diligent in documenting important information. Whenever you come across essential details, insights, or instructions, make it a habit to write them down immediately. This practice ensures that you have a reliable external memory to refer to whenever needed.

Utilize Categorization Systems

Categorizing the information you manage is essential for organizing your working memory effectively. Experiment with different categorization methods that work best for you and align with your brain's natural tendencies. Start by recognizing your strengths and weaknesses and identify the categories that are most relevant to your work. Over time, refine and adjust your categories to better accommodate your needs. Remember, the goal is to create a system that helps you easily retrieve and store information.

Create Artifacts for Better Understanding

Generating artifacts that provide additional context and documentation can significantly aid your working memory. Here are some practices to consider:

Detailed Pull Requests (PRs)

When submitting a PR, ensure it includes thorough information such as product context, implementation strategy, and test plans. By creating detailed PRs, you build a valuable log that allows you and your teammates to understand the code quickly.

System Design Documentation:

Develop system design documents that outline the architecture and functionality of your projects. These documents serve as high-quality references for you and your team, providing clarity on how specific products work and preventing confusion or getting lost in meetings.

Code Comments

Commenting complex code blocks helps improve readability and comprehension. Break down intricate sections, explain the thought process, and provide links to relevant resources. These comments act as a valuable aid for understanding and troubleshooting code.

Meeting Notes

Don't underestimate the power of well-written meeting notes. Take the time to document the key points discussed during meetings, including agendas and important context. Clear meeting notes allow you to quickly refresh your memory and actively participate in discussions.

Learn from Similarities and Patterns

Identifying commonalities and patterns in your work can significantly enhance your working memory. Observe similarities in mental models, design patterns, business use cases, or situations that cause confusion. By recognizing these patterns, you can distill core tenets and create mental frameworks that help you make sense of complex concepts more easily. Additionally, reflecting on your past learning habits and transferring them to new situations can accelerate your growth as a software engineer.

Set Reasonable Expectations

Remember to set realistic expectations for yourself and your categorization system. Avoid falling into perfectionism, as it can hinder your progress. Organizing your notes and optimizing your working memory takes time and effort. Be patient with yourself and give yourself permission to iterate and improve over time. Allocate dedicated personal time for reflection and organization, and don't hesitate to seek support from your workplace for this purpose.

Enhancing your working memory as a software engineer is a valuable investment in your professional growth. By implementing strategies such as taking comprehensive notes, utilizing categorization systems, and creating artifacts like PRs, system design docs, and comments, you can boost your memory, organization, and understanding. Embrace the power of externalizing your memory and leveraging effective tools like Pull Checklist the smart checklist builder for Github PRs, to level up your working memory and become a more efficient and effective software engineer.