Good Programming - fcrimins/fcrimins.github.io GitHub Wiki

Google interview university, #7 (11/8/16)

Best traits of a senior developer? (7/7/16)

To Write Better Code, Read Virginia Woolf (5/24/16)

  • "one part training to three parts creative intuition"

A public health campaign to stop C/C++ (5/2/16)

  • A probabilistic, procedure call language might be less vulnerable to security attacks b/c injected code would have been called very infrequently in the past--and thus have a very low probability of actually being called.
  • What are secure languages anyway?

What is a good program? (4/27/16)

Tips and Tricks for Competitive Programmers | Set 2 (Language to be used for Competitive Programming) (3/20/16)

Code Reviews: why and how? (4/13/16)

Every programming tutorial ever (1/16/16)

A Catalog of Programming Languages Programmers Hate (2/29/16)

5 Good Programming Books (2/26/16)

The Case Against Dynamic Typing (1/29/16)

Fixing Spaghetti: How to Work With Legacy Code (1/28/16)

Best Curated List of Resources for Programmers (1/11/16)

12 resolutions for programmers (1/3/16)

Seven Tips for Better Code (12/11/15)

[Sovereign Software Development] (https://medium.com/@bryanedds/the-civilized-alternative-to-agile-tribalism-4c60d01428c0) (12/10/15)

The one weird trick to write clean code (11/10/15)

Announcing Educational Plugin for PyCharm 5 (11/3/15)

Emotional Attachment to Code (10/17/15)

Software Gardening (10/17/15)

Also see: Better Java

Code Reviews Can Make or Break Your Team

Preventing burnout for programmers

Stamford Open Classroom

10 Principles for Good Code

Everything You Need to Know About Python, online Python-for-beginners course

If I had to pick a single article for a new git user to read: Git Reset Demystified

Context Switching Costs: Why Developers Hate Being Interrupted

Three Laws of Programs:

  1. A program must not be hard for a human to understand, nor though lack of clarification allow a misunderstanding to take place.
  2. A program must be fast and concise, unless it conflicts with the first law.
  3. A program must be easy for the computer to understand, unless it conflicts with first two laws.

Others have stated this better as “programs must be written for people to read, and only incidentally for machines to execute.”

Path to a free self-taught graduation in Computer Science