Hello there! I'm Kevin Avignon, a seasoned senior software developer in Montreal, Canada. I am passionate about writing efficient, clean, and well-designed systems. In the past decade, I have honed my skills and developed a deep understanding of what it takes to create robust, reliable, and scalable software solutions.
I have expertise in solving complex business and technical problems through various programming languages, including C#, F#, and Ruby, as well as frameworks such as .NET, ASP.NET Core, and Ruby on Rails. I am experienced in leading projects, mentoring junior developers, and developing documentation to ensure that projects are completed efficiently and effectively.
Moreover, I used to be a board member of the F# Software Foundation (FSSF). For two years, I led the educational efforts for our international mentorship program.
Our field moves at breaking-neck speed. Just being content with the status quo will leave us behind over time. Since I've discovered software engineering, learning about new technologies, design thinking, and overall best practices to tackle a problem has always been exciting. Weekly, I've dedicated blocks of time to sharpen my skills through:
- Blog posts
- Technical podcasts
- Books
- Side projects
- Problem-solving platforms
It starts by breaking down the problems into simpler components and navigating the domain space to gain exposure and clarity. I'm not focused on which tech stack to use but on what must be done. This allows me to remain focused on the task and apply my experience and background to solve problems efficiently and create value for the business.
Here are a few examples of me practicing and sharpening my problem-solving skills with data structures and algorithms.
- During my time as a member of the board of trustees for the FSSF, I built a platform to perform matchmaking between mentors and mentees for our bi-annual mentorship program.
- Occasionally, I write about my experiences, projects, and discoveries on my engineering blog.
- I've had the chance to speak at several events, such as to a .NET meetup group (MSDEVMTL) on domain modeling and full-stack development with F#.
- I'm diving into BEAM/Elixir through BlazeMQ (experimental high-performance and fault-tolerant message queue)
- In the past, I had the chance to develop tooling for semantic and syntax analysis and refactoring of .NET code through Roslyn. While at the Google Summer of Code 2015, I contributed to porting NRefactory to use Roslyn instead of FxCop, which was deprecated. I presented a talk to MSDEVMTL on how to leverage Roslyn to make analyzers and code fix providers. During my time at Hypertherm Robotics Software Inc, I spearheaded a suite of tools that analyzed how developers use .NET collections and LINQ APIs.