I prefer reading books from cover to cover and taking notes quite frequently. At the same, I tend to have multiple items on my reading list. It feels frustrating to get back to an awesome book and realize I need to revision it all over again. So I decided to organize it a little bit. I think the best way to organize the learning process is to envision the end goal and have sensible timelines.
💡 My take on it
- Determine the list of books and materials to learn for the next sprint (e.g. quarter, half of a year)
- Set priority and categorize
- Add corresponding notes to Evernote for each book, course, etc. It is quite easy to generate internal link in Evernote and access it from spreadsheet directly.
- Generate mindmap and play with it so it is possible to estimate and create a plan to take further actions.
- Manage progress and perform retrospective when you feel you need it. 🔁
Books for .NET Developer
Here is the the list of really good books to consider:
|C# in Depth (4th) - 2019||Jon Skeet|
|C# 8.0 and .NET Core 3.0||Mark J. Price|
|Programming C# 8.0 - Build Cloud, Web, and Desktop Applications||Ian Griffiths|
|.NET Core in Action||Dustin Metzgar|
|Unit Testing Principles, Practices, and Patterns||Vladimir Khorikov|
|Concurrency in C# Cookbook: Asynchronous, Parallel, and Multithreaded Programming||Stephen Cleary|
|Under the Hood of .NET Memory Management||Chris Farrell|
|Designing Data-Intensive Applications||Martin Kleppmann|
|.NET Microservices: Architecture for Containerized .NET Applications||Cesar de la Torre|
|Designing Distributed Systems||Brendan Burns|
|Agile Principles, Patterns, and Practices in C#||Robert C. Martin|
|The Pragmatic Programmer, From Journeyman To Master||Andrew Hunt|
Build mindmaps programmatically
var book = new XMindConfiguration() .WithFileWriter("./output", zip: true) .CreateWorkBook(workbookName: "test.xmind"); var rootTopic = book.GetPrimarySheet() .GetRootTopic(); rootTopic.SetTitle("Scope"); rootTopic.Add(epicTopic); //...
Also, I’ve developed simple CLI application edu-scope-to-mindmap to create mindmaps from excel spreadsheet I’ve mentioned above.
To use it, run next command from project directory:
$ dotnet run --path ./ouput --name test.xmind --source-path input/input.xlsx
Sometimes it is hard to pick a bite that I can chew on 😆.
I’ve introduced lightweight approach to organize your learning process. Personally, I find it useful because learning is essential part of my craft and you better do it well 😉.