Hi, I’m Mikhail Kalugin.
I develop software and I do it well.
ABOUT ME |
BLOG
|
RÉSUMÉ |
CONTACT ME |
Résumé
SUMMARY
Passionate software developer currently focused at iOS apps. In past: co-founder of YourSway LLC, initial committer of Eclipse DLTK project, contributor to SWT/Cocoa project, organizer of a local NSCoderNight.
Key experience areas
- iOS applications
- Object-oriented design and architecture
- Eclipse-based solutions (extensive experience with development of IDEs for dynamic languages)
- Non-trivial algorithms, statical analysis of dynamically typed languages
experience
Google
Software Engineer, Oct 2011 — now
Yandex
iPhone software developer, Nov 2009 — Aug 2011
Worked on Yandex.Maps for iOS. I was responsible for core components and internal architecture of the application.
Mikhail Kalugin LLC
Freelance developer, Apr 2009 — Oct 2009
- Implemented v.1 of ProChords, an iPhone songwriting application. On the App Store. [CocoaTouch]
- Worked on Siine, an innovative solution for time communications for Windows, Mac OS X and iPhone. A short text on my participation in the project. [Cocoa, CocoaTouch, Google Calendar API, Google Maps API, Win32 API, Win32 Accessibility API]
- Designed and implemented JustRandom. A stupid iPhone app for making random decisions. On the AppStore. [CocoaTouch]
- Worked on my own the best ever yet another static analysis for Ruby. Unfinished. [Java, JRuby]
- Gave 4 lectures on object-oriented programming for 2nd year math department students at Novosibirsk State University. (Sep 2009)
YourSway LLC
Co-founder, spiritual partner, Apr 2009 — now
YourSway LLC
Co-founder, senior software developer, Aug 2007 — Apr 2009
YourSway is a company co-founded by me and a couple of my friends. Here are my contributions:
- Actively participated in design and implementation of YourSway IDE, the most important of our own projects. [Java, Eclipse, DLTK, Ruby, Python]
- Developed most of a full-fledged in-house dynamic language IDE for one of our major clients. Key features: advanced debugger (with support of hot code replace and attach-to-process), JDT-grade navigation and content assistance, support for Windows and Mac OS X. [Java, Eclipse, DLTK, JNI, C, ANTLR]
- Developed a proof-of-concept demo of a cross-language interpreted script debugger using Eclipse. Can be downloaded from GitHub. [Java, Eclipse, DLTK]
- Regularly worked on Siine, yet another our consulting project. [Cocoa, CocoaTouch, Google Calendar API, Google Maps API, Win32 API, Win32 Accessibility API]
- Designed and coded significant part of Taskus, one of our own projects. It's a plain-text task manager like TaskPaper, but with ability to sync with bug-trackers and apps like Basecamp. [Java, JNI, SWT/Cocoa, Carbon]
- In order to build Taskus, worked on improving SWT/Cocoa and contributed numerous patches to it.
- Designed from scratch and implemented YourSway Finance — our corporate finance accounting system. [AppEngine]
- Occasionally helped with development of a Spring-based application for tours management. [Java, Spring, Maven, Hibernate]
Xored Software Inc.
Senior software engineer, Aug 2006 — Aug 2007
- Worked on Eclipse DLTK project. I'm one of very first commiters. Designed and implemented: Tcl parser, Tcl and Ruby model, script launching, many views (outline, etc), editing features (folding, indenting), documentation access.
- Developed final version (and participated in development of first versions) of type inferencing and content assistance for Ruby. These features helped DLTK Ruby a lot to become one the most popular projects of Eclipse Foundation.
- Apart from DLTK successfully implemented a couple of eclipse-based projects for high-priority consulting projects. [Java, C, Eclipse, Carbon, Tcl/Tk, Ruby, Python, ANTLR, yacc]
FuzLez Software
Software engineer, Jan 2005 — June 2006
- Developed RecordThisNow — a windows application for recording all sounds played on the computer. [C, C++, Win32API, Win32 Multimedia API, Lame, RSA, boost]
- Implemented server-side CGI scripts for Desk2Desk — a tool to send pictures easily from one computer to another with one click. [C, CGI, MySQL, boost]
Both projects had been successfully selling as shareware and became major FuzLez's projects.
Novosibirsk State University
Jury member at West-Siberian Olympiad science committee, Sep 2006 — Jan 2008
- Participated in preparation of problems for Potossin West-Siberian programming contest (writing problem statements, jury's solutions, tests).
- Helped with development of contest's own automated testing system built on Ruby On Rails. [Ruby, RoR, memcached, C, Java]
A.P. Ershov Institute of Informatics Systems
Software engineer, Sep 2004 — Feb 2005
- Worked on an automated testing system for school programming contests with support of distributed testing on Windows, Linux or FreeBSD. Designed and implemented core testing facilities for Linux/FreeBSD and also a PHP-based front-end. [C, MySQL, PHP]
A.P. Ershov Institute of Informatics Systems
Academic instructor at Summer Programming Schools, 2004, 2005, 2006
I managed projects on the following topics:
- Java/J2ME (2004) [Java, J2ME]
- XML Web Services (2005) [Java, J2ME, Tomcat]
- Sound processing algorithms (2006) [C, Win32API, Lame]
buzzwords
Programming languagesUsed in real life: Played with: Developed software forMac OS X/iPhone, Windows, Linux, FreeBSD, DOS, CP/M ;). |
Programming techniquesObject-oriented, structural, functional, logical.Apple WorldCocoa, Cocoa Touch.Web WorldHTML, CSS, jQuery, Google App Engine, Ruby On Rails, REST. |
Java WorldEclipse (RCP, OSGi, SWT, JFace, JDT, DLTK, DSDP/TM), JUnit, EasyMock, Spring, Hibernate.Databasessqlite, MySQL.ToolsLots of different IDEs. Profilers. Different build tools. VCS: git, cvs, svn, hg. |
awards
- Participated twice in 1/2 Finals ACM ICPC (won 3rd degree award). Apart from ICPC successfully participated in numerous individual and team nationwide and local contests
- Intel scholarship
education
M.S. degree in applied mathematics and computer science, Novosibirsk State University, 2004 — 2009. Thesis: “Demand-driven static analysis for Ruby.”
About me
Hello again.
I'm a 24 year old guy from Russia, who wrote his first program for a programmable calculator when he was 6 and who haven't spent a day without programming since that time.
If you're considering me as a developer, please check out my résumé. You can also take a look at my code on GitHub.
Fortunately in addition to programming I have some other hobbies: cooking, traveling, photography.
If you're my friend or just want to learn more about me, you can check out the following things:
Contact information
E-mail: mikhail.kalugin@gmail.com
Skype: mikhail.kalugin
ICQ: 129412998
GoogleTalk: fourdman@gmail.com