1. Building Evolutionary Architectures - A great book for those looking to build an IT department that can meet the business needs of today and create an organizational mindset that allows you to still be nimble and evolve to meet future demands.
2. Building Microservices - A great book by Sam Newman which Building Evolutionary Architectures is effectively written upon IMHO. This book is really more technical and gets into the weeds of building out systems using microservices and it also touches based on CI/CD.
3. Inside the Minds - Although this book is old and talks about XML as an emerging technology, it's exceptional in showing you how various CTOs think and define their roles in different companies. It really drives home the importance of having IT support business vs. just building out technical solutions.
Note: Buy this book used and save yourself a lot of money. I got it for $2.58.
4. Release It! - A very good book that talks about important concepts in building systems that can be released often. It talks about things like Bulkheads, and circuit breakers; also mentioned in Sam Newmans book,. If you're company doesn't have CI/CD in place and a proper release model, then you should certainly read this book.
The Psychology of Computer Programming by Weinberg. It's a bit dated (references PL/I, tapes and punch cards), but the content on team structure and programming psychology is actually pretty good and mostly seems to hold up (based on my own observations of myself and offices). It's one of a variety of books I've read recently that hasn't really taught me anything "new", but has connected dots between topics or given me better terms or frames of reference to discuss the topics.
The Reasoned Schemer by Friedman, et al. Not using this for anything in particular, but I wanted to do something fun that was programming. It's been a very enjoyable read. About 2/3 through it but got distracted by moving and other things. I'll pick it up after the move next week.
My objective is to read at least one full book per month this year (I often have several books I'm reading at a time, not always to completion). So far I'm on track with that. A variety of topics: system dynamics and systems thinking, project/team management and dynamics, then various technical topics like the above or mathematics.
1. Computer Networking: A Top-Down Approach 6th Edition.
2. TCP/IP Illustrated, Vol. 1 2nd Edition.
3. Interconnections: Bridges, Routers, Switches, and Internetworking Protocols 2nd Edition.
4. Engineering a Compiler 2nd Edition.
5. Flex & Bison.
6. Sed & Awk.
7. K & R.
8. The Unix Programming Environment.
9. Advanced Programming in the UNIX Environment.
10. Linux Kernel Development.
11. The Go Programming Language.
12. Introduction to Operating Systems Abstractions.
I recently discovered how much easier it is to use markdown for basic note taking, I have been just using html, which is part of the reason I took a break from reading, ha.
Really liked this one, picked a tonne of new ideas and approaches that are hard to find otherwise for a newbie in JS scene. These two books, some time spent reading up on webpack and lots of github/practice code made me not scared of JS anymore and not feeling the fatigue. I mean, I was one of the people who dismissed everything frontend related, big node_modules, electron, complicated build systems etc. But now I sort of understand why and am on the different side of the fence.
Wanted to understand what's the new flexbox layout is about since it's been a while when I've done some serious CSS work. Long story short I made it about half of this and dropped it - not any more useful than MDN docs and actually playing with someone's codepen gave me better understanding in 5 minutes than 3 hours spent with this book.