BLOG

records of a software developer.

Red X on Build Node

I jumped on Visual Studio one day, into the Team Explorer, and open up a project to find that my “Builds” folder that holds all build definitions was unavailable. Immediately I assumed that the build server was likely down. Time...

Read More

CTRL + ALT + DEL in RDP

When working in RDP, there is often the need to send the good old “CTRL + ALT + DEL” when that process locks up, or perhaps you simply want to go to the option screen to change your password. When...

Read More

Programmatic Impersonation

It is often a requirement in your web application to run with impersonation on. This ensures that the users credentials are directly related to whoever is logged in. However, sometimes you need access to a local file system in which...

Read More

Quick Multi-Threading Example

In the past I often looked at Multi-Threading as requiring more time to take advantage of. Recently, I took advantage of multi-threading in its generic form (not using strongly typed classes inheriting from the Thread). I found myself in a...

Read More

Visual Studio 2008 Locks or Freezes in ASPX

I recently found myself upgrading my Microsoft Office environment from 2007 to 2010. I imagine that a number of people have already begun or will begin this process of transitioning in the next several months. Unfortunately, upon completing the full...

Read More

Config Files & Ampersands

Sometimes you have the requirement to use an Ampersand within your web.config or app.config file. It may be something like storing a URL in an Application Setting, like the following example: <?xml version="1.0" encoding="utf-8" ?> <configuration>   <appSettings>     <add...

Read More

JavaScript Extensions & JQuery Utilities

Some people cringe at the thought of writing JavaScript. A JavaScript colleague of mine says this to those people: “If you hate JavaScript, then you’re doing it wrong” (Dirty Steve). I can honestly say that I use to write JavaScript...

Read More

JavaScript KeyCodes and Events

When using JavaScript to detect key events in a browser, you find yourself constantly looking up keycodes for different keys. I found this list that contains a decent amount of the keycodes: http://www.cambiaresearch.com/c4/702b8cd1-e5b0-42e6-83ac-25f0306e3e25/Javascript-Char-Codes-Key-Codes.aspx The nice thing about this website is...

Read More

Client Side Table Sorting in JavaScript

Table sorting is a very common polishing feature that you’ll see for most tabular data. In ASP.NET you get functionality with this out of the box with a control like a GridView, but requires a full postback just to sort...

Read More

JSON Serialization maxJsonLength

In a number of situations, passing JSON objects between server side and client is a dream come true for developers. It makes integration between the two worlds quite nice. However, sometimes those JSON objects can be quite large in a...

Read More

ABOUT ME

A little about me.
Image

“ I do not fear computers, I fear the lack of them! (Isaac Asimov) ”

Travis is an accomplished Software Developer and Architect specializing in web solutions with extensive experience in the development life cycle and process. Solutions are composed by Travis with a high degree of critical and strategic planning to ensure that security, adaptation, scalability and reusability are not lost. Through the use of the latest technology, solutions are completed with a high degree of professionalism and competence while providing quality.

Name

Travis Gosselin

Twitter

@travisjgosselin

“In all the work you are doing, work the best you can (Colossians 3:23a).”

EMPLOYMENT

My Experience.
SPS Commerce - Software Engineer - January 2016 - Now
Principal Software Engineer, www.spscommerce.com

SPS Commerce offers as SaaS platform for seamless integration and EDI between retailers and suppliers (trading partners). Once on the platform customers can take advantage of products from fulfillment, sourcing, assortment, and analytics. As a Principal Software Engineer on the Analytics development team we build applications to drive the retailer / vendor in category management processes and insight using the latest technology and cloud infrastructure. Day-to-day involves architecturally designing a pluggable analytics framework that allows for client specific customization, that is both scalable and repeatable integrated into Amazon Web Services. Agile processes, automated testing and continuous delivery are essential components to its success.

Pluralsight - Technical Author - September 2013 - Now
Author for Developer Training Courses, www.pluralsight.com

As a slightly new chapter in my career, I took the opportunity to become a published author, and began building hardcore developer training material and videos for the popular "Pluralsight" website. This was a new type of challenge for me that I enjoyed very much, and the Pluralsight author community were very welcoming and helpful.

I continue to work on new material and content as a subject matter expert (Author Profile).

•Development of all aspects of course content including outline, flow, testing material, demos, and presentations.
•Acted as subject matter expert and technology specialist for course design.
•Narrating and editing of all courses.

COURSE RELEASED: ASP.NET Bundling, Minification & Resource Optimization
A complete look into the bundling and minification framework available in the ASP.NET web optimization library. Learn how to efficiently optimize your website resources and assets without comprising the way you want to develop. ASP.NET makes bundling and minification incredibly easy and leaves no reason not to ensure your web application is fully optimized.

ToolBox Solutions - Architect - July 2012 - December 2015
Senior Solutions Architect, www.toolboxsolutions.com

As ToolBox took a more active role in leading the Category Management industry with the revolutionary web software we had been building, I began in the lead role in architecting a re-usable, customize-able and distribute-able Web Reporting Framework for consumption within the companies own multiple development teams. The challenges in this framework were quite different than most, with the development of custom virtual pages, embedded resource dependency manager, and several other deep ASP.NET customization’s to ensure this product would be very easy to distribute and customize. This product would soon become ToolBox’s flagship product, and bring faster data insights to the customer like never before with development times cut in half. This would be the first of a few key innovative products, in which I continue to act as Senior Architect to today.

•Development of re-usable, customize-able, enterprise reporting framework(s)..
•Core feature development in .NET 4.0, 4.5 with C#, SQL Server 2012..
•Use of latest technologies where possible to bring the development and customer experience to a max..
•Administrator for TFS 2008, and migrations through to TFS 2010 and TFS 2012..
•Development of Technology Roadmaps for the dev team(s)..
•Architectural designs from Client side frameworks such as Backbone, AngularJS, Knockout all the way through the Server Data Access Tier including Web Services, Web API, MVC, WCF, and Entity Framework..
•Developed and coordinated integrated development team code reviews..
•Introduced branching and merging strategies in TFS 2012 for supporting multiple active release versions of an application..
•Continued work as apart of the companies Innovation Team for Research & Development..

FRIMP - Developer - January 2009 - August 2013
Contract Developer, www.frimp.me

FRIMP is an online networking and social dating web application designed to be fun through a series of small games. Members create FRIMP games and invite people to play for a chance to win a date with the prize Fringle player. The entire experience is brought to the players through a fun interactive interface that resembles a similar style to existing social networks.

•Lead contract developer for web application architecture, design, and implementation.
•Implementation of highly interactive interface in HTML and JavaScript backed by ASP.NET.
•Heavy JavaScript and single-page application architecture and design patterns.
•Integration with FaceBook Graph API for marketing and socializing.
•Highly service oriented architecture ready to scale horizontally.
•Agile and Kanban style development processes used.

ToolBox Solutions - Developer - May 2009 - July 2012
Senior .NET Developer, www.toolboxsolutions.com

ToolBox Solutions are very good at delivering high-quality analytics that meet any reporting need. Clients like Loblaws, Petro-Canada, Nestle Waters, demanded the highest quality work in the least amount of time. Reporting systems were built quickly and efficiently in a small team scenario, which allowed each team member to be adaptable and step into anyone’s shoes in a moments notice. Precision and performance was also a requirement as some reporting systems involved working with Billion’s of rows of reporting data all driven from a SQL Server architecture.

•Development of corporate reporting system containing billions of records of data.
•Development of core features in .NET 3.5+ and C#.
•Development of enhanced client features developed in JavaScript for maximum client side performance.
•Development and support of Sharepoint sites, and automated installation process.
•Created database architectures and designs in SQL Server 2005 and SQL Server 2008.

Process Driven - Developer - October 2008 - June 2009
Intermediate .NET Developer, www.processdriven.net

Process Driven are experts at building feature rich internet applications which are user friendly and fulfill business needs. They leverage client side scripting toolkits to animate, minimize download times, load features on demand, connect to live data sources, create smarter controls, give better user feedback, and provide a visually compelling user experience.

•Development of corporate reporting system containing a full feature set of exports, customizable parameter selections, and performance tuning for maximum experience.
•Development of core features and enhancements using .NET 3.5 and C#.
•Development of automated application to create specific vendor files on a weekly basis for over 150 different vendor types.
•Customization of vendor Sharepoint sites (programmatic use of WSS 3.0 and Sharepoint 2007).
•Maintained and supported Microsoft Team Foundation Server (TFS) to allow for a secure code in a multi-team environment.
•Created database architectures and designs in SQL Server 2005.

Multiplied Media Corporation - Developer - December 2006 - October 2008
.NET Developer, www.poynt.com

MMC’s core development pertained to building highly scalable local search clients available on instant messaging clients and portable devices. I worked as part of a highly agile team that used the latest Microsoft technologies to support the development of “Poynt”. Responsibilities and contributions to the team included:

•Development of core features and enhancements to the system using .NET 3.0 and C#.
•Development of administration system for deployment with the platform using ASP.NET and AJAX Extensions.
•Consumption of external XML data to provide seamless integration of live data.
•Dynamic virtual mapping technology scripted to allow integration of 3D Maps with live data.
•System made 100% scalable via the use of modules broken down using Windows Communication Foundation.
•Maintained and supported Microsoft Team Foundation Server (TFS) to allow for a secure code in a multi-team environment.
•Upgraded TFS to 2008, and scripted continuous integration tasks, automated builds, and deployments via MSBuild and Microsoft SMS Installer.
•Created database architectures and designs in SQL Server 2005.
•Developed .NET User Group web solution created with ASP.NET and AJAX: www.northoftoronto.net

BT Web Design - Owner / Developer - March 2006 - July 2008
Web Developer, www.btwebdesign.ca

BT Web Design’s core business involved the creation and hosting of small business and personal web solutions. As the core developer of BT Web Design, solutions and architectures were all implemented by myself in a fast paced iterative cycle. Most often sites were developed using open source technologies including PHP, MySQL and JavaScript.

•Responsible for end-to-end iteration with clients of premium web solutions from concept to implementation.
•Maintenance and support of web servers and applications to the client.
•Cost analysis, benefit structure outline, and alternatives provided and evaluated to the client.
•Solutions and architectures implemented using PHP, MySQL, JavaScript, HTML, CSS, XML.

Georgian College - Support - May 2006 - August 2006
Library Commons Navigator, www.georgianc.on.ca

As a Library Commons Navigator I was responsible for handling the first level of tech support at the Georgian College Library. This included many responsibilities from customer care to technical support.

•Support and troubleshooting with wireless network infrastructure.
•Administrative management of Georgian College passwords.
•Application and customer care support to staff and students.
•Rollout of new PC’s to replace existing legacy devices.

Overview

My employment experiences range from consultation and contract development to corporate and enterprise architecture. No matter the the work, I always enjoy the challenge and opportunities that comes with working on new software solutions.

My experience has mostly taken me around the .NET technology world. I have spent a great deal of time architecting, building, and deploying applications in .NET. As such I am very familiar with most related and supporting technologies (ASP.NET, JavaScript, HTML/CSS, WCF, SQL Server, etc). I have done several other technology tours into PHP, MySQL and other open source technologies.

“Many hours of work, thousands of lines of code, a result!”

WORK

Examples of my work.

Customizable Reporting Framework

Platform that was built and designed to be highly customizable for creating report based solutions for medium to large retailers. The framework could be stood up through pure configuration, or could be easily adapted to suit the needs of a client.

See more

Benchmark Auditing

Single page application designed to allow for manual auditing and comparison of planogrammed shelve sets of a retailer. Auditors could easily and quickly identify any issues in a given store, and record that information directly into an automated report.

See more

PowerPoint Presentation Generator

Web based, highly interactive PowerPoint presentation generator that would allow a user to build their corporate overview in minutes, all in front of their eyes (a process that would normally take months).

See more

Ad-hoc Report Tool

A very interactive application that allowed for drag and drop ease in creating a customized ad-hoc report against large sets of data.

See more

Customizable Analytics Dashboard

A completely dynamic and pluggable dashboard for retailer analytics. It is customizable per user and allows export to XLSX, PPTX, PDF.

See more

frimp - Social Dating & Networking

A very UI heavy dating and networking application that allows users to play social dating games and win prizes. Integration with in-game payment system, and added benefit of FaceBook integration.

See more

“Happiness comes when we test our skills towards some meaningful purpose (John Stossel).”

MY SKILLS

What I'm good at.

Software Development

ASP.NET
.NET Framework
HTML / CSS
JavaScript
SQL Server & Database Design

Software Architecture

Enterprise Systems
Single Responsibility & Modularity
Service Oriented
Single Page Application
REST

“The only source of knowledge is experience (Albert Einstein).”

EDUCATION

My academias.

Overview

While formal education backing is important, the life of a software development really requires ongoing education as you continue to grow and learn new technologies and design approaches.

Microsoft Certified Technology Specialist- 2011
TS: Microsoft .NET Framework – Application Development Foundation (Exam #70-536)

•Developing applications that use system types and collections.
•Implementing service processes, threading, and application domains in a .NET Framework application.
•Embedding configuration, diagnostic, management, and installation features into a .NET Framework application.
•Implementing serialization and input/output functionality in a .NET Framework application.
•Improving the security of .NET Framework applications by using the .NET Framework security features.
•Implementing interoperability, reflection, and mailing functionality in a .NET Framework application.
•Implementing globalization, drawing, and text manipulation functionality in a .NET Framework application

www.microsoft.com

Microsoft Certified Professional- 2009
TS: Microsoft .NET Framework 3.5, ASP.NET Application Development (Exam #70-562)

•Configuring and Deploying Web Applications
•Consuming and Creating Server Controls
•Working with Data and Services
•Troubleshooting and Debugging Web Applications
•Targeting Mobile Devices
•Programming Web Applications

www.microsoft.com

Georgian College of Applied Arts and Technology- 2005 - 2008
Computer Programmer / Analyst, CO-OP Program – Advanced 3-Year Diploma

•Graduated top of the class (94% avg. over 3 years).
•Final class included building of a custom web application created in ASP.NET and AJAX driven by SQL Server 2005: www.thorntontigers.ca

www.georgianc.on.ca

St. Joseph Scollard-Hall Catholic Secondary School- 2001 - 2005
Ontario Secondary School Graduation Diploma

•Graduated at university level courses including Physics, Chemistry, Discrete Math and English.
•Received Computer Science Award (3 years in a row) for highest academic merit in computer studies.

“ Think my experience can help you? Contact me anytime!”

CONTACT ME

Do not hesitate!
Captcha Image

Located in Barrie, ON, Canada