From 92ca491765734f5a3ce26dbf9ac5d57668dae54e Mon Sep 17 00:00:00 2001 From: Charles-Axel Dein Date: Thu, 2 Jun 2016 14:13:14 +0200 Subject: [PATCH] Add algo --- README.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e6d63c2..d0ba950 100644 --- a/README.md +++ b/README.md @@ -16,17 +16,19 @@ - [Writing for performance](#writing-for-performance) - [Things to know](#things-to-know) - [List of things to know](#list-of-things-to-know) + - [Know your algorithm and data structures](#know-your-algorithm-and-data-structures) - [Know your concepts](#know-your-concepts) - [Know your editor](#know-your-editor) - [Know your database](#know-your-database) - [Know your dev environment](#know-your-dev-environment) - [Know your shell](#know-your-shell) + - [Know your webdesign](#know-your-webdesign) - [Know your dotfiles](#know-your-dotfiles) - [Know your git](#know-your-git) - [Know how to debug](#know-how-to-debug) - [Know how to design](#know-how-to-design) - [Know how to architect systems](#know-how-to-architect-systems) - - [Know your language](#know-your-language) + - [Know your programming language](#know-your-programming-language) - [Know your design patterns and anti-patterns](#know-your-design-patterns-and-anti-patterns) @@ -106,6 +108,10 @@ Architecture](http://martinfowler.com/articles/microservice-testing/) (Martin Fo * [What every computer science major should know](http://matt.might.net/articles/what-cs-majors-should-know/) +### Know your algorithm and data structures + +* Try out some algorithms on [Project Euler](https://projecteuler.net/) + ### Know your concepts * [DDD](https://en.wikipedia.org/wiki/Domain-driven_design) @@ -194,10 +200,16 @@ I highly recommend reading [The Non-Designer's Design Book](http://www.amazon.co * [Services Engineering Reading List](https://github.com/mmcgrana/services-engineering) * [System Design Cheatsheet](https://gist.github.com/vasanthk/485d1c25737e8e72759f) -### Know your language +### Know your programming language This is language-specific, for instance, checkout my [professional Python education doc](https://github.com/charlax/python-education). +I'd recommend learning: + +* At least one dynamic language (Python, Ruby, JavaScript, etc.). Pretty useful for quick one-off automation scripts, and fastest to write for interviews. +* At least one compiled language (Java, C, C++, etc.) +* At least one more recent language to see where the industry is going (as of writing, Go, Swift, Rust, etc.) + ### Know your design patterns and anti-patterns Here's a list of good books: