Follow my social media activity

0

Hi,

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.

Advertisements

Onto finding my dream job

0

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

0

Hi,

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.

Kevin

Goals for 2017

0

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 (www.codewars.com)
  • 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

0

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

0

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

0

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

1

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

0

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.

Kevin

Mobile developer internship

4

Hi,

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 !

Kevin

Software development challenge

0

Hi,

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
  • ASP.NET
  • 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.

Kevin