Обо мне

My name is Dmitry. I'm from wild Siberia, love riding bears and drink vodka. :) To be serious, I'm really live there and don't drink much. I bring most attention to products crafting and listening to people.

Remote work with teammates from all around the globe brought new challenges in understanding each other. I believe that active listening and seeing the face of your teammate are keys to success in communication. My rich experience of telecommute work allows me to say that I love communicate and it's something I can do well (with some level of empathy).

Understanding all stages of the product creation, I do all of my best to make it happens. It may sounds fishily to be the guru in all spheres, so it's better to highlight that my current specialisation is technical part of web projects. For now I mostly use Python ecosystem for it.

Профессиональные навыки
Опыт работы
Март 2015 — Ноябрь 2016 (1 год и 8 месяцев)
Rebelmouse
Software Engineer
Нью-Йорк
Обязанности и достижения
RebelMouse gives you all tools you need to spread the word in the right way (homepage calls it «organic, social growth»). It means that client haven’t care about technical stuff - all of such problems will be solved by the application. Considering the fact that using such tools brings the high traffic to client’s sites (several millions of unique visitors per month), application should be ready for such tremendous load. Also it’s pretty complex (combining multiple layers and parts), because of tools diversity. I had been the part of the team, which is responsible for the core part of the application (used, roughly said, by all other developers in the whole team). In short it’s main purpose could be expressed like rendering proper response for incoming requests. It may sounds like an obvious task, all of us doing on everyday basis. At the same time, this task is complicated by the series of problems like: understanding the source of a request, aggregating data from all other layers of application (each one with unique interface), processing our custom DSL and building the proper response. All those things require proper architecture for fast solving of business problems. It had been implemented by my Team Lead before I came to the company. I had been participating in it’s further development. Close attention was applied to the covering code with tests (which are like architecture pillars or blueprints). Custom DSL is the XML-based language with support of the XSD validation and XSL transformations. It’s used by both internal and third-party developers. Each client can involve his own developers to customise his site using that DSL. It’s worth noting that employees of each client have access only to their own space, i.e. they can see and modify only DSL stuff related to their project. Core things are protected. This was really challenging to achieve (synergy of organizational methodologies and flexible, reliable architecture). My role was to support and develop technical part (documenting and teaching, fixing bugs, introducing new bugs^W features and as a must-have covering code with tests to avoid different destructive impacts). As a final word here I want to highlight the key specialty of RebelMouse culture - it’s the ability of each team member to participate in product decisions.
Июнь 2013 — Январь 2015 (1 год и 7 месяцев)
LevelUp games
Software Engineer
Киев
Обязанности и достижения
Pretty big part of company's projects are online games with a lot of active users (millions). Such things require solid and reliable backend solutions - starting from actual game logic till the series of various infrastructural services (like networking, data aggregation, analysis tools, etc). I was involved in the development of such services (both logic and utilities). All services were intially designed by our Architect (who was also my Team Lead), most of them were prototyped by him, few of them were drafted by me (AFAIR, only 1 actually :D). In all cases I took part on their further development. Development process included such must-have parts as: covering code with tests, documenting APIs, organizing and documenting of CI and deployment processes.
Сентябрь 2012 — Июнь 2013 (9 месяцев)
Software Engineer
Новокузнецк
Обязанности и достижения
I worked with a private person, which business based on content projects of the different kind. Some of them were in need of information crawling and parsing. Another part of the business is the ifrastructural project aimed on automatic sites composition and deployment (unfortunately, this project was shelved). Most projects were based on Django. Crawling was performed with use of async frameworks, mostly Tornado, and Django management tools. pyQuery helped a lot with parsing retrieved data.
Январь 2008 — Сентябрь 2012 (4 года и 8 месяцев)
Freelance
Software Engineer
Новокузнецк
Обязанности и достижения
Remote work with a different employers - freelance. The most part of the work was done with use of PHP - CMS modifications, modules/plugins creation, creation of standalone services of different kind and complexity. At this point I got an experience of hiring other freelancers and delegating some pieces to them.
Высшее образование
Сентябрь 2013 — Август 2015
СибГИУ
Информационных технологий
Новокузнецк
Специализация и достижения
Магистр. Информационные системы и технологии. / Master's Degree. Information systems and technologies.
Сентябрь 2008 — Август 2013
СибГИУ
Информационных технологий
Новокузнецк
Специализация и достижения
Специалист. Информационные системы и технологии. / Specialist’s (Master’s degree equivalent at Russian Federation) degree. Information systems and techonologies
Сентябрь 2008 — Август 2012
СибГИУ
Информационных технологий
Новокузнецк
Специализация и достижения
Бакалавр. Информационные системы и технологии. / Bachelor's Degree. Information systems and techonologies