Being in New York City has its rewards and one of them is having the opportunity to meet a high profile open source contributors in the iOS development community like Krzysztof. He was in town for his work at New York Times from Poland so I took his one twitter offer to meet folks off of Twitter. While discussion about architecture, design, coding and all the geeky things, I received some good pieces of advice from Krzysztof and below are my takeaways after digesting them:
Finding pain points to save time in the long run. Many of his open source projects are available to help others save time in the long run. Time is money and saving time can also equate to making more money by solving problems more quickly and efficiently.
Open source projects arose from the need to solve pain points in the iOS community.
Open source projects do not necessarily need nice architecture as it prolongs time to approve pull requests. This encourages more developers to contribute without the overhead of architectural decisions. The key is to create unit tests to ensure that old features are not broken and new features are well tested to continue solving problems.
Unit tests are as important as much as continuous code refactoring for any production code. Features are always on-going thus they can invalidate the original architecture or design over a long period of time and unit tests/functional tests make it easier to perform many code refactorings and limit things breaking. The side benefits of unit tests are also identifying bugs even before the code gets into QA’s hands.
Passion is more desirable when it comes to hiring people versus how many open source projects they have done.
Titles are not that important.
Overall, he got me curious on his process from recognizing pain points and solving problems. He is also the kinds of people I love working with since his approach is more on collaboration and helping people grow into great developers. I would also love to make a lot of money doing what I love and work from a city of my choosing in the future.