Skip to content

Instantly share code, notes, and snippets.

@SantiagoValdez
Last active January 7, 2020 08:07
Show Gist options
  • Save SantiagoValdez/5710302 to your computer and use it in GitHub Desktop.
Save SantiagoValdez/5710302 to your computer and use it in GitHub Desktop.
Programming Achievements: How to Level Up as a Developer.

Current [-]. Completed [X]

Learn a variety of commonly-used programming languages:

  • [] Write a program in Ruby
  • [] Write a program in Python
  • [] Write a program in C
  • [] Write a program in C++
  • [] Write a program in Java
  • [] Write a program in Objective-C
  • [] Write a program in C#
  • [] Write a program in PHP 5
  • [] Write a program in Perl
  • [] Write a stand-alone program in Javascript
  • [] Write a program in Scala

Learn a variety of not commonly-used programming languages:

  • [] Write a non-trivial program in Haskell
  • [] Write a program in Lua

Learn a variety of frameworks:

  • [] Write a web application with Rails
  • [] Write a web application with Django
  • [] Write a web application with Node.js
  • [] Write a program with .Net
  • [] Write a program with OpenGL
  • [] Write a program with DirectX

Learn a variety of editors/IDEs:

  • [] Use vim exclusively for a month
  • [] Use sublime exclusively for a month
  • [] Use emacs exclusively for a month
  • [] Use netbeans exclusively for a month
  • [] Use Visual Studio exclusively for a month
  • [] Use eclipse exclusively for a month

Learn a variety of programming paradigms:

  • [] Write a program in assembly language
  • [] Write an application in a functional language
  • [] Write an application in an object-oriented language
  • [] Write an application in a prototype-based language
  • [] Write an application in a logic programming language
  • [] Write an application using the Actor model
  • [] Write an application in Forth
  • [] Write an application in a concatenative language (e.g. Joy)
  • [] Write an application in a strict design-by-contract language (e.g. Eiffel)

Get comfortable in multiple operating systems:

  • [] Use OSX exclusively for development for a month
  • [] Use Linux exclusively for development for a month
  • [] Use Windows exclusively for development for a month

Experience the ins and outs of programming in multiple fields:

  • [] Write a nontrivial web app
  • [] Write a nontrivial desktop app
  • [] Write a nontrivial mobile app
  • [] Write a nontrivial game
  • [] Write an embedded app
  • [] Write a realtime system

Enhance my understanding of the building blocks that we use as developers:

  • [] Write a networking client (e.g., HTTP, FTP)
  • [] Write a device driver
  • [] Write a B-tree database
  • [] Wrap an existing library to provide a better (more pleasant) user experience
  • [] Write an application or framework that provides a plugin model
  • [] Write a testing framework
  • [] Write a programming language
  • [] Write an operating system

Enlighten myself with koans, katas, and the wisdom of ages:

  • [] Complete five code katas
  • [] Complete the programming koans for a language that you want to learn
  • [] Read SICP and complete all the exercises

Program in the open:

  • [] Contribute to an open source project
  • [] Have a patch accepted
  • [] Earn commit rights on a significant open source project
  • [] Publish an open source project
  • [] Perform a Refactotum of on open source project

Learn by teaching others:

  • [] Present a lightning talk
  • [] Present at a local user group
  • [] Present at a conference
  • [] Deliver a training course
  • [] Publish a tutorial
  • [] Publish a constructive code review of an open source project
  • [] Write a programming book
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment