My Programming Archivements
-
-
Save amir-hadzic/1141682 to your computer and use it in GitHub Desktop.
Programming Achievements: How to Level Up as a Developer
Learn a variety of programming paradigms:
| Write a program in assembly language | |
| Write an application in a functional language | |
| Write an application in a 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:
| Complete five [code katas](http://en.wikipedia.org/wiki/Kata_\(programming\) "Kata (programming) - Wikipedia") | |
| Complete the [programming koans](http://sett.ociweb.com/sett/settJan2011.html "Learning Programming Languages with Koans - Object Computing, Inc.") for a language that you want to learn | |
| Attend a [code retreat](http://coderetreat.com/ "Code Retreat with Corey Haines") | |
| Read [SICP](http://mitpress.mit.edu/sicp/ "SICP web site") 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](http://thinkrelevance.com/blog/2007/04/03/twir.html "Refactotum") of an 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