Upgrade to Pro — share decks privately, control downloads, hide ads and more …

It is about philosophy: culture of a good programmer

It is about philosophy: culture of a good programmer

Philosophy is the study of general and fundamental problems, such as those connected with reality, existence, knowledge, values, reason, mind, and language.
Even though technical skills are a very positive thing, other qualifications are really more important: 'features' like respect, honesty or humility are required to become a better person and, thus, a better professional.
This is not an easy path to follow, and in order to accomplish it, let me share experiences on how to be a better programmer. Let's have a walk!

12defde716586eb2d726d081a161756d?s=128

Fernando Cejas

January 16, 2015
Tweet

Transcript

  1. It is about philosophy… …culture of a good programmer… {

    0010 }
  2. Meet… @fernando_cejas Curious Learner Software Engineer Android Lover Geek

  3. @SoundCloud Android

  4. The word "philosophy" comes from the Ancient Greek φιλοσοφία (philosophia),

    which literally means "love of wisdom" wikipedia
  5. 2 There are… types of developers…

  6. hacker 1234233 lines in a class is not that bad

  7. philosopher I need more layers and abstractions!!!

  8. 2 There are… types of developers…

  9. introverted Peter Parker

  10. extraverted Tony Stark

  11. 2 There are… types of developers…

  12. ‘solo’ Developer

  13. ‘team’ Developer

  14. learning continuous

  15. accept challenges

  16. be prepare for change

  17. code evolves be prepare for change

  18. code evolves language evolves be prepare for change

  19. code evolves language evolves we evolve be prepare for change

  20. do not be shy… for the win

  21. expose your ideas… do not be shy… for the win

  22. expose your ideas… do not be shy… always ask… for

    the win
  23. write code for the win

  24. read code write code for the win

  25. read code write code learn from experiences for the win

  26. expertise?

  27. 2 There are… types of developers…

  28. object oriented programming Learn about: hacker patterns good practices and

    testing
  29. evil stuff Learn about: philosopher anti patterns algorithms

  30. try to get out of your comfort zone…

  31. team player be a good

  32. we work with people!!!

  33. People are one of the most important things in life…

    yes!!!
  34. we work with people they are only means to reach

    not with computers, people
  35. be respectful

  36. be respectful be humble

  37. be respectful be humble help

  38. be respectful be humble help be honest

  39. always accept feedback without being an smartass no one is

    perfect for the win
  40. listen

  41. listen no finger pointing

  42. listen do not give orders no finger pointing

  43. listen do not give orders collaborate no finger pointing

  44. follow your heart

  45. communities contribute to

  46. share your… experiences

  47. give back to the community contribute show what you learned

  48. code

  49. code events

  50. code events posts

  51. code events posts talks

  52. code events posts talks social

  53. fun!!! have

  54. development code and

  55. no silver bullets

  56. we are not multi-tasking

  57. vs productivity effectiveness

  58. prioritize your tasks and give value for the win

  59. prioritize your tasks and give value personal kanban for the

    win
  60. prioritize your tasks and give value personal kanban for the

    win be agile
  61. get focus and avoid distractions for the win pomodoro technique

  62. no silver bullets

  63. today, we are writing tomorrow’s legacy code

  64. vs maintainability performance

  65. take care of code quality for the win

  66. take care of code quality for the win be a

    good boy scout
  67. take care of code quality for the win be a

    good boy scout be agile
  68. celebrate your achievements

  69. solving problem

  70. challenge accepted!!!

  71. analyze the problem ?

  72. problem decomposition divide and conquer start simple and works towards

    complexity
  73. I’ll put this temporary hack right here…

  74. 2 years later…

  75. Who the hell wrote this code…?

  76. avoid hacks for the win

  77. avoid hacks do not reinvent the wheel for the win

  78. avoid hacks do not reinvent the wheel for the win

    always choose the right tool for the right job
  79. celebrate your achievements

  80. programming pair

  81. so I’m getting HALF the code for TWICE the money?

  82. Our first impression:

  83. Our first impression: - it is DIFFICULT

  84. Our first impression: - it is DIFFICULT - it is

    FRUSTRATING
  85. Our first impression: - it is DIFFICULT - it is

    FRUSTRATING - it is UNCOMFORTABLE
  86. Our first impression: - it is DIFFICULT - it is

    FRUSTRATING - it is UNCOMFORTABLE
  87. do them!!! for the win

  88. tests code quality learning for free

  89. Let’s do some pairing

  90. art programming as Art is about human expression through language

  91. communication code is (that incidentally, also runs on a computer)

    between people
  92. some inspirational quotes

  93. “IDEAS that spread, WIN” Clay Shirky

  94. “We learn from FAILURE, not from SUCCESS! ” Bram Stoker

  95. mission? what is your we all have one…

  96. ? questions

  97. Thanks!!! github.com/android10 fernandocejas.com soundcloud.com/jobs