It is about PHILOSOPHY: culture of a GOOD programmer - Second Edition

It is about PHILOSOPHY: culture of a GOOD programmer - Second Edition

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

July 15, 2016
Tweet

Transcript

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

    2nd edition { 0010 }
  2. Developer fact #1 When I show the boss that I

    have finally fixed this bug
  3. Developer fact #2 When I’m deploying code to production

  4. Developer fact #3 When they me ask if I have

    tested it
  5. It is about philosophy… …culture of a good programmer… @fernando_cejas

    2nd edition { 0010 }
  6. Meet… @fernando_cejas Curious Learner Software Engineer Android Lover Geek

  7. @SoundCloud Android Core

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

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

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

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

  12. 2 There are… types of developers…

  13. introverted Peter Parker

  14. extraverted Tony Stark

  15. 2 There are… types of developers…

  16. ‘solo’ Developer

  17. ‘team’ Developer

  18. learning continuous

  19. accept challenges

  20. be prepare for change

  21. code evolves be prepare for change

  22. code evolves language evolves be prepare for change

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

  24. do not be shy… for the win

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

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

    the win
  27. write code for the win

  28. read code write code for the win

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

  30. expertise?

  31. 2 There are… types of developers…

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

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

  34. try to step out of your comfort zone…

  35. team player be a good

  36. we work with people!!!

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

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

    not with computers, people
  39. be respectful

  40. be respectful be humble

  41. be respectful be humble help

  42. be respectful be humble help be honest

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

    perfect for the win
  44. listen

  45. listen no finger pointing

  46. listen do not give orders no finger pointing

  47. listen do not give orders collaborate no finger pointing

  48. follow your heart sometimes the heart sees what is invisible

    to the eye…
  49. communities contribute to

  50. share your… experiences

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

  52. code

  53. code events

  54. code events posts

  55. code events posts talks

  56. code events posts talks social networks

  57. fun!!! have

  58. development code and

  59. no silver bullets

  60. we are not multi-tasking

  61. vs productivity effectiveness

  62. prioritize your tasks and give value for the win

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

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

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

  66. no silver bullets

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

  68. vs maintainability performance

  69. take care of code quality for the win

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

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

    good boy scout be agile
  72. celebrate your achievements

  73. solving problem

  74. challenge accepted!!!

  75. analyze the problem ?

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

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

  78. 2 years later…

  79. Who the hell wrote this code…?

  80. avoid hacks for the win

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

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

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

  84. programming pair

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

  86. Our first impression:

  87. Our first impression: - it is DIFFICULT

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

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

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

    FRUSTRATING - it is UNCOMFORTABLE
  91. Do not be afraid and go for it!!! for the

    win
  92. tests code quality learning for free

  93. Let’s do some pairing

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

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

    between people
  96. some inspirational quotes

  97. “IDEAS that spread, WIN” Clay Shirky

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

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

  100. ? questions

  101. Thanks!!! github.com/android10 fernandocejas.com soundcloud.com/jobs @fernando_cejas