My selection of recommended study material in the field of Software Engineering:
- https://martinfowler.com/articles/mocksArentStubs.html - good contrast between "classical and mockist" styles of TDD. Also terminology and description for the various kinds of test doubles.
- https://martinfowler.com/articles/microservice-testing - good overview and explanation of various testing topics and strategies, especially when applied to microservices.
- Noteworthy quote on contracts:
Whenever some consumer couples to the interface of a component to make use of its behaviour, a contract is formed between them. This contract consists of expectations of input and output data structures, side effects and performance and concurrency characteristics.
- https://www.infoq.com/presentations/acceptance-testing-continuous-delivery/ - talks about importance of Continuous Delivery and Acceptance tests, also techniques and patterns (such as test isolation, abstracting system time, mocking external dependencies, etc.)
- https://enterprisecraftsmanship.com/posts/what-is-exceptional-situation/ - How to think about exceptions and errors. Still a topic most of the Java world seems to not have figured out!
- https://cloud.google.com/apis/design/compatibility
- https://www.infoq.com/articles/breaking-changes-are-broken-semver/
- https://typelevel.org/cats-effect/concurrency/basics.html - Terminology and concepts for concurrency (this is not about cats library). Of particular interest: notes about "Asynchronous / Semantic blocking"
- https://gist.github.com/djspiewak/46b543800958cf61af6efa8e072bfd5c - types of thread pools in JVM
- Lightbend Reactive Architecture 6 course series - https://www.lightbend.com/learn/lightbend-reactive-architecture
- Longer than a simple article, but this course series is excellent. It very well thought, it's great foundational material!
- CAP theorem (a bit more advanced stuff, but still important):
- http://ksat.me/a-plain-english-introduction-to-cap-theorem/ - eventual consistency & CAP in plain english
- https://www.infoq.com/articles/cap-twelve-years-later-how-the-rules-have-changed/ - modern info on CAP.
- https://howhttps.works/ - (HTTPS and SSL)
- Meetings: https://www.meeteor.com/post/fomo-hurting-meeting-culture
- Code reviews: https://mtlynch.io/code-review-love/
- https://forge.medium.com/how-to-tell-an-employee-their-work-isnt-good-enough-30098949f528
- https://blog.pragmaticengineer.com/performance-reviews-for-software-engineers
- InterruptedException, how and when to use: https://www.ibm.com/developerworks/java/library/j-jtp05236/
- How Optional is broken: https://blog.developer.atlassian.com/optional-broken/
- On hash functions quality in “The Computer Language Benchmarks Game - https://llogiq.github.io/2016/12/08/hash.html