Skip to content

Instantly share code, notes, and snippets.

@sinemetu1
Forked from jasonrudolph/about.md
Last active September 29, 2015 22:27
Show Gist options
  • Save sinemetu1/1678001 to your computer and use it in GitHub Desktop.
Save sinemetu1/1678001 to your computer and use it in GitHub Desktop.
Programming Achievements: How to Level Up as a Developer

Current in bold. Completed in strikethrough.

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 Clojure
  • Write a program in Perl
  • Write a stand-alone program in Javascript

Learn a variety of not commonly-used programming languages:

  • Write a non-trivial program in Brainfuck
  • Write a program in Lua

Learn a variety of frameworks:

  • Write a web application with Rails
  • Write a web application with Django
  • Write a program with .Net
  • Write a program with OpenGL
  • Write a program with DirectX
  • Write a program with Cocoa

Learn a variety of editors/IDEs:

  • Use vim exclusively for a month
  • Use TextMate exclusively for a month
  • Use emacs exclusively for a month
  • Use Visual Studio exclusively for a month
  • Use Eclipse exclusively for a month
  • Use XCode 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

Experience the ins and outs of programming for different platforms:

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

Enhance your 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

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

Program in the open:

  • Contribute to an open source project - Mozilla Firefox my tickets on bugzilla
  • Have a patch accepted
  • Earn commit rights on a significant open source project
  • Publish an open source project
  • Perform a Refactotum of an open source project
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment