How to code

1,413 views

Published on

How can you become a programmer >> developer >> architect.

Published in: Self Improvement, Technology

How to code

  1. 1. How to start... And how to finish... How to code
  2. 2. Is it for me ? <ul><li>You don't care about your code.
  3. 3. You want to code.
  4. 4. You know that your code is not best.
  5. 5. You want to be best.
  6. 6. You are done with college/school exercise. </li></ul>
  7. 7. Get Interested <ul><li>Your should like programming.
  8. 8. Create a programming environment around. </li></ul>
  9. 9. Get Aware <ul><li>Change your books, if it is YK.
  10. 10. Change your compiler, if it is TC++.
  11. 11. It might if wonderful if you can shift to a better OS like Debian Linux, Mac
  12. 12. Join Mailing lists/Groups like LUGs. </li></ul>
  13. 13. Learn helper tools. <ul><li>Learn your OS, If it is Windows better change it.
  14. 14. Learn a good editor like emacs/vim.
  15. 15. Learn utilities like grep, find, ssh, scp, git, etc ...
  16. 16. Learn how to diff, merge, patch.
  17. 17. Learn few scripting language like bash, perl etc. </li></ul>
  18. 18. Theory and algo <ul><li>Read all the API at least once.
  19. 19. Master Data structure
  20. 20. Master Algorithms.
  21. 21. Master Internals of computer hardware.
  22. 22. Understand Software development cycle. </li></ul>
  23. 23. Understand <ul><li>Understand your problem statement.
  24. 24. Ask questions.
  25. 25. Discuss.
  26. 26. Create conclusion of understanding.
  27. 27. Close all the open ends.
  28. 28. Narrow down the problem. </li></ul>
  29. 29. Approach <ul><li>Learn the domain of problem.
  30. 30. Gather the knowledge required.
  31. 31. Use simple logic but complex data structure. </li></ul>
  32. 32. Logic <ul><li>Use a paper and pen, write your logic.
  33. 33. Discuss.
  34. 34. Write a algorithm.
  35. 35. Differentiate Instructions and data.
  36. 36. Abstract with objects. :)
  37. 37. Create a borderline between different objects.
  38. 38. Follow MVC. </li></ul>
  39. 39. Talk <ul><li>Talk to other programmers.
  40. 40. Read their programs.
  41. 41. Profile them.
  42. 42. Learn the difference and analyze.
  43. 43. Incorporate these improvements in your code. </li></ul>
  44. 44. Try try again <ul><li>Try multiple approaches.
  45. 45. Learn existing solutions.
  46. 46. Innovate and create. </li></ul>
  47. 47. Study <ul><li>Study different paradigms.
  48. 48. Study different theories.
  49. 49. Keep on programming. </li></ul>
  50. 50. Be best and worst <ul><li>Work in a project where you are the worst programmer.
  51. 51. Work in a project where you are the best programmer.
  52. 52. Learn from one and apply it on the other. </li></ul>
  53. 53. Maintain <ul><li>Takeover an existing project and develop
  54. 54. Join a large active project.
  55. 55. Revive a dead project.
  56. 56. Learn from these experiences to avoid mistakes you could have done. </li></ul>
  57. 57. Be swiss knife <ul><li>Learn half a dozen language.
  58. 58. Learn half a dozen programming paradigm.
  59. 59. Work on more then one platform.
  60. 60. Know your 'computer' in depth. </li></ul>
  61. 61. Follow Rules <ul><li>Know language standardization.
  62. 62. Follow language standardization.
  63. 63. Get involved in it.
  64. 64. Get off at right time. :) </li></ul>
  65. 65. Bibliography <ul><li>How To Become A Hacker </li><ul><li>Eric Steven Raymond
  66. 66. http://www.catb.org/esr/faqs/hacker-howto.html </li></ul><li>Teach Yourself Programming in Ten Years </li><ul><li>Peter Norvig
  67. 67. http://norvig.com/21-days.html </li></ul></ul>
  68. 68. Thanks <ul><li>CantGetANick </li><ul><li>irc://irc.freenode.net/lug-jaipur
  69. 69. irc://irc.freenode.net/lugb </li></ul><li>Rocker </li><ul><li>http://shishirsharma.com </li></ul><li>Mail me: </li><ul><li>cpt [at] lugj [dot] in </li></ul></ul>

×