Today, the dominant approach to software engineering is an imperative one — the best practices have been proven over time. But the world is always evolving, and in order to evolve with it and remain as productive as possible, we need to continue searching for better tools to solve problems of increasing complexity.
In this talk, we'll discuss the tools and techniques of the .Net ecosystem that can help us to concentrate on the problem itself — not just on the intermediate steps (which have likely already been solved). We'll compare imperative and declarative approaches and assess solutions to problems.
We'll also offer examples of how engineers in Grammarly's Office Add-in team use these tools to improve the efficiency of our engineering and strengthen our solutions to the problems at hand.
- A strong believer that computers should do all of the routine work and help people in every possible way, so he advocates automation in all aspects of his work
- His passions in both his professional and personal life are functional programming and programming languages and how combining them can produce dramatically better results when solving complex problems
- He is currently working with the team on the Grammarly Office Add-in to improve its overall architecture and adaptability to the rapidly changing requirements while staying productive and maintaining the correctness of the solutions