Skip to main content

Posts

Showing posts from October, 2020

Three things I learnt from The Pragmatic Programmer - Chapters 5 and 6

Link to previous chapter here. Here are the three things I learnt from these chapters: 1. I'm at the start of my journey and it's totally okay not to understand everything. I do not have to force myself to read things that make no sense to me yet. At some point I'd love to come back to this book and see what I can learn here as I'm sure its good.  2. Elixr, a functional language, has a pipeline operator that takes the value on its left and insert it as the first parameter of the function on the right. It's a more readable way of transforming data. Thinking of code as a series of nested transformations helps make functions shorter. 3. Be careful with inheritance. It can get messy if not all of a parent's methods are suitable for the child, or if the parent's code will ever be edited. Try things like traits/mixins/delegation/interfaces instead.

Three things I learnt from The Phoenix Project

Recently I read the Phoenix Project by Gene Kim, George Spafford, and Kevin Behr. Here are the things I learnt: 1. I much prefer reading a novel to a textbook. This was a great book to trick my brain into learning DevOps basics without having to read a textbook. I shall have to find more books like this. 2. DevOps is when developers and operations work together to create a seamless process that delivers features quickly. 3. Good IT teams could often use the following: - Kanban boards for visibility of all work that's in progress - Teams where knowledge is shared and documented instead of staying with one person - All people understanding the prioritisation of their tasks - Prioritisation of tasks to follow the goals of the business as a whole - Well designed environments and processes so that changes can be deployed up to multiple times per day into production - Security and controls that are built into deployment - Management that is open to change I enjoyed this book and will rea...

Three things I learnt from The Pragmatic Programmer - Chapter 4

 Three things I learnt from The Pragmatic Programmer - Chapter 3.  Link to chapter 1 here.   1. Balance Resources. If you have a large piece of data that is accessed in your program, don't forget to close it. If a variable, set to 'Null' when done so garbage disposal can delete it. Always allocate resources in the same order, and de-allocate in the reverse. 2. No one writes perfect code - use assertions to check you have the data you expect. You can't rely on testing to catch every eventuality. 3. Avoid big feedback delays, try things out in small steps instead. Try using REPLs to understand a new API. Use unit tests on new pieces of code. Link to next chapter here.

Three things I learnt from The Pragmatic Programmer - Chapter 3

Three things that I learnt from the Pragmatic Programmer - Chapter 3.  Link to chapter 1 here.   1. Achieve editor fluency to make you so much faster. Try to do the following without using the mouse and preferably in one keyboard combo:     - select characters, words, lines, paragraphs      - format and indent code       - comment/uncomment block of code      - undo and redo changes     - spilt the editor into multiple panels     - navigate to a line number     - search for strings     - create multiple cursors based on a search term     - run all tests     - find compilation errors 2. Debugging but can't find a bug? Use the Binary Chop method - split code in half. Which half causes the bug/gives you unexpected values? Repeat. Most efficient way to track it down. 3. Keep an 'Engineering Daybook' or personal physical notebook. Keep important things you jot down in ...