How can I be successful in 2020?


My definition of success for the start of the decade is a complex answer that deserves my utmost attention. Why is it a complex topic? It’s composed of many layers that my life revolves around.

Stepping out of the comfort zone

First, I see that change is something that I’m comfortable staying away from and that’s exactly what I’m going to work on in 2020. Getting comfortable with change.

New relationship dynamic

This year, I’m moving in with my girlfriend and this is going to change the dynamic of our relationship. I think as she says, it could be hard, but you know, that’s what relationships are all about. It’s about commitment and hard work and I’m all ready for that. We’re ready. We got this.

Consistent Fitness Habit

Another thing concerning change is my physical training. It changes my life as I have a “less” time to do dumb shit. I mean, I stopped going to the gym because I hurt myself somehow and even when I’m back to being healthy, I didn’t go back and I hate the fact that I’m not going. The problem is, I’m not changing my situation. I get comfortable with the lazy lifestyle and that’s wrong. Wrong because it isn’t what I want to do and I know I can be active regularly.

My vision of success for 2020 in fitness is to maintain a regular schedule where I not only go train 4 times a week but I also regularly replace taking the bus with walking. Getting in more steps in my day will contribute to making my health better.

The issue with walking is that it takes more time than simply taking the bus and that’s ok. There’s a simple way to manage this: waking up earlier. Yes, that’s another thing that will contribute to my vision of success in the year. Waking up bright and early, with the thirst for 🩸.

Personal Growth

We’re waking up to contribute to a specific goal. That’s a fact. For me, this year it’s all about gaining the growth mentality.

Waking up earlier in my day gives me more control over my life before I relinquish some of my control to my employer during the day. I know how I want to grow in my tech skills, I’ve established a plan for the year already.

  • Become a Machine Learning Developer
  • Breakdown complex problems and evaluating the trade-offs of the components to get the “best” overall system
  • Getting a more in-depth understanding of algorithms and data structures
  • Develop a better to craft beautiful user interfaces

Diving in the AI hype

Artificial Intelligence. This has taken the past decade like a wildfire. It used to be science fiction and now it has truly impacted so many spheres of our lives.

I’ve been fascinated by it for years but never took the leap of faith. I did a small project in ML as a capstone project during my undergrad but it’s been a while. This year, I’m all in. Out of every tech skills that I want to grow, ML is the one I’m doubling down on.

My vision of success here is to complete the two certifications I’ve found on Coursera. The two are given by Andrew Ng and they have tremendous reviews.

But just learning is enough. I want to apply the concepts I’m getting to specific scenarios so I can understand their meaning. To that end, I’ll go over old competitions on Kaggle so I can also use the notebooks and scripts that other participants have shared in the past.

All those are just educational. I want to do cool stuff with ML. To that end, I’m going to combine a passion of mine with AI; Super Smash Bros Melee. I have seen some people who built a smart agent to play the game inside an emulator. I want to take my crack at it while I’m learning more about ML.

Designing large-scale systems

I’ve got expertise building little projects from the ground up, but large-scaled projects, I do not. And that’s totally fine. This is what brought me to level up my skills to design intricate systems.

Proper design choices and evaluation of trade-offs are critical to helping big companies such as Netflix or Facebook scale-up. And that’s something I want to get more experience in. With that in mind, I’ve found a few resources online that should prove to be beneficial:

Embracing data structures

In any field, in order to be truly an expert, you need to have a solid grasp of the fundamentals. To that end, I’ve decided to take on a certificate on data structures & algorithms. If you’re interested to do it also, here’s a link to the course.

More of a swiss army knife for full-stack development

Something that I appreciate is UI but my skills aren’t where I’d want them to be. I’ve purchased a book on how you can drastically improve a UI by making a LOT of small adjustments. I’m halfway into the book and it’s composed of so many good tips. With the book, I’ll combine FrontEndMasters and porting my blog from WordPress to my own server. I feel that would be enough for me.

Improvement schedule

I’ve concluded that waking up at 5 am and spending 1 block of 120 – 150 minutes in the morning on a weekday and 2 blocks of 135 minutes a day during the weekend would get me closer to my goals. I get time to get better at my craft. I get the best hours of my day for myself. I have time in the morning to drag my ass to the gym for 45 minutes and get a shower and then work.

Failure is the best teacher

In the end, the purpose is to grow as a developer. I know I’m capable and I can see the potential. Like many, I know exactly what to do, but fail to put in the time and the consistency because I’m afraid of failure.

The thing is, failure is the best teacher we could ever hope to have. Without it, we can’t understand the sacrifices that must be made for success. When we finally succeed, we know exactly how we got there and what it means to remain successful.

Once we achieve our goals, it’s not the time to become lazy and stop doing things; it’s actually the time where you got to put in more work to secure your success and make sure you stay that way.

I’ve experimented with failure in the past and it has taught me a lot. I know now, for instance, how to properly market my skills for work and which skills to develop for work. Knowing this is super powerful.

Another thing I’ve learned is how to select my work environment. Finding a place where you should be is hard and complicated and also, there’s a luck factor involved. I have experience with bad work environments.

For instance, I was hired to help with a contract and after 4 business days; they realized that teaching about their architecture would be too complicated and even though I had contributed already to their app, there were a ton of things I didn’t know that were crucial to them. In the end, they realized that they brought me inside their project for too late in the game as they were already late in the delivery and things had to go really fast. For me, those are things to know before you set out looking for new people to hire.

With the failures I’ve experimented in the last decade, I know far more about the tech industry and what kind of people I’m looking for at work. I’ve been at my current workplace for 1.5 years and I’m really happy that I found this place! The people are great. The challenges are awesome!

Building wealth

Let’s talk about finances. Also a part of the vision for the start of the decade. Being able to save over 60% of my net pay per month will a determining factor for when my girlfriend & I purchase our first home together in a few years. The purpose here is to have TONS of savings after the purchase so we don’t need to be in debt or anything of the sort or feel trapped.

One last thing about finances. I want to develop a new stream of cash. The size of it doesn’t matter as long as I put in the energy to develop and care for it. Multiple things could be done but here are my main focuses

  • Creating a software development course on Udemy
  • Writing my first tech book and self publish it

For those who’ve stuck with me until the end, I appreciate you!

Thanks for reading this and have a happy new year!


Follow my social media activity



Quick post, I promise!

I update my blog and you can now follow me on the social networks I’m active on 🙂

I created a YouTube channel to share my experience and knowledge, but mostly, to document my experiences as I’m trying to pick up new skills and maintaining acquired skills.

On my Instagram account, you will be able to find code memes, motivational posts, activities I do on my free time (sometimes not even coding related), events (i.e. hackathons), and so on and forth.

On my GitHub account, you will be able to find all the code I’ve ever written and be aware of my current projects for the year in process.

Sometimes, I use Twitter, but mostly to talk technology subjects. You can come talk to me with no fear; I’m quite nice in fact 🙂

Lastly, my StackOverflow account. This year, I’m top 20% overall of all the users you can find in Stackoverflow (only those with a reputation of 200+ can be ranked). My goal this year isn’t to be like top 5% overall or anything. What I want to do is to answer more questions about the things that I do know and try to provide the better content to the community that has been such great thing in my life. I really love how the community grows and how everyone truly wants to help anyone in need!

That’s it 🙂

Follow me and I promise an interesting year for 2019 😀

Kevin out.

Onto finding my dream job


Hi readers,

It has been way too long since my last post and I’m truly sorry.

I’ve been reflecting on my year of 2018 workwise and some part of it wasn’t so fun and I wanted to share my experience. I have had a total three different employments that year and I went on 35-40 interviews total (phone interview, online coding test, in-person meetings) in 6 weeks. It has been crazy and tiring, but everything work out for the best.

When the year started, I was on a consultant contract, but I really didn’t like it. I was brought in to maintain and add features on a Silverlight application. I didn’t feel challenged and that is what I look for in an employment. I helped them sort it out and helped improving the hiring process by designing a document designed to determine the strength of the candidates and the limits of their technical know-how.

I found an interesting job perspective in a Montreal startup where I was hired as a back-end .NET core developer. On my first week, with the two other new hires, we were asked if one of us wanted to learn and ramp up on React.js & Redux to replace the current two front-end consultants. I decided to become a front-end developer instead and started learning. Since I had no knowledge, I was a bit too reliant on them and that was because I felt out of my depth. In retrospective, that wasn’t the best of decisions. Because I had software engineering and web experience, I then became a full-stack developer, creating the endpoints on the database and showing off the data in an appealing fashion for the end-user. In the end, it didn’t work out. Things happen, it’s life and that’s ok.

By then, we’re in the summer of 2018 and I’m looking for a new place for work after my contract was over. And I found my dream job at Robotmaster. We’re in the field of robotics and we provide an interface to seamlessly integrate offline operations such as programming, simulation and code generation. We deliver error free programs for your Robotmaster is the ideal off-line programming solution for all applications that require CAD/CAM for robots including: trimming, 3D machining, deburring, polishing, welding, dispensing, grinding, painting, etc.

At this job, I found people I can interact with and see as an extended family, whenever I’m not knowledgeable on a given topic I’m assigned on; we’re given the time to grow and learn. That’s actually the key point I love about this opportunity. We can grow in anyway we prefer. I’ve been focused on WPF development and algorithms but I’m thinking of learning the ropes of DevOps in 2019.

Sometimes, we may end up in places we don’t expect to be and that’s perfectly fine. What I’d like to you to remember from my post is to re-evaluate where you are right now and truly ask yourself if you love what you’re doing. I think we owe it to ourselves to love what it is that we do since the work is such a big portion of our lives; it has to resonate with you, otherwise, there’s no point with investing all that time.

Kevin out.

2017 successes



I’m starting the year by taking a look back to last year. A lot of things has happened  and right now, I’m looking ahead for things to come. Many things happened to me. I’m trying to sort them out.

January – August 2017

Those were my last months as an undergrad student in software engineering. I’ve finally graduated. This was a great moment for me ! I was looking forward to it for the past four years !

I’ve had companies tried to recruit me, for instance, Amazon & G-Research. That felt amazing. The thing was that because of personal reasons, even though the opportunity, the tech stack and the location would have been great reasons to relocate, I couldn’t for personal reasons. Maybe in the future, if I have the same opportunities as I once had, I’ll reconsider if those reasons aren’t an issue when they come back.

I’ve got my first job as a software developer in a mobile games studio in Montreal. I was hired as a tools programmer. Ever since I got into software engineering, I wanted to get into the video games industry. I’ve started there in May and I ended things in the last week of September. I wasn’t as passionnate as my peers concerning video games. That much I’ve seen by spending time with them. I didn’t play games on my free time. I wasn’t motivated by my job as much as I wanted to be. I appreciated the time I spent there; it helped me to grow as an engineer, all thanks to the role I was given and my mentors.

August – December 2017

I decided to get into a consulting engineering firm. As a consultant, I’m acting as a programmer analyst II at CAE. I’m mostly working in C#. Within the responsabilities of the role, I feel more empowered by my job than ever. I can now coach interns by answering their questions or helping them through debugging whenever they need help. I was also ask to help for interview process with interns. I’m also helping my team to build their coding standards for PHP & C#.

I’ve decided to get more serious about giving back to the community. I’ve started a C# book for beginners developers. They’ll get to see the fundamentals and build a few projects that lets them grow into their new found skills.

I’ve also decided to move outside of my zone of comfort. In order to do so, I’ve decided to get into Golang and Python in 2018. Since I’m interested by AI & ML, I think it’s the perfect opportunity to get started in Kaggle competitions in 2018 and also complete the Data engineering on Google Cloud Platform I’ve purchased in December. To get to learn about Go, I’ve decided to take my passion of basketball and make it useful by building a model that can generate a potential winning bracket for the NCAA March Madness.


Goals for 2017


Hey guys,

I’ll start by wishing you readers an happy new year. Lots of things are changing for me this year. I’ll go a quick review of last year

  • I was a full-time intern at Genetec working as Software Developer from Jan to April
  • I gave a tech talk in my local .NET meetup concerning F# and an introduction to functional programming
  • I was a part-time intern at Genetec working there as a FP R&D software developer from May to December
  • I was in the Google Summer of code program for a month before I got too sick to continue working on the project
  • In the fall, I wanted to push forward AugmentedTactics with SmartTactics using F#. The project turned out to be too big for the 3.5 months so it became a tactical role playing game framework (More on this in a later post).
  • I was a top 15% user of stackoverflow (overall top 28% users)
  • I became a 5 Ryu in C# on the codewars platform (
  • I got accepted in the Artificial Intelligence Nanodegree program (AIND) (More on this in a later post)
  • Got an interview with both Amazon and Twitter

This year, I’m finally finishing my undergrad in software engineering that I’ve started in the fall of 2013. So I’ve got a lot things to look forward and to think of such as possibly pursuing my studies at a higher level (Master’s degree in software engineering for instance). So I’ve made some kind of bucket list of things I wanted to achieve this year.

  • Get an interview with Google (checked)
  • Become on the proficient level on the codewars platform (4 Kyu)
  • Get a paper published in the CODE magazine (.NET magazine)
  • Do one last hackathon before graduation (doing McHacks 2017 – More on this in a later post)
  • Complete the AIND program
  • Get to know the Python, C++ and Haskell/Scala languages
  • Complete the Google Summer of Code 2017 program
  • Use my TRPG framework and build an AR prototype with it
  • Be a top 20% overall on stackoverflow
  • Write at least 30 posts on the blog
  • Visit a new country
  • Learn a new instrument (been dying to learn the trumpet !)

Well that’s it !

Kevin out.



GSOC 2015 : From NRefactory 6 to RefactoringEssentials


Hey guys,

In spirit of my withdraw from the Google Summer of Code program this summer, I thought I’d do a piece of the project I successfully completed last summer. So what brought me to the program last year ? I spent a few weeks on working on a new thing in .NET called Roslyn. For my internship, I had to develop design semantic rules that my senior programmer was giving me. The first one I had to do was detect when developers were using “synchronization primitives” such Mutex, Monitor or Semaphore. Internally, they had developed something else to help better avoid dead/live locks. Acting this way, they could refactor previous projects and make sure to use their internal structures.

That one took me a while because there weren’t any useful (in my opinion) links that I could find on the subject (Winter 2015). The one I am most fond of was one where my senior found out that they were many times developers were making syntactically and orthographic errors. My job was to develop an algorithm which could pinpoint those mistakes in either variables/members/parameter/method names or even in comments. Part of my algorithm to match the errors was to used a dictionary having all the possible errors for a word as values and the correct word as the key. Doing so, I had part of the solution to develop the refactoring in case my code analyzer picked up anything.

So, back to the GSoC 2015 program. I saw the Mono Project project, NRefactory. The NRefactory library defined code issues and code actions which are basically code analyzer and code fix providers in Roslyn. The library was implemented using FxCop. But there were more traction at the time towards Roslyn. The idea behind the project was to port NRefactory 5 to version 6 using the Roslyn API. Code issues were define and the task was to reimplement them in code analyzers and define a proper code fix provider. Here’s below a non-exhaustive list of what I’ve implemented over the course the summer.

  • Rewrite if return to a simple return
  • Remove redundant code : invoking ToCharArray on a string
  • Remove redundant code : empty finally blocks
  • Remove redundant code : useless parameters in a method declaration
  • Making a member static once I’ve seen that value is never changed

So here’s a link to my GitHub repo.

Kevin out.



GSOC 2016 : The end


Hi guys,

Well because of health problems, I won’t be able to meet the expectation for the midterm evaluation coming next week and I will have to step down from the program. It pains me to do so since the project was taking me out of my comfort zone and forcing to adapt to a new stack and way of thinking. I thought that such a project was a necessary stepping stone for my growth as an aspiring software engineer  to be (graduation in July 2017).

Next year, I will apply again and with luck, my health won’t be an issue this time around !


Euler problems


Hi guys,

Late post before I go to bed. I don’t know if you ever heard about Euler problems ? It’s a series of challenging computer and mathematical programming problems. They require some thinking in order to be solved. The reason behind solving them is to acquire better skills at problem solving, which is something that I yearn for. They provide sometimes unusual context in which the mind of the solver will be challenged.

Not only it serves as a way to improve problem solving skills, it’s a tool being used to learn new abilities such as acquiring skills in other programming languages that one may not be familiar with. In make sense to first solve the problem with something that you’re familiar with and then move on to something a bit less familiar. Starting this summer, I will deepen my knowledge in C#, C++,  F# and Java. In the same process, I will also provide solutions in languages I haven’t yet touch :  Lua, Python & Scala

I invite you all to try them by yourself, they’re quite fun to do !

You can take a look at my progress here.

Kevin out

GSoC16: First coding week


Hey guys,

I won’t say yet again that it has been too long because it really was. I’ll try to keep my blog updated weekly concerning a program I’m doing with Google this summer.  It’s called the Google Summer of Code (GSoC). Basically, it’s meant for students to be able to contribute on an open source project with a community listed for the summer while being able to make a few bucks for the summer ($5500 USD).

Why am I doing this? Well, first, I want to expand on the knowledge I currently have. Being in computer science and software engineering, we can never stay in the same place for too long, we got to keep moving forward. By now, you should know that my background is in .NET. I completed three internships in .NET. Something that you may not know is that I completed the GSoC program last year. I had to help the Mono Project to update their code analysis and refactoring library which was using FxCop at the time. Being that I had experience with the Roslyn API, which is a compiler platform, enabling users to develop rich code analysis rules and code refactorings for .NET languages (C# & VB.NET).  So last summer,  what I had to do was to either find old code analysis rules done with FxCop and refactor them using Roslyn and also add a code fix provider matching that rule or implement new ideas that the project owners had in mind. A code fix provider is basically a fix to the “bad code” that was picked up by the code analyzer. For those interested to get to know more about the project or even use the library as an extension to their .NET solution, please take a look there.

Working on that project was a great opportunity as it lead me to my first remote job. Well actually, this is not a job, it’s considered as a student activity. We don’t have a steady wage. There are different phases and if the student passes a phase, he/she gets paid and is allowed to continue working on the project he/she was assigned. So basically, yeah, my first remote job experience. At first, it was difficult to be able to set time aside and focus on working on my project by own at my home or in coffee-house. After a while, it kicked in and I think I did pretty great since I was able to finish my work !

For this summer, I’m completely outside my comfort zone. I have to work with C++ in a Linux Ubuntu environment in order to develop a Telepathy Connection Manager for the Ring protocol. Basically, Telepathy is a real-time communication framework used by clients for instant messaging or video chats. Working with Telepathy and D-BUS, an Inter-process communication system,will be able to communicate with both phones and computers to enable two-way communication.

Right now, I have to do my proof of concept showing that we, at Savoir Faire Linux, are able to communicate by sending text messages back and forth. From that point, it’ll be easier to work on video chat which is far more complex!

Kevin out.

My first hacking experiences


So lately I’m been off the blog and I apologize. I’m still an it engineer student, but sometimes, I feel that we learn much more on our own than just hitting some books and doing tutorials like making a simple UI. Don’t get me wrong, I love studying and what I do in school, but I see that I learn much better and retain the information for a longer period when I try to get it by my own.

What I’m been doing lately is hacking. Hacking is such a strange word for what I did. When I say hacking to people, they then start thinking of me, behind a computer, trying to get into a bank account or something like that. I did hacking in an hackathon which is, in a few words,  an event in which people collaborate to develop a software, this include people like programmers or sound designers. Hackathon can have a theme and teams must follow this theme while they’re creating their software and sometimes, it’s open.

Why do people go there ? It’s my personal opinion that there’s no better to upgrade your skills and validate your current set of skills. During an hackathon, you need to get your hands dirty, you need to get creative, you must be wired into your software and don’t let too many things distract you from your goal.  Usually, you’re never ready for the theme or the given subject, and that’s the fun in it. Why would we want to go there and not challenge ourselves? That’s exactly why I went there. To have some fun, but mostly, to challenge myself.

So yeah, I did challenge myself and you know what? I completely hit a wall. And it was really fun! Don’t get me wrong, I don’t like losing sleep for nothing because yeah, hackathons are not long usually and you must dedicate your entire time to make sure you meet the deadline. Exactly like the way pros would handle a client project when they’re getting closer from the delivery date.

For my first hackathon, I had to make a game based on the theme “What do we do?”. So, my team and I came up with this game where users (4) would have to eat to stay alive or otherwise they would die. Food are separated in two categories: Healthy and fast food. Fast food increases your life and score faster, but it makes you slower and vice versa with healthy food. That’s not the fun thing about our game. There’s this AI, a ninja which happens to be a bear (we found the idea funny and stuck with it) which can attack different kind of players in the game. Sometimes, the attack won’t occur. Most importantly, users have the ability to call him to attack another player if they get to a certain amount of points before the end of the game. This project was not completed on time, due to integration issues on the end, but was a fun project. We met up later and continued to work on it and it’s way to be completed,

My second project made me learn Android development under 24 hours, which was not particularly easy from the get go. Having prior experience with Java made it just a tiny bit easier, but I wish that I would have made my project which what I already knew (Windows Phone 8.1). But I went there to challenge myself and learn new things so I’m not going to complain.

What I want you to keep in mind is that hackathons are a fun thing to do, at least once. They give you a tremendous experience about what’s going on in the outside world.  You have to consume information really fast and perform to the best of your abilities and even beyond that to get things done. More than that, they help you to have a realistic vision of how you have to manage the development of a project under a minimal amount of time. Basically, you’re going to have to lay down core fundamental things that have to be there, be realistic with your set of skills and make sure everything that needs to be there there before you start adding unnecessary stuff.  For myself, hackathons opened my eyes on some things and mostly, on the way I work on my projects. What I remember from all this, my best work is not done when tired. I took a few days and went over my work to correct many mistakes that I made.


Mobile developer internship



I’ve been out for a while like I said in this post… I got erased somehow and I decided to re-write it.

So basically, I was saying that I found this new internship as a mobile developer in a .NET company ! It is a third-party Microsoft company which delivers windows phone 8.1 and WinRT (Windows 8.1). More than just this, they do cross-platform development using Xamarin to create Android and iOS apps with C#. See, this is a great language ! I really do love it !

I’ve been busy from catching up with everything I have to get to know to be efficient at my new job. So I put aside my blog but I’m back and here to stay !

More than this, I mentioned in that post that I was currently working on y first windows phone application. During the development, I did a few mistakes, which is acceptable since it was the first time I was doing an app. But there are things that I learned along the road so those mistakes are less likely to happen again !  I’m going to create a blog post which will take us through the app (LearnYourWeather) which allows you to get the weather of a selected city !


Software development challenge



Yeah, it’s me again ! I’ve been missing writing here, so tonight, I’m going to write more than usual ! During the last few days, I’m been surfing the web and I found something quite fun to follow. There’s this woman, Jennifer Dewalt, which was an artist before. Well, it’s my belief that once you’re something, you can’t really say that you’re not anymore even though you don’t practice it. So let’s say she’s still an artist. That’s not the point. She was into programming but had no background. She decided that reading books or going to boot camps wasn’t her thing and did something else entirely.

She gave herself the challenge to program 180 web sites in 180 days. So basically, 1 web site per day. She started small, using HTML5 and CSS3 and then, as she got more comfortable, started using things like Ruby on Rails (Framework derived from the Ruby programming language) or Backbone.js (Framework derived from the javascript). You can read more about it her blog .

So, it got me thinking. Yeah, I do have some programming experiences, but I haven’t been around for that long and there is so much that I don’t know that I can wait to get to know! Basically, for the moment, I’m really into mobile and web application. I’ve thought about to do 100 days challenge in which I do one application per day in which I’m trying to get better with

  • WinRT & WIndows Phone 8.1 +Universal apps
  • Cross-platform development with Xamarin.Android
  • AngularJS
  • Javascript + Backbone.js

I haven’t pick out the exact day when I’ll be doing this, but I will mention it soon (February maybe). For this challenge, what I am going to do is link every project in my GitHub acocunt. But, I won’t go through every project in this blog. Some, which I’ll try to pick out in order to make most out of the learning experience, will be explained.