Skip to content

Instantly share code, notes, and snippets.

@Nzen
Forked from nivertech/about.md
Last active December 5, 2022 23:15
Show Gist options
  • Save Nzen/2584199 to your computer and use it in GitHub Desktop.
Save Nzen/2584199 to your computer and use it in GitHub Desktop.
Programming Achievements: How to Level Up as a Developer

Programming Achievements: How to Level Up as a Developer

This gist descended from a blog post and made specific to my interests and accomplishments. Check it out

Learn a variety of programming paradigms:

  • Write a program in an imperative language: C++, D, Pascal
  • Write an application in an object-oriented language: Java, Smalltalk
  • Write an application in a dynamic language: Python, Ruby
  • Write an application in a functional language: Clojure, Sml, Haskell
  • Write an application in a prototype-based language: Javascript, Io
  • Write an application in a logic programming language: Prolog
  • Write an application using a language supporting the Actor model: Erlang, Scala
  • Write an application in a concatenative language: Forth
  • Write an application in an aspect oriented language: AspectJ
  • Write a program in assembly language: Pep8, Dcpu10, C--, JVM
  • Write an application in a design-by-contract language: Eiffel

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

  • Write a networking client (HTTP, Tcp via udp)
  • Write a simple compiler: Basic
  • Write a simple operating system
  • Write a device driver
  • Write a B-tree database
  • Write a baysean spam filter
  • Write an application that provides a plugin model

**Learn a variety of editors/IDEs:

  • Use Visual Studio exclusively for a month
  • Use Eclipse exclusively for a month
  • Use IDLE exclusively for a month
  • Use emacs exclusively for a month
  • Use XCode exclusively for a month

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

Program in the open:

  • Contribute to an open source project
  • Have a patch accepted
  • Earn commit rights on a significant open source project
  • Gather a following on my own open source project

Learn by teaching others:

  • Present a lightning talk
  • Present at a local user group
  • Publish a tutorial
  • Publish a constructive code review of an open source project

Experience the ins and outs of programming for different platforms:

  • Write a nontrivial desktop app
  • Write a nontrivial web app
  • Write a nontrivial mobile app
  • Write a nontrivial game
  • Write an embedded app
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment