Tuesday, May 17, 2011

89 Ways for You to Become the Greatest Developer in the World


Since there are dozens of posts on becoming a better developer, but no single post 
with all the advice you need, perhaps, you'll find this short guide useful.
1. Learn the Skills You Need

1. Learn the programming basics

"The goal of this guide is to be the easiest and funnest way for a beginner to get 
started programming."

Read more: Learn To Program - Beginner's Guide
2. Get a complete understanding of programming

"To be a good programmer is difficult and noble. The hardest part of making real a 
collective vision of a software project is dealing with one's coworkers and 
customers. Writing computer programs is important and takes great intelligence and 
skill.

But it is really child's play compared to everything else that a good programmer 
must do to make a software system that succeeds for both the customer and myriad 
colleagues for whom she is partially responsible."

Read more: How to be a Programmer: A Short, Comprehensive, and Personal Summary
3. Remember these 9 principles to become a good developer:
1. Attitude
2. Read the books
3. Code! Code! Code!
4. Try out tools and utilities that make your work easier
5. Try out new technologies
6. Look how other guys develop systems
7. Everything that shines is not gold
8. Participate in communities
9. Visit technology events

Read more: How to become a good developer? - Gunnar Peipman's ASP.NET blog
4. Know what makes a great programmer:
1. Being a great problem solver.
2. Being driven and lazy at the same time.
3. Ability to understand other people's code
4. Having a passion for programming
5. Loving learning for the sake of learning
6. Being good at math
7. Having good communications skills
8. Strong debating skills
9. Extreme optimism
10. Extreme pessimism

Read more: The Top 10 Attributes of a Great Programmer
5. Learn what really matters in programming
* Work with other OSes
* Research classes and internships more
* Consider taking the SCJA or SCJP exams
* Connect with more people
* People in the workplace seemed more easygoing than I would have thought and 
socialization (face-time) is an important part of working
* Company/workgroup attitude is the most important factor in how much I succeeded 
in my work.
* The best job is not usually the best-paying job
* Consider blogging and/or mentoring

Read much more here: What I wanted to know before I left college: A programmer 
reflects
6.

Use the advice from Paul Graham:
* To start with, read Appjet's guide to learning to program
* start thinking about specific programs you want to write
* don't start with a problem that's too big
* Initially your programs will be ugly
* you'll find it useful to look at programs other people have written. But you'll 
learn more from this once you've tried programming yourself.
* find friends who like to write programs

Also learn answers to these questions:
* Why do you advise plunging right into a programming project instead of carefully 
planning it first?
* Why do you keep going on about Lisp?
* Isn't object-oriented programming naturally suited to some problems?

Read more: Programming FAQ
7. Remember the 11 object-oriented programming principles:
1. Open closed principle
2. Liskov substitution principle
3. Common reuse principle>
4. Interface segregation principle
5. Stable dependancy principle
6. Acyclic dependencies principle
7. Common closure principle
8. Stable abstraction principle
9. Release-reuse equivalency principle
10. Dependency inversion principle
11. Single responsibility principle

Learn more: 10 Object Oriented Design Principles | Livrona
8. Learn programming by not programming

"The older I get, the more I believe that the only way to become a better 
programmer is by not programming. You have to come up for air, put down the 
compiler for a moment, and take stock of what you're really doing. Code is 
important, but it's a small part of the overall process."

"To truly become a better programmer, you have to to cultivate passion for 
everything else that goes on around the programming."

"The nature of these jobs is not just closing your door and doing coding, and it's 
easy to get that fact out. The greatest missing skill is somebody who's both good 
at understanding the engineering and who has good relationships with the hard-core 
engineers, and bridges that to working with the customers and the marketing and 
things like that."

Bill Gates, remarks, 2005

Read more: How To Become a Better Programmer by Not Programming
9. Learn C/C++ no matter what your main language is

"If you want to be a top-notch programmer, you can no more afford to ignore the C 
and C++ languages than a civil engineer can afford to ignore the difference between 
a plumb line and a snap line, a right angle and an oblique one."

Read more: Learning To Drive a Stick Shift - Coding the Wheel
10. Try Python to learn to code at a higher level

"Learning Python taught me the value of programming at a higher level. Things like 
using boost::signals to break up dependencies; boost::bind and boost::function to 
use functions as first-class objects; boost::foreach to separate iteration from the 
algorithm; boost::any for generic data types; and much more."

Read more: How learning Python made me a better C++ programmer | The GITS Blog

No comments:

Post a Comment