Subtopics: Concurrent programming, System design, Web development.
Here's 3 amazing resources to learn Software development:
The Architecture of Open Source Applications (aosabook.org)
free • book • series • 2016
This is a book in four parts in which the authors of open source applications explain how their software is structured. Volume 1 and Volume 2 include chapters on the design of LLVM, Bash, GHC, nginx, PyPy, and other popular projects. The third book focuses on building performant applications. The 500 Lines or Less book is about design decisions that programmers make when they are building something new from scratch.
The Pragmatic Programmer, 20th Anniversary Edition (pragprog.com)
paid • book • by David Thomas, Andrew Hunt • 2019
This book is a collection of common sense advice on the process of software development. It covers a wide range of topics from coding tips to team communication to project management to career guidance. The first edition was published in 1999 and became one of the most influential books in the industry. Two years later the authors summarized their views in the even more impactful Agile Manifesto. The new edition offers a fresh look at the modern development landscape. It's a light and enjoyable read. And although you may find some tips obvious and others arguable or even wrong, you'll get a lot of food for thought. This is a book for programmers that seek to improve their craft.
Increment Magazine (increment.com)
free • article • series • by Stripe • 2021
Increment is a print and digital magazine about how teams build and operate software systems at scale. The articles are written by the Stripe team and industry experts. There are 19 published issues so far, each being focused on a particular topic: Cloud, Mobile, Frontend, Software Architecture, and so on.