UI Testing

March 23, 2018

If your app offers UI, a crucial but difficult task before you is UI testing. While you can get away with occasional, informal testing when you first begin, the challenge of UI testing will grow very quickly.

Use a combination of automated and manual testing. Although automated testing will catch the most obvious regressions, subtle problems such as animation and polish issues are much harder to detect automatically.

Typically, larger products will be tested using a three-pronged approach:

  • Automated regression testing
  • Manual regression testing of known flows
  • Living-on coverage, where stakeholders use unreleased software daily

To me, what makes UI testing especially challenging is the fact that it involves unpredictable, fickle, human users. You must allow for subjective appraisal of your UI during testing. Build it into your plans.


March 9, 2018

Tinker. Play. Be curious about something in your spare time, no matter how silly or insignificant. Amuse yourself with children’s toys. Finger-paint. Make silly apps. That’s how you stay inspired.

Take Care of Relationships

March 2, 2018

Take care of relationships. Your family and friends are more important than your code. Caring for your team’s well-being and career goals, and creating a friendly, inclusive environment, will free them to write the best code they can.

NB: I skipped #FridayDevAdvice last week because I was overseas taking care of my sick mother. Nothing is more important than the people in your life. Take care of them!

Hidden Costs of Refactoring

February 16, 2018

Refactoring can help keep a mature codebase fresh. But refactoring can impose a hidden cost when you support multiple releases.

A security patch or feature that you want to cherry-pick to previous releases will not apply cleanly post-refactor. More significantly, your engineers must remember the old design as well as understand the new, to synthesize a patch that makes sense for the older branch.

This is not an argument against refactoring! But keep this hidden cost in mind the next time you hack an old codebase.

Tips for Introverts

February 9, 2018

If you are an introvert (as I am), remember to slightly overcommunicate in your daily emails and chats. What you perceive to be overcommunication is probably closer to the appropriate level expected by others in your team.