Thomas Wisniewski
Contact Information
42 Morris Drive
Belleville, ON, Canada
K8P 5B4
Cell613-513-7667
tom@tanrei.ca Tanrei SoftwareWeb Developer
I am a professional web developer specializing in developing modern standards-compliant and cross-platform web applications. My expertise is spread in all aspects of web programming, following industrial best practices for both front- and back-end development. I have over 12 years of experience working on a wide variety of applications for both startups and established firms, whether they use current popular frameworks or custom ones developed from plain Javascript, Python, PHP and other languages.
My practical focus on quality has proved invaluable at my previous employers, where I have been responsible for all aspects of implementation from low-level library development to high-level integration of third-party products and system administration. I have broad experience in refactoring old web applications into modern cross-platform ones, as well as more refined experience creating modern applications from scratch.
I thrive in the presence of technical challenges, and take a no-nonsense approach to solving problems that includes everything from requirements and specification analysis to low-level implementation of anything from web pages to mobile applications. My approach and experience allow me to implement well-behaved functional systems that are both forward-looking and maintainable for new and experienced coders alike.
Professional Experience
-
Moz://a
Web Compatibility Engineer, November 2016-present
From diagnosis of interoperability issues on webcompat.com to helping Firefox and other browsers converge on standards-compliance, I am part of a dedicated team doing our best to help your sites do their best.
-
Strader-Ferris International
Web Developer, April 2011-November 2015
My responsibilities included desiging, implementing, maintaining and administering a wide variety of in-house applications for an international shipping firm, most notably a mobile-friendly and responsive web application for efficiently receiving, classifying, and manifesting incoming shipments. Challenges included modernizing and refactoring old Python and PHP applications, inter-business data processing, and keeping applications running with minimal downtime. As a telecommuting position, it also greatly helped me improve my communication skills and ability to work with minimal supervision.
-
Gazaro
Web Developer, October 2010-March 2011
As the lead front-end developer for a different kind of data-analysis suite, I was immersed in team-oriented coding with tight deadlines, including integrating third-party analytics, search, and testing software and relying heavily on git and ticket-management systems. I joined Gazaro at just the right time to help them bring their price-matching system into its own, and it was an invaluable experience.
-
iotum, inc.
Web Developer, July 2008-August 2009
Being on a smaller team in a web startup allowed me to enjoy a wide variety of technical and non-technical positions. My chief role as a back- and front-end Ruby on Rails developer expected me to code with vigor, maintain servers, and interact with other vendors and service providers.
-
Freelance Software Developer
Self-employed, 2002-present
Freelancers who actively seek challenge are the rarest of the rare. Aside from my normal working life I also co-own Tanrei software, a small non-profit web design business. We delight in wasting no time to meet the needs of our non-profit clients.
-
Trent University
Teaching Assistant, fall 2005-spring 2008
During my undergraduate and graduate studies I was pro-active in finding projects with several professors, including Dr. Pollanen (math) and Dr. Chan-Reynolds (psychology). I also taught two sections of assembly language to full-size classes, managed computer labs, tutored students and volunteered time on website maintenance and representing the computer science department in various official functions.
-
Loyalist College
Lecturer, Tutor, Co-op projects, spring 2003-summer 2004
While earning my 3-year programming diploma I was a highly sought tutor, was involved in small co-op software design projects, and taught three full sections of Hardware Fundamentals. I designed the course, lectured, administered and graded tests, and handled office hours.
Technical Experience
(X)HTML and related technologies: 10 years
- Cross-browser experience with HTML 4/5, CSS, SVG, Canvas, WebWorkers, WebSockets, WebComponents, Offline storage, Audio/Video and others.
- Creation and deployment of mobile applications using HTML 5 technologies.
- Developing sites from scratch with or without third-party libraries, including rapid prototyping.
- Integration of web services such as PayPal, Twitter, Digg, Plaxo, TringMe, TruPhone, Google services.
- User-interaction and HCI for basic web pages/apps; accessibility and internationalization.
Client-side web programming: 10 years
- Focus on cross-platform web-app development for desktop and mobile devices, including responsive/fluid design and complex UI widgets
- Basic experience with CSS and Javascript pre-processors such as Sass and Babel.
- Basic use and customization of web frameworks such as Angular and Polymer.
- Support, use, and development of cross-browser libraries like JQuery, Prototype, MooTools, and ExtJS.
- Advanced use of debuggers and inspection suites including Firebug, Chrome, Opera DragonFly, Internet Explorer 9 up.
- Client side ECMA/JavaScript scripting for Gecko, Trident, Presto, WebKit and others including JSON and AJAX.
- XHTML vs HTML including validation and strict vs quirks mode issues.
- Use and minimization of browser hacks, semantic vs presentational markup.
- Some experience with creating and deploying web-browser add-ons/extensions.
Server-side web programming: 12 years
- 7+ years Python including web-all development with and without libraries like Django, and debugging CPython modules.
- 6+ years PHP, including integration of third-party applications such as Drupal, Post Affiliate Pro, and shipping APIs.
- 1.5 years Ruby on Rails 2, including gem manipulation and maintenance.
- Basic experience with node.js, including creation of a WebSocket service for scanning.
- Design and management of RESTful web services with various language libraries and frameworks.
- Use of package management and deployment tools such as Bower and pip.
- Use of centralized logging tools such as Beaver.
- Server-side Linux/BSD administration, including scripting and log analysis in various distros.
- Protocol debugging and network traffic analysis.
- HTTP request customization and optimization.
- Basic experience with security concerns including CSP, SSL, P3P, CSRF, and XSS.
- Use and troubleshooting of Apache, ActiveMQ, NginX, Twisted, and other servers.
- SQL dialects, capabilities, scripting and maintenance of PostgreSQL, MySQL/MariaDB, and Firebird databases.
- Design and practical use of XML/SOAP and JSON APIs.
- Parsing/generating/consuming XML/JSON using client side XSL/XPath/JavaScript and server-side Python/PHP/Ruby.
Systems programming: 2+ years
- 4 years basic experience with CPython including SciPy, RPy, pygtk/pyqt/wxpython.
- 3 years basic experience with C/C++, including the Firefox codebase, OpenGL, Qt, GTK+, Boost, makefiles.
- 2 years basic experience with Java with Eclipse, jUnit, and Ant.
- Some experience with Intel/ARM assembly languages, C#/.NET, Cobol, Lisp, Prolog, Haskell and others.
Server maintenance: 5+ years
- Heavy experience with source and binary Linux distributions including Gentoo and Debian-based distributions, some experience with Windows Server 2003, RedHat/Fedora, FreeBSD, OpenSolaris.
- Installation and remote maintenance of server OSes including Gentoo and Debian Linux, FreeBSD, and others.
- Server isolation for production vs development environments.
Project management: 5+ years
- Software Revision control with Subversion, Mercurial, and Git.
- Bug tracking and reporting with various out-of-box solutions including Trac.
- Familiarity with Drupal and basics of other CMS software.
- Basic experience with automated testing frameworks including use of Selenium with Rails.
- Basic experience with domain, requirements and specification analysis and UML.
- Basic experience with development using Agile, XP, and Spiral development models.
SEO, CRM and sales: 1.5 years
- Site traffic analysis and analytics, including Google Webmaster tools and A/B testing.
- Deployment, tracking and optimization of ad-campaigns with Google AdSense and Webmaster tools.
- Extending billing solutions for Ruby on Rails to add support for advanced features such as automated recurring payments.
- Creation and management of affiliate networks using Post Affiliate Pro 3.
- Management of Kayako as CRM solution.
Education
My formal education came in two doses, one at the wonderful small-town college of Loyalist in Belleville Ontario where I regained my love of systems analysis and design and found my calling as a web programmer, followed by earning a B.Sc. in Computer Science at Trent University where I focused on algorithms and data structures while keeping up with modern web development practices.