Chris Castle, a developer advocate at Heroku, leads the discussion with Tim Specht, the co-founder and CTO of Dubsmash, a video messaging application. Tim's involvement with software development stretches back over a decade, to the first evolution of smartphones, when memory management was essential and the new user experiences were being formed. It's become easier now to build applications, but the expectations on quality from users has also changed. For Tim, the two journeys are intertwined: it's not enough to have a depth-first approach to software development, and a baseline knowledge of how to make something computationally efficient aids programmers in building pleasing apps.
The pivotal transition in Tim's understanding of how to build great software was getting better at prioritization. Allowing others to choose strategies that work best under the circumstances allows the entire project to move forward, rather than stalling endlessly to find the most optimal solution. It's important when making a technical decision to not stay committed to the path if it isn't working out. Any bottleneck has two solutions: either you brute force a solution at the expense of time and productivity, or you find a solution which is good enough.
When it comes to building a product, Tim says that it's important to try and embed yourself into the news and events of your ecosystem as much as possible. Following authors on Medium or clicking through links on HackerNews not only tells you of what others are building; it also informs you of the new tools you have at your disposal. Of course, it's ill-advised to jump into a new library, language, or framework, without some evaluation and caution. But community adoption for something new--that is, other companies demonstrating success--is the best signifier for whether you should incorporate it as well.