- Published on
Long Way to Programming
Introduction
- Prerequisites
- The Art of being a Programmer
- Theoretical Knowledge
- Systematic Knowledge
- Software Design
- Microservices
- Front End
- UI/UX Design
- Other Resources
- TBC...
Prerequisites
The Art of being a Programmer
- ๐ What are some of the most basic things every programmer should know?
- ๐ 97 Things Every Programmer Should Know
How to Ask Questions
The Art of Writing Code
- ๐ Refactoring: Improving the Design of Existing Code
- ๐ Working Effectively with Legacy Code ๐
- ๐ Clean Code: A Handbook of Agile Software Craftsmanship
- ๐ The Clean Coder: A Code of Conduct for Professional Programmers
Code Review
- ๐ Code Review Best Practices
- ๐ Google - How to do a code review
- ๐ LinkedIn's Tips for Highly Effective Code Review
Testing
Security
- ๐ OWASP Top Ten
- ๐ Secure Coding Practice Guidelines
- ๐ Hardening Your HTTP Security Headers
- ๐ Wikipedia - Defensive programming
- ๐ The Art of Defensive Programming
- ๐ Overly defensive programming
Theoretical Knowledge
- ๐ Algorithms
- ๐ Programming Pearls
- ๐ Introduction to Algorithms ๐
- ๐ fucking-algorithm
- ๐ LeetCode
- ๐ List of algorithms
- ๐ Data Structure Visualizations
Systematic Knowledge
- ๐ Computer Systems: A Programmer's Perspective ๐
- ๐ The C10K problem
- ๐ The Secret to 10 Million Concurrent Connections - The Kernel is the Problem, Not the Solution
Software Design
Programming Paradigm
- ๐ Wikipedia - Programming paradigm
- ๐ Six programming paradigms that will change how you think about coding
- ๐ Programming Paradigms for Dummies: What Every Programmer Should Know
Design Principles
- ๐ Roadmap - Software Design and Architecture
- ๐ Domain-driven Design ๐
- ๐ The Art of UNIX Programming ๐
- ๐ Clean Architecture: A Craftsman's Guide to Software Structure and Design ๐
- ๐ Modern Software Over-Engineering Mistakes
- ๐ Instagram Engineering's 3 rules to a scalable cloud application architecture
- ๐ How to Design a Good API & Why it Matters
- ๐ The Problem With Logging
Microservices
- ๐ Microservices or Microservices โข Martin Fowler โข GOTO 2014
- AWS - What are Microservices?
- Microsoft - Microservice architecture style
- VMware - Microservices
Front End
JavaScript
- ๐ The Modern JavaScript Tutorial
- ๐ Eloquent JavaScript
- ๐ JavaScript: The Good Parts
- ๐ Effective JavaScript
- ๐ ES6 In Depth
- ๐ ECMAScript 6 Tools
- ๐ Modern JavaScript Cheatsheet
- ๐ You Don't Know JS
- ๐ Glossary of Modern JavaScript Concepts: Part 1
- ๐ Glossary of Modern JavaScript Concepts: Part 2
- ๐ JavaScript. The Core: 2nd Edition
- ๐ JS scope: static, dynamic, and runtime-augmented
- ๐ How JavaScript Works
V8
How Browsers Work
- ๐ How browsers work
- ๐ How Browser Works (Slides)
- ๐ How to write your own Virtual DOM
- ๐ Write your Virtual DOM 2: Props & Events
- ๐ How Virtual-DOM and diffing works in React
- ๐ The Inner Workings Of Virtual DOM
UI/UX Design
- ๐ 7 steps to become a UI/UX designer
- ๐ Don't Make Me Think
- ๐ Simple and Usable Web, Mobile, and Interaction Design
- ๐ Designing with the Mind in Mind: Simple Guide to Understanding User Interface Design Guidelines ๐
- ๐ Designing Interfaces: Patterns for Effective Interaction Design ๐
- ๐ The Psychology Principles Every UI/UX Designer Needs to Know
- ๐ 18 designers predict UI/UX trends for 2018 (Not just for 2018)
- ๐ The Evolution of UI/UX Designers Into Product Designers
Other Resources
Blogs
Personal
- ๐ Coding Horror
- ๐ Joel on Software
- ๐ The Clean Code Blog
- ๐ Martin Fowler
- ๐ Paul Graham
- ๐ Steve Yegge, his most famous article is Stevey's Google Platforms Rant
- ๐ Peter Krumins
- ๐ Programming is Terrible
Company
- ๐ Microsoft Developer Blogs
- ๐ GitHub Engineering
- ๐ Google Developers Blog
- ๐ Facebook Engineering
- ๐ Twitter Engineering
- ๐ Netflix Tech Blog
- ๐ Airbnb Engineering & Data Science
- ๐ LinkedIn Engineering
Books
- ๐ ๆตชๆฝฎไนๅท
- ๐ ๆฐๅญฆไน็พ
- ๐ ไฝ ๅญไปไนๅๅฅฝไบ่็ฝ
- ๐ Rework
- ๐ It Doesn't Have To Be Crazy At Work