How to be a better developer

  • Commit in small and concise chunks. Big commits which touch every single file in the system should be avoided. Break down your big feature into small committable stories. The commit history of your (master) branch should be readable, reversible, and resettable. No one likes to have a big fat merge conflict!
  • Do include tests in every commit.
  • Put on your QA hat and really, really try to break the thing you made. Then write more tests to avoid the found bugs from happening unnoticed.
  • Underpromise and Overdeliver. Programmers usually work under some kinda deadlines. Don’t take on more than you can bite but really deliver a high-quality result.
  • Don’t count on frameworks or plugins. They can have many drawbacks: It’s hard to upgrade and maintain; It’s too complicated for what your need; It has shitty code behind the scene. Often times the pure, vanilla solution works if you are willing to tinker.
  • Don’t let title limit your knowledge. Everything is connected — as a UI designer, you need to know how psychology affects design decisions and be fluent in HTML/CSS/javascript; as a UI developer, you need to understand color theory, user interactions, how to talk to backend or how to create API; and as a backend developer you need to know how users like to use the application, what elements make an application user-friendly. Title is for LinkedIn — for other people to have easier time categorize you — but it should not stop your thirst for knowledge.
  • Learn when to stop learning. I used to be the kind of person who would beat herself up from not knowing everything. It brought me lots of anxiety and self-loathing till I read about the flow from Mihaly Csikszentmihalyi. The concept of flow shows us that we will be the happiest when the amount of challenge is just right. Too much challenge would make us give up; too little would make us bored. Note: if you find this interesting here is the popular TED video and the book.