January 11, 2021

Just like all software, Android apps should adhere to common architecture rules and patterns. Android apps that don’t follow the right architecture tend to become unmaintainable through cluttered Activities and Fragments lacking a consistent design or set of behaviors. Given the importance of good architecture, how does one choose which to use for a project?...

, ,
July 16, 2020

As JavaScript projects become more complex, new tools and practices arise to improve code quality and workflows. In addition to unit testing, static type checkers such as TypeScript and Flow are becoming the norm among professional development teams. Regardless of project size, the benefits of making code more comprehensible while also catching errors during the...

, , , ,
June 1, 2020

Great programmers are rare. Their productivity is 3 times that of an average developer and 10 times that of a bad developer*. The top 1% of developers in the world don’t just write solid code but have important intangible traits. After working with thousands of developers, we have been able to identify 7 qualities that...

, , ,
April 7, 2020

Mobile applications have traditionally been written in native languages. Lately, however, hybrid cross-platform frameworks have been gaining market share. The recent swell of React Native’s popularity has raised the question: should developers use React Native for mobile development instead of full native? In the last 4 years, React Native has grown to a community of...

, , ,
April 5, 2020

Any aspiring Product Owner looking to build a great software product could be forgiven for feeling overwhelmed. A quick Google search turns up a lot of conflicting, dated examples for a product requirements document. People used to follow the Waterfall Model and define everything their software would do at the outset (think bloated Use Cases...

, , , , , , , ,
March 30, 2020

Remember how basic the Facebook status update used to be? Now, that same space contains an array of sophisticated text styling options that let users fully express what’s on their minds. This evolution has been driven by rich-text editors like Quill, which allow visitors to fully customize their content: from embedding photos and videos to adding...

, , ,
March 28, 2020

Every new developer learns the following core principles of software engineering early in their career: DRY (Don’t Repeat Yourself) This acronym encourages developers to avoid code duplication and focus on configurable and reusable components. KISS (Keep It Simple, Stupid) Always aim for simplicity in your design by avoiding over-engineered solutions. YAGNI (You Ain’t Gonna Need...

,