tombasche/professional-development: A curated selection of software development resources
Files
Permalink
Failed to load latest commit information.
A curated selection of software development resources
The following list is by no means exhaustive, and I’ve tried to keep it as objective as possible. Pull requests are welcome, as is discussion in the form of issues. Suggestions, problems, feedback is also welcome.
Prices are in AUD (Australian Dollar) unless otherwise specified, because that’s where I live. Exchange rate is listed below for 1 AUD
To | Cost |
---|---|
USD | 0.75 |
EURO | 0.62 |
GBP | 0.57 |
YEN | 78 |
INR | 55 |
Name | Description | Level | Cost |
---|---|---|---|
Coursera | Massive Open Online Course (MOOC) provider | All levels | Varies. 7 day free trial, then $68/month for a specialisation. Coursera for business is $400 per user annually. |
O’Reilly Online | Subscription-based online book provider. Contains entire O’Reilly catalogue and more. | All levels | Free trial then $499 USD annually. Comes free with many university courses (just need SSO) |
Udemy | Massive Open Online Course (MOOC) provider | All levels | Prices are per course and range from $5 to $199. |
MIT Open Courseware | Free course material provided by Massachusetts Institute of Technology. | Intermediate – Advanced | Free |
acloud guru | Subscription-based cloud service training platform. Covers AWS mainly, but also Azure and GCP. Also includes the entire Linux Academy catalogue. | All levels | Free for some courses, $379 USD a year for a personal plan with access to a lot more material incl. trial certification exams and labs. |
Execute Program | Subscription-based spaced repetition learning platform. Web development heavy, with a bit on SQL. | Beginner – Intermediate | 16 free lessons then $19 USD / monthly |
Udacity | Online ‘nano-degrees’ | All levels | $589 / month for all access, but varies from course to course. |
Complexity Explorer | Deep dives into technical topics ranging from mathematics, machine learning, computer science etc. | All levels | Free |
Lynda / LinkedIn Learning | Wide range of online software development courses provided by LinkedIn | All levels | Free month trial, then $39.99 monthly |
Pluralsight | Massive Open Online Course (MOOC) provider | All levels | Free trial, then $29 USD monthly or $299 USD annually. A premium subscription also exists for $449 USD annually which includes exams and interactive courses |
Codecademy | Online interactive courses to learn to code and different languages / frameworks. | Beginner | Limited access for free. Annual subscription for $19.99 USD a month, or month-by-month for $39.99 USD. |
Skillshare | Massive Open Online Course (MOOC) provider. Provides Web Development courses. | Beginner – Intermediate | Free trial, then $11.75 monthly |
FreeCodeCamp | Free (non-profit) online learning platform with interactive lessions and certifications | Beginner | Free |
LeetCode | Interactive computer science interview questions platform. Typical FAANG interview questions. | All levels | Free but there’s a premium monthly subscription for $35 USD monthly (or $159 annually) which includes premium content, questions sorted by the company that asks them as well as videos |
Standalone courses
Name | Description | Level | Cost |
---|---|---|---|
Writing an Interpreter in Go | A test-driven development (TDD) focussed approach to writing an interpreted programming language purely in Go. | All levels | $29 eBook or $39 paperback |
DevOps with Docker | Free online Docker course provided by the University of Helsinki | Beginner | Free |
FlexBox Froggy | Interactive gamified way to learn CSS flexbox | Beginner – Intermediate | Free |
Vimtutor | A tutorial for Vim that comes with the commandline text editor. Accessed with the vimtutor command in the terminal. |
Beginner | Free |
Crafting Interpreters | An online guide on creating an interpreter for a new programming language, in Java. | All levels | Free |
Design of Computer Programs | Free course on designing solutions in Python, using Peter Norvig’s problem-solving techniques and clean coding style. | Peter Norvig & Udacity | All levels |
Conferences
Name | Description | Level | Cost |
---|---|---|---|
GOTO Conference Talks | Recorded talks from the GOTO conference. | All levels | Free |
YOW! Online | Australian conference talks with workshops and Q&A sessions | All levels | $25 monthly |
Sites and blogs
Name | Description | Level | Cost |
---|---|---|---|
Refactoring Guru | A free and comprehensive guide to design patterns, refactorings and code smells. | Intermediate – Advanced | Free, but there’s a design patterns eBook available for $39.95, and a refactoring book for $54.95 |
Game Programming Patterns | Robert Nystrom’s guide to applying design patterns in games. Could also apply to a lot of systems programming. | Intermediate – Advanced | Free but paperback on Amazon available for $33.95 USD (ebook is $24.95 USD) |
Books
(I won’t put prices here but just a link. It’s easier than finding the cheapest store for your country.)
Name | Author | Description | Level |
---|---|---|---|
Clean Code | Robert C. Martin (Uncle Bob) | A software craftsman’s guide to writing clean code. Lots of code examples (in Java) and before/after of refactored code. | All levels |
Accelerate: The Science of Lean software and Devops | Nicole Forsgren (Phd), Jez Humble and Gene Kim | A research-based book describing the application of technology and Devops principles to building an organisation. | Intermediate+ |
Test Driven Development By Example | Kent Beck | A straight-forward introduction to Test Driven Development (TDD) using various examples in both Java and Python. Discusses best practices and the ‘greatest hits’ of TDD. | All levels |
Clean Architecture | Robert C. Martin (Uncle Bob) | A primer on the SOLID software engineering principles, software structure, discussions on cohesion and coupling in software components. Java examples, mainly focusses on the object-oriented paradigm but very easily translatable into others. | All levels |
If Hemingway Wrote Javascript | Angus Croll | Very tongue-in-cheek recommendation, but a great read for those interested in the art of reading code as prose. Quite funny too. | Intermediate+ |
The Art of Leadership: Small things done well | Michael Lopp | Lots of great lessons to be learnt on leadership from all levels, from manager to director to executive, all told through the lense of a Silicon Valley veteran | All levels |
The Design of Everyday Things | Don Norman | A great introduction into good design principles and usability. It’s an entertaining read and a must-have for anyone producing anything which is used by people | All levels |
Designing Data-Intensive Applications | Martin Kleppmann | A good high-level overview of data-centric application design and the benefits, pitfalls of various technologies | All levels |
The DevOps Handbook | Kim, Humble, Debois & Willis | A thorough introduction into the principles of DevOps and how and organisation can use them to increase competitiveness, quality and reliability of software. Loads of examples from Etsy, Google, Facebook etc. | All levels |
The Phoenix Project | Gene Kim | A novel about a company with a failing Enterprise IT division and how the ideas of DevOps, Agility / Lean are applied gradually to bring the company back into profitability. Humourous and at times feels very real! | All levels |
The Pragmatic Programmer | David Thomas & Andrew Hunt | Illustrates the best approaches and major pitfalls of many different aspects of software development. | All levels |
Refactoring: Improving the Design of Existing Code | Martin Fowler | Explains what refactoring is; why you should refactor; how to recognize code that needs refactoring; and how to actually do it successfully, no matter what language you use. | All levels |
Working Effectively with Legacy Code | Michael C. Feathers | This book provides programmers with the ability to cost effectively handle common legacy code problems without having to go through the hugely expensive task of rewriting all existing code | All levels |
The (Delicate) Art of Bureaucracy | Mark Schwartz | Discusses bureaucratic process within technology firms and divisions with respect to changing it to match DevOps and Agile principles. Discusses ‘Digital Transformation’ within bureaucratic systems. | All levels |