- sql (mysql, mssql, postgres, sqlite)
- nosql (redis, mongodb)
I'm full-stack developer with 7+ years of experience, so I'm familiar with client and server technologies - everything related to web, from HTTP to CSS, I think it's not necessary to print full list of technology names and other funny abbreviations here.
late 2008 - mid 2012 (3.5 years): Lead Nodejs Developer at Flatsoft, LLC
Flatsoft is outsourcing company, working here for 3 years, starting from PHP developer, then moved to Lead Developer position, and then started to work with nodejs only. During that period I've participate in tons of projects: social networks, facebook games, web shops. Some of most interested projects where I lead team / participate:
- www.everloop.com (ruby on rails, social network)
- www.productmadness.com (ruby on rails, facebook games, high load)
- www.dropsend.com (php, high load)
- sonicliving.com (nodejs, web crawlers)
For the last year I collaborated with sonicliving: writing semantic parsers for tons of music websites, it was really boring work, but it allows me to learn lots of details about crawling web, using different ways to interact with datasources.
In dropsend I've learned very much about file sharing/sending through the web, managing large amount of data. My team build whole OAuth API for dropsend, it was really interesting to learn and implement everything from scratch.
Work with productmadness was really challengy due to highload. I've learned about scaling, large deployments, performance monitoring in newrelic (later I've started writing my own newrelic for nodejs, but it was abandoned, have no time for it).
In general, work in Flatsoft was really interesting, I've learn almost everything I know (except php, mysql, mssql):
- how to work with team
- how lead the team
- vim, linux, osx
- and of course nodejs - my biggest love
early 2011 - present time: part time freelance, NodeJS + opensource
While working as freelancer the most exciting thing I've found - opensource, my main project RailwayJS allows me to learn how to deal with community, how to provide best support to my users, write documentation, write clean and robust code, read and understand tons of foreign code. I've also found my clear vision about the best way of software building: keeping things clean, modular and as simple as possible. There's a lot of good books about this coding philosophy like Complete Code by Steve Mcconnell, but it's not enough to read the book - need to find own way to Complete Code.
I'm author and maintainer of following opensource projects (all nodejs) All of them listed on my github account: github.com/1602
- RailwayJS - MVC framework
- JugglingDB - multidatabase ORM for nodejs
- jsdoc.info - online documentation generator for nodejs projects
- roco - deployment tool
- makedoc - standalone documentation generator
- semicov - test coverage tool
- seedjs - database seeds for jugglingdb
All of this projects authored since Jan 2011, when I started to work on nodejs intensively. Now I've pause on opensource because of my freelance work on startup.
2005 - 2008: Lead PHP Developer at Academy of Management, Kazan
This is my first workplace, where I've started to work when I was student. Started from junior php and Deplhi developer, ended as Lead PHP Developer, which knows everything, and ready to work with any code :)
Presence on net
Engineer, 2002 - 2007, Academy of Managenent Graduated with honors
Languages (in order of fluency descending)
Currently I happy with learning nodejs, contributing to opensource projects and supporting some of my homegrown projects like jsdoc.info. Also I thinking about starting to work in startup (in process of negotiations with co-founders). From the summer of 2012 I leaving my current job at Flatsoft to have more time for my projects. And I open to job applications, but I'm not looking for a job to "just work", I need something challengy and interesting where I can realize all my talent as nodejs developer.