Awesome
Awesome Mews
A curated list of resources and recommended reading we at Mews really like and which are aligned with our philosophy and vision.
Articles
- Google Code Review Developer Guide
- Extremely good guide on what to do both as author and also as review of pull requests.
- Google Technical Writing Guide
- A collection of great tips and things to keep in mind when writing documentation.
- The Product Development Lifecycle: Roles & Responsibilities
- Brief introduction into roles and responsibilities within crossfunctional teams.
- Developer roadmaps
- Interesting visualization of technologies and knowledge to learn on a way to become frontend or backend developer.
- Etsy Engineering Career Ladder
- We've got inspired by the Etsy's approach to engineering competencies.
- The Hard Truth About Innovative Cultures
- "Failure should not be celebrated, learning should be celebrated".
- The Engineer’s Guide to Career Growth — Advice from My Time at Stripe and Facebook:
- It's not just about programming. It's about career growth too and this article can help you understand what's important to focus on.
- Unlearning toxic behaviors in a code review culture
- Code reviews are part of our DNA so how to make sure we're not toxic?
- Fintech Scales Vertical SaaS
- SaaS yes, Fintech more yes!
- Library patterns: Why frameworks are evil
- Key concepts when designing a framework and why you shouldn't!
- Functional design
- What is functional design?
Videos
- Functional programming design patterns by Scott Wlaschin
- Pragmatic approach to functional programming, starts with simples patterns and progresses towards more advanced ones.
- John De Goes - 12 Steps To Better Scala (Part I)
- Scala FP advocate talks about FP patterns and compares them to standard OO patterns.
- Talking Architecture With Kevlin Henney
- More philosophical talk on minimalism and simplicity in programming, which are one of our main principles.
Blogs
- High Scalability
- Great blog which every week or two summarizes all interesting things that happened in the world of high scalability. Highly recommended.
- Fsharp for run and profit
- Recommended for anybody interested about functional programming, packed with talks and examples.
- Ploeh blog
- More advanced blog about FP.
- The morning brew
- Daily portion of links to interesting articles from the world of .NET development. Concise, easily digestable and hand picked for you by Chris Alcock.
- Additional programming principles blogs
Newsletters
- JavaScript Weekly
- Weekly newsletters about news in JavaScript. Highly recommended to keep up with latest news and changes.
- React Status
- Weekly newsletters about news in React. Highly recommended to keep up with latest news and changes.
Courses
- Pluralsight C#
- Some great C# courses from total beginner to advanced talk about C# internals. They also have plenty other courses on different topics.
Books
- Essential C#
- Very detailed book about all major features of C#. Highly recommended to everyone, who doesn't consider him to be an expert in C#. Feel free to just reach for a specific topic.
- CLR via C#
- Even more detailed book not just about C# but mainly about the common language runtime. Recommended to everyone who is already familiar with C# essentials.
- Functional programming in Scala
- You can ignore Scala, because this book is not about it. This book is about functional programming which we strongly prefer to use in our code. You don't have to just learn https://github.com/siroky/FuncSharp, you get to understand its concepts and many more by reading this book. This is a must read if you are not familiar with FP at all.
- Effective Kotlin
- Effective Kotlin summarizes the best practices and experiences of the Kotlin community, together with a deep explanation of some lesser-known Kotlin functionalities. All of the best practices are presented as simple rules with detailed explanations.
- Best of all is that our App guy Kirill was the reviewer of this book.
Computer science
Common books about CS, without a strong reference to a particular language. How to become a better developer.
- Code Complete by Steve McConnell
- One of the best practical guides to programming. A must-read for all the developers aiming to writing clean code.
- Clean Code by Robert C. Martin
- A nice practical how to guide: writing maintainable and readable code, practicing TDD, turning bad code into good code. Vivid and easy to read language.
- The Clean Coder by Robert C. Martin
- Not to be confused with the previous book, this one is more about coder itself. It's worth reading at least for an alternative view on "the flow zone" – state that many programmers are looking for.
- The Pragmatic Programmer: From Journeyman to Master by David Thomas, Andrew Hunt
- While it can be considered more "philosophical" or "theoretical" comparing to the previous books, it makes you to think, to reflex and finally to grow. Some citations:
- Great software today is often preferable to perfect software tomorrow.
- Whatever the reason, maintenance is not a discrete activity, but a routine part of the entire development process.
- Don't rely on the properties of things you can't control.
- Details mess up our pristine code...
- So you go to your boss or client and say, "This code works, but I need another week to refactor it." We can't print their reply.
- All software you write will be tested—if not by you and your team, then by the eventual users—so you might as well plan on testing it thoroughly.
- The big surprises come as you discover what typical means.
- Once a human tester finds a bug, it should be the last time a human tester finds that bug. The automated tests should be modified to check for that particular bug from then on...
- While it can be considered more "philosophical" or "theoretical" comparing to the previous books, it makes you to think, to reflex and finally to grow. Some citations:
- Pragmatic Thinking and Learning: Refactor Your Wetware by Andrew Hunt
- Same philosophy as The pragmatic programmer, but this time focusing on the mental and social aspects.
- Topics include:
- The aproach to learning based on different skill levels
- How does the brain actually process information and how to leverage that
- Cognitive biases and how to avoid them
- Managing focus
- The Art of Unit Testing by Roy Osherove
- Great book about unit testing covering all why's, how's, frameworks and best practices based on real-world experience.
- 97 things every programmer should know
- A collection of 97 short essays by industry veterans where they share the knowledge they have accrued over the years.
- 97 things every software architect should know
- Same as above only targeted for sw architects.
Leadership & managment
- Extreme Ownership: How U.S. Navy SEALs Lead and Win by Jocko Willink and Leif Babin
- Interesting take on how to aproach leadership and make winning a habit.
- Each topic contains theoretical intro, real world example from the military world and a real world example from business.
- Elastic leadership by Roy Osherove
- Great book about leadership in sw (but not only sw) engineering teams by an industry legend.
Misc
- Computer Science Rankings
- Great overview of universities sorted by publications on prestige conferences. Links to all the academic papers are included.