This gist is a fork a gist from here.
-
-
Save spiwn/1884101 to your computer and use it in GitHub Desktop.
Programming Achievements: How to Level Up as a Developer
Achivement in progress are in bold
Unlocked ones are in strikethrough.
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 appWrite 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:
- Complete five code katas
- Complete the programming koans for a language that you want to learn
- Attend a code retreat
- Read SICP and complete all the exercises
Program in the open:
Contribute to an open source projectHave 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
Learn by teaching others:
- Present a lightning talk
Present at a local user groupPresent at a conferenceDeliver a training coursePublish 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