Why code?

Ejerson Balabas
Dec 20, 2017 · 6 min read

“Computers are immensely un-magical machines.” Nick Bennett

For the past three months, I have been focused solely on learning as much as I can about Java. This experience has greatly increased my appreciation for the value technology can offer. Learning to become a software developer has indeed allowed me to become better at approaching problems. As a reminder to myself and to share what I have learned from going through a Java/Android bootcamp, here’s a list of fifty lessons I learned from the experience:

  1. Learning happens cyclically. First, we make mistakes. Then we learn from them. Finally, we make more mistakes that differ from the last we’ve made as we progress in the path we have chosen.
  2. As software developers we have the lives of countless people in our hands.
  3. Despite feeling overwhelmed or stressed by an error in a program, try to stay calm. The answer will eventually present itself if we persist.
  4. Following coding conventions will ensure that others and my future self will understand the code I created. This is a considerate, useful habit to cultivate.
  5. Stepping back and seeing a problem from a different perspective may help in solving it.
  6. Sometimes the solution is simple, we just like to complicate things.
  7. Being confused is an essential part of learning. Just keep on trying until the logic reveals itself.
  8. Coding is all a matter of practice. Everything is learnable as long as I am aware of what I don’t know and relating that to what I do know.
  9. Don’t jump too quickly to a solution that limits your possibilities.
  10. Taking the time to understand a word within a sentence is more useful than rushing through a given content.
  11. Using a debugger is a more sophisticated, efficient way of understanding what is happening under the hood of a programming language.
  12. Programming languages are capable of immense beauty. It is like poetry.
  13. In some case, sometimes good is good enough.
  14. Sometimes, very different-sounding problems turn out to be similar when you think about how to solve them.
  15. Pseudo code is only useful if I have done my best to remove ambiguity within how I am structuring and articulating each steps. Mathematical symbols and other unambiguous way of explaining abstract ideas will greatly aid in this endeavor.
  16. Often times, helping someone figure out a specific problem can lead to surprising benefits. One of which involves gaining clarity over a given subject.
  17. Developing myself in a way that expand both my logical and creative capacities is important in order to contribute value to others.
  18. Just because there’s no way we can learn everything, it doesn’t mean learning new things is futile or a waste of time. It just makes us aware of how precious our energy, time, and attention is.
  19. Reading about a topic is useful; however, it is more beneficial to work on recalling information. Rather than just rereading contents.
  20. Being aware of what I need to focus on the most helps in directing my attention more effectively.
  21. In general, building apps or software requires one to both converge and diverge the mind.
  22. When things don’t work, it happened for a reason. Then we diagnose it.
  23. Being fully aware of one’s weakness can be both seen as a gift or a curse. However, seeing it as a gift will allow one to move forward and transform those weaknesses into strength.
  24. It is important that I take a break regularly when trying to solve coding errors. Not doing this often lead to wasting my time and energy.
  25. Trying out something without having a semi-solid reason to do so is a waste of time. If I don’t know what is fully happening in a code, guessing at it will only cause me to be frustrated. Step back and try a different approach.
  26. Always communicate as clearly as possible by keeping the other person’s perspective clearly in mind.
  27. Programmers program everyday. Writers write everyday.
  28. It is okay to take a break and spend some time thinking through a given problem.
  29. Creating anything requires one to be okay with messing up and spend enormous amount of time learning new ways to do things in a more mindful way.
  30. Learning Java syntax or any programming language boils down to practicing regularly and in an engaging manner.
  31. Time flies when your app is not working and you’re trying to fix all the errors that you see.
  32. How do you eat an elephant? One byte at a time.
  33. Trusting the process is important when working with a group.
  34. Listening to and making sure I understand what my teammate is saying is very vital.
  35. To save time and energy, it is important to be very clear about what I am supposed to be doing for a given exercise before talking it out with my team.
  36. Getting help from someone is not a sign of weakness, it is a sign that you are open enough to learn from others. Of course, giving up too quickly and asking for help is just silly.
  37. Taking the time to make sure that every aspect of my code is correct would save me so much time in the long run.
  38. Learning new things requires one to be very mindful of the method one uses to retain information. Reading and rereading a book or article is often not effective. Recall, recall, recall. That is the way to go.
  39. When faced with a task seemingly daunting and impossible, remember to remind myself that taking one small step at a time is enough to achieve anything I wish to accomplish.
  40. It is okay if I don’t finish everything I am suppose to do, but it is not okay if I end up focusing too much on something that I don’t have enough time for. Allocate my time wisely.
  41. When building or creating anything, it is healthy to make sure that at any given moment my level of frustration is at a manageable, healthy level. Otherwise, too much stress can lead to drastically lowering my ability to create and focus.
  42. Looking at the overall goal of a specific assignment or project is important. Being too focused on trying to understand the code to the detriment of completing a given project is not good. Therefore, balancing those two considerations can help in achieving a more dynamic approach.
  43. Being kind requires one to be mindful of other people’s feeling. It is important to remain present and aware of what I am saying or doing and ensure that I am not inadvertently hurting someone with my words or action. Kidding or not kidding around.
  44. I need to let go of the idea that being seen as stupid or dumb is more important than learning.
  45. Making a mistake is conducive to learning and being afraid to make a fool out of ourselves is the number one reason for our failure to grow consistently.
  46. I am learning that the clearer a particular idea is in my head, the easier it is to implement.
  47. Relying on my team mate to do their part is an important part of being a member of a team. Additionally, encouraging my fellow developer is equally vital.
  48. Stressing out about what needs to be done does not help. As long as I honor what I set out to do, I should be able to complete the task at hand.
  49. It is important to be mindful of my own perspective. Otherwise, understanding the point of view of another is difficult. Seek to understand so I may be understood.
  50. Minimizing what you focus on will greatly increase your ability to be efficient and productive.

Thank you for making it down here. If you like this article, please give a clap or up to 50 claps, it allow others to discover my writings. Thus, encouraging me to write more. You’re the best! Code on…

Deep Dive Coding

Deep Dive Coding offers bootcamp education that teaches…

Ejerson Balabas

Written by

Love despite suffering, understand despite ignorance, and care despite indifference. Love on…

Deep Dive Coding

Deep Dive Coding offers bootcamp education that teaches skills focused on web & software development. Based in Albuquerque, New Mexico. Powered by CNM Ingenuity.

Ejerson Balabas

Written by

Love despite suffering, understand despite ignorance, and care despite indifference. Love on…

Deep Dive Coding

Deep Dive Coding offers bootcamp education that teaches skills focused on web & software development. Based in Albuquerque, New Mexico. Powered by CNM Ingenuity.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store