• You don't care about your code. • You want to code. • You know that your code is not best. • You want to be best. • You are done with college/school exercise. • You don't care about your code. • You want to code. • You know that your code is not best. • You want to be best. • You are done with college/school exercise.
is YK. • Change your compiler, if it is TC++. • It might if wonderful if you can shift to a better OS like Debian Linux, Mac • Join Mailing lists/Groups like LUGs. • Change your books, if it is YK. • Change your compiler, if it is TC++. • It might if wonderful if you can shift to a better OS like Debian Linux, Mac • Join Mailing lists/Groups like LUGs.
If it is Windows better change it. • Learn a good editor like emacs/vim. • Learn utilities like grep, find, ssh, scp, git, etc ... • Learn how to diff, merge, patch. • Learn few scripting language like bash, perl etc. • Learn your OS, If it is Windows better change it. • Learn a good editor like emacs/vim. • Learn utilities like grep, find, ssh, scp, git, etc ... • Learn how to diff, merge, patch. • Learn few scripting language like bash, perl etc.
API at least once. • Master Data structure • Master Algorithms. • Master Internals of computer hardware. • Understand Software development cycle. • Read all the API at least once. • Master Data structure • Master Algorithms. • Master Internals of computer hardware. • Understand Software development cycle.
• Discuss. • Create conclusion of understanding. • Close all the open ends. • Narrow down the problem. • Understand your problem statement. • Ask questions. • Discuss. • Create conclusion of understanding. • Close all the open ends. • Narrow down the problem.
the knowledge required. • Use simple logic but complex data structure. • Learn the domain of problem. • Gather the knowledge required. • Use simple logic but complex data structure.
logic. • Discuss. • Write a algorithm. • Differentiate Instructions and data. • Abstract with objects. :) • Create a borderline between different objects. • Follow MVC. • Use a paper and pen, write your logic. • Discuss. • Write a algorithm. • Differentiate Instructions and data. • Abstract with objects. :) • Create a borderline between different objects. • Follow MVC.
programs. • Profile them. • Learn the difference and analyze. • Incorporate these improvements in your code. • Talk to other programmers. • Read their programs. • Profile them. • Learn the difference and analyze. • Incorporate these improvements in your code.
in a project where you are the worst programmer. • Work in a project where you are the best programmer. • Learn from one and apply it on the other. • Work in a project where you are the worst programmer. • Work in a project where you are the best programmer. • Learn from one and apply it on the other.
Join a large active project. • Revive a dead project. • Learn from these experiences to avoid mistakes you could have done. • Takeover an existing project and develop • Join a large active project. • Revive a dead project. • Learn from these experiences to avoid mistakes you could have done.
dozen language. • Learn half a dozen programming paradigm. • Work on more then one platform. • Know your 'computer' in depth. • Learn half a dozen language. • Learn half a dozen programming paradigm. • Work on more then one platform. • Know your 'computer' in depth.
language standardization. • Get involved in it. • Get off at right time. :) • Know language standardization. • Follow language standardization. • Get involved in it. • Get off at right time. :)
Steven Raymond • http://www.catb.org/esr/faqs/hacker-howto.html • Teach Yourself Programming in Ten Years • Peter Norvig • http://norvig.com/21-days.html • How To Become A Hacker • Eric Steven Raymond • http://www.catb.org/esr/faqs/hacker-howto.html • Teach Yourself Programming in Ten Years • Peter Norvig • http://norvig.com/21-days.html