markdown 编程成就:如何升级为开发人员

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown 编程成就:如何升级为开发人员相关的知识,希望对你有一定的参考价值。

*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 PHP 5
* 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 netbeans exclusively for a month
* Use Visual Studio 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
* 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](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
* 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 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
Programming Achievements: How to Level Up as a Developer
=========================================================

1. Select a particular experience to pursue.
2. Pursue that experience to completion. (Achievement unlocked!)
3. **Reflect on that experience. Really soak it in. Maybe a blog post would be in order?**
4. Return to Step 1, this time selecting a new experience.

*This gist is a fork of the gist from [this blog post](http://jasonrudolph.com/blog/2011/08/09/programming-achievements-how-to-level-up-as-a-developer).*

以上是关于markdown 编程成就:如何升级为开发人员的主要内容,如果未能解决你的问题,请参考以下文章

30K程序员的简述:如何成为高级开发人员

30K程序员的简述:如何成为高级开发人员

如何透彻分析Java开发人员

业余选手成就了软件开发者?

如何在没有Internet的情况下升级CentOS 6.3上的开发人员工具?

markdown [开发人员链接和资源]开发人员#resources的资源列表