Sunday, April 15, 2018

Essential Reading/Watching for Software Engineers

I've been really fortunate through the years to be surrounded by people who are dedicated to continuous learning and improvement.  A few years ago, I put together a reading list as part of an engineering department reboot.  I updated it late last year.  I have rough reading/discussion times for some of it.  What am I missing?

Notes

  • Video time slots are roughly 80% watching, 20% discussion
  • Reading time slots are roughly 66% reading, 33% discussion
  • Long chapters are broken up into 2 sessions

Agile

Clean Code

  • Video: Clean Code Episode 1: Clean Code - 1.25 hours
    • Covers Clean Code Book Ch.1: Clean Code
  • Video: Clean Code Episode 2: Names - 1 hour
    • Covers Clean Code Book Ch.2: Meaningful Names
  • Video: Clean Code Episode 3: Functions - 1.25 hours
    • Covers Clean Code Book Ch.3: Functions
  • Video: Clean Code Episode 4: Function Structure - 2 hours
  • Video: Clean Code Episode 5: Form - 1.5 hours
  • Video: Clean Code Episode 6: Testing part 1 - 1.25 hours
  • Video: Clean Code Episode 6: Testing part 2 - 1.5 hours
  • Video: Clean Code Episode 7: Architecture - 1.75 hours
  • Video: Clean Code Episode 8: Foundations of the SOLID principles - 1.25 hours

Refactoring

  • Chapter 1 - Refactoring, a First Example - 45 minutes
  • Chapter 2 - Principles in Refactoring - 1.5 hours
  • Chapter 3 - Bad Smells in Code - 45 minutes

Effective Java (2nd edition)

  • Chapter 4 - Classes and Interfaces - 1.5 hours (est)
  • Chapter 7 - Methods - 45 minutes (est)

Domain Driven Design

Microservices

  • Video: The Practical Implications of Microservices - by Sam Newman, the author of “Building Microservices” - 1.25 hours
  • Video: Deploying and Testing Microservices - also Sam Newman - 1.5 hours
  • Building Microservices book
    • Chapter 1 - Microservices - 45 minutes
    • Chapter 3 - How to Model Services - 45 minutes
    • Chapter 4 - Integration
      • Part 1: Beginning of chapter through "Downsides to REST over HTTP" - 2 hours
      • Part 2: "Implementing Asynchronous Event-Based Collaboration" through end of chapter - 2 hours
    • Chapter 5 - Splitting the Monolith
      • Part 1: Beginning of chapter thru "So What to Do?" - 1.5 hours
      • Part 2: "Reporting" thru end of chapter - 1.5 hours
    • Chapter 7 - Testing  
      • Part 1: Beginning of chapter through "The Metaversion" - 1.5 hours
      • Part 2: "Test Journeys, Not Stories" through end of chapter - 1.5 hours
  • The Twelve-Factor App - 1.5 hours

Testing

REST/API design

Event Sourcing/CQRS

Continuous Delivery

  • Chapter 1 - The Problem of Delivering Software
  • Chapter 2 - Configuration Management
  • Chapter 7 - The Commit Stage

Working Effectively with Legacy Code

  • Chapter 4 - The Seam Model
  • Chapter 9 - I can't get this class into a test harness
  • Chapter 13 - I need to make a change, but I don't know what tests to write

Further Reading

  • Agile Software Development (If you don't have access to this book, see Uncle Bob's blog about SOLID principles)
    • Chapter 7 - What is Agile Design?
    • Chapter 8 - SRP: The Single-Responsibility Principle
    • Chapter 9 - OCP: The Open-Close Principle
    • Chapter 10 - LSP: The Liskov Substitution Principle
    • Chapter 11 - DIP: The Dependency-Inversion Principle
    • Chapter 12 - ISP: The Interface-Segregation Principle
  • Implementing Domain Driven Design
    • Ch. 4: Architecture
    • Ch. 5: Entities
    • Ch. 6: Value Objects
    • Ch. 7: Services
    • Ch. 8: Domain Events
    • Ch. 9: Modules

1 comment:

  1. igmGuru: We are one of the finest online training Company you can ever come upon solely focused and dedicated to your career development. We have partnered with several well-known companies and prestigious institutions and individuals to train the next generations in IT technologies. Our aim objective is to foster the best growth and upgrade your career objectives with proper knowledge and skills. Passionate training of information technology has always been our motto..All desire to achieve their dream jobs and position but a few succeed to reach their goal. Our vision is to help you to achieve your aim.

    https://www.igmguru.com/

    ReplyDelete