Ivan Kurnosov
Personal information
- Date of birth: July 26th, 1984
- Location: Wellington, New Zealand
- Email: zerkms@zerkms.com
Qualification summary
- Over 7 years of professional experience with PHP. I have worked with large (odesk.com) enterprise-level application. I have much experience with wide range of web-related technologies and tools.
- About 7 years of working with various dbms: MySQL, SQL Server (including t-sql), Oracle (including pl/sql). I have significant experience in databases design, queries optimizing.
Skills summary
- PHP (7 years, highly proficient)
- Frameworks: Zend Framework, Kohana, CodeIgniter, mzz; Libraries: PHPUnit, simpletest, Smarty, phpmailer, Doctrine, Propel, etc; Social services integration: Facebook, Twitter.
- Client-side web (7 years, highly proficient)
- HTML, CSS, AJAX, JS: jQuery, prototype, ExtJS.
- RDBMS
- MySQL (7 years, highly proficient): experience in database schemas and queries optimizations;
- MS Sql (3 years, intermediate);
- Oracle (1 year, intermediate): designing databases, working with stored objects (triggers, packages, jobs, schedulers), writing pl/sql applications;
- .NET (~1 year, proficient)
- C# (console applications, winforms, WPF, ASP.NET MVC2), linq2sql, LINQ, ninject, NUnit, Nini, xml, threads.
- Architect, development practices, tools
- Some of XP techniques, TDD, UML, good knowledge of OOP/OOAD paradigm, Design Patterns, Refactoring;
- Mercurial as preferred SCM, 7 years of SVN usage and ~1 year of using GIT.
- OS
- Linux: Gentoo (2 years, fulltime desktop usage), SuSE (~1 year, desktop, server administration), Windows family OS (usage and basic administration skills).
Professional experience
-
Wialus Solutions Ltd (wialus.co.nz), Senior Software Developer, November 2011 - Present
-
oDesk Corp. (odesk.com), Developer, September 2010 - Present
- Technologies: PHP, Zend Framework, OAuth, PostgreSQL, svn, git, apache/nginx
- I've been working in a big dedicated team of great developers in a project that thousands of people use every day. I integrated OAuth v1 authorization into existing RESTful API, and helped maintain and develop new API endpoints. I also designed and implemented messaging framework that is used internally to deliver useful messages for the site users.
-
Vostochniy Express Bank, Developer, August 2010 - October 2011
- Technologies: PHP, Kohana, oracle, mercurial, kannel, apache
- I introduced 2 teams of developers into source code management systems. Set up central mercurial repository and taught developers the best practices of working with mercurial;
- I have designed and implemented SMS-related software (send / receive) through SMPP with kannel, oracle (pl/sql), apache and PHP. Currently it works 24/7 with everyday load of about dozens of thousands messages per day;
- I have designed and implemented very specific issue tracking system, that helps to communicate between customers and IT department. It is used everyday by about 200 workers.
-
Rosneft (rosneft.com), Developer, August 2008 - August 2010
- Technologies: PHP, Zend Framework, .NET (ASP.NET MVC2), SQL Server, ExtJS, svn, mercurial, phpdoctrine
- I've been supporting collaboration system written in legacy ASP.NET. After year I decided to rewrite it using ASP.NET MVC2 (to have maintainable code with predictable behaviour). Designed and implemented it for about 2 months using ASP.NET MVC2 and ExtJS on top of existing SQL Server database. It has been used for about 50 workers.
- I have designed and implemented stocking system (pipelines- and other oil production stuff related) using Zend Framework and SQL Server, with phpdoctrine. It has ~100k items in the database and was continuously increasing.
-
KnAAPO (knaapo.ru), Developer, August 2006 - August 2008
- Technologies: PHP, mzz, svn, SQL Server
- As the main developer of a small 3 members team has reverse engineered the current stocking system (closed source, ASP.NET and Flash based) and rewrote it using the mzz framework and SQL Server. It has been used daily by several thousands of workers and still being used without any issues.
Own and opensource projects
- tvfedor.ru - service for monitoring rutracker.org updates. Written using Kohana and MySQL. Has twitter, facebook and OpenID integrations. Currently has small auditory of several hundreds people per day and for about thousand rss requests per day. Tracks ~2000 forum threads.
- HgAssist - a simple program for Windows, which sits in the notification area and periodically notifies you of how many changes awaiting its push and what repositories they are in. Also, HgAssist will notify of new incoming changes from a central repository. Has been written for notifying about forgotten mercurial pushes. Technologies used: .NET winforms, mercurial.
- mzz - opensource PHP5 framework, written following best practices: design patterns, tdd. I was co-founder and team leader of a small (4 members) distributed team there up to Dec 2009.
Online presence
Education
- 2001 - 2006, Komsomolsk-na-Amure State University.
Engineering degree in Controlling and Informatization of Technical Systems.
Average mark 4.91 (of 5.0).
- 2004 - 2007, Komsomolsk-na-Amure State University.
Specialist degree in Financial Management.
Average mark 4.80 (of 5.0).