Python Senior Software Engineer
Crafting the code with love and thought since 1992
Please see my site denisr.com - it complements the classic CV below.
- Processes: Negotiating Requirements in fluent English and friendly mood)
Analyzing task definition, proposing how to improve it. Planning Architecture and Details.
Documenting. Implementing and Testing. Reviewing and Refactoring. Deploying and Demonstrating. DevOps. Measuring Performance and Feedback. Optimizing via Performance tuning, etc.
- Web Frameworks: Django/Gunicorn, Gevent, own: Apiphant
- Message Queues: Celery, carrot for RabbitMQ with AMQP Tuning
- Cloud, Cache, DB: boto, fabric, psycopg2, pylibmc, pymongo, south, umysql, own: pg4geks, dynamo_db_dict
- Utils: ujson, own: adict, attr, bn, uniqtoken, method_decorator, send_email_message
- Web Scraping: Requests, BeautifulSoup, PyQt.QtWebKit
- Social nets: facebook_sdk, tweepy
Employers and Projects
- Feb 2014 to Present: Wakie Python Senior Software Engineer and Telecom Architect.
- Already solved several valuable tasks that improved current telecom system.
- Planning more improvements.
- Learning: Asterisk, pystrix, puka, Gearman, python-gearman, Mercurial, multiprocessing, Twisted.
- Sep 2011 to Jan 2014: TulaCo Python Lead Software Engineer.
- Lead teams (up to 5 engineers) for several projects,
negotiating, delegating, reviewing.
- Then escaped from management, reports and diagrams,
and focused on consulting on technologies and implementing the code
from architecture level to details.
- Learned: DevOps, Amazon Elastic Load Balancer, CloudWatch, EC2 Servers; Rackspace Cloud Servers, OpenStack API; Tsung, Tuning TCP/Nginx; Stud; Django/Gunicorn, Gevent; Celery; boto, fabric, psycopg2, pylibmc, pymongo, south, umysql, ujson; facebook_sdk, tweepy; Web Scraping: Requests, BeautifulSoup, PyQt.QtWebKit; AngularJS; Memcached/ElastiCache; RDS/MySQL; DynamoDB, S3, Glacier, Redis; ElasticSearch & MongoDB: Sharded Cluster, Replication, Tuning, JS, Map-Reduce, Big Data ETL.
- Jun 2013 to Jan 2014: ICM SEO.
- A chain of ETL-steps that processed 650 millions of records using dozens of servers, making pre-calculations required to access these records efficiently.
- Architecture based on ElasticSearch & MongoDB Clusters.
- Sophisticated algorithms to handle Big Data.
- Core of API, based on Apiphant mentioned below.
- «wow… that's a really cool solution! it's very elegant, awesome. very impressive denis… tyvm!!»
- «very astute questions…»
- «i'm really impressed by all these phenomenal speed improvements -- way to go!»
- «Thank you so much for all the hard and excellent work you have been doing. You're truly one of the most talented and intelligent people I've ever worked with -- and I'm privileged to have had this pleasure.»
- «you really are awesome and i feel very happy knowing that in the future i can count on you to make the most complex things come to life!»
- Done full range of Processes mentioned above.
- Consulted, defined and implemented architecture stack up to successful launch.
- Configured and tuned Amazon infrastructure, understood subtleties of why Elastic Load Balancer reacted unexpectedly to load tests by Tsung, etc.
- Created API that provided core business logic to both Web portal and Android/iOS mobile apps.
- Later this experience helped to create open-source Apiphant - lightweight scalable web API framework, independent from project specifics like umysql, with many aspects re-thought from scratch.
- «Well done Denis and thanks for all the hard work.»
Bryan Dickson, Lootsie CTO.
- Chased and eliminated performance bottlenecks.
- Reviewed code of other engineers, proposed improvements.
- Enabled distributed TestFlight SDK API frontends
scaling in the cloud on high-traffic demand
to automatically pool latest code package
prepared by the deploy server.
- «Great job Denis, good problem solving skills. Really impressed.»
«Very nice job Denis,
I also checked this out and was very pleased with
a) the amount of thought / work that went into this
b) the quality of the documentation
c) the testing procedure that you applied»
Trystan Kosmynka, TestFlight CTO.
- Created and improved most of the code of RAS component of Burstly.
- 1041x speedup (from 18.740 to 0.018 seconds) of third-party code via monkey-patching Django ORM to hint MySQL to use index instead of filesort in this case.
- «Thanks Denis, we appreciate all the work you have done for us.»
Ben Widhelm, Burstly CTO.
- Apr 2010 to Aug 2011: VicMan Python Senior Software Engineer.
- Jan 2009 to Dec 2010: Brand Lane ApS Senior Software Engineer, part-time.
- Implemented http://100vk.dk/
- Adobe Flash CS3 / ActionScript 3 / as3corelib, PHP+TcPDF, HTML, fribetaling.dk payment system.
- Recommendation from Dim Newman, Founder & Art Director, Brand Lane ApS:
«To whom it may concern.
We are an advertising agency with the focus on branding, internet and mobile.
We have known Denis for more than 10 years in the industry. With his help we have accomplished a series of successful projects.
In fact, according to our professional experience, there has hardly been any other developer who could beat Denis's brilliance and innovative approach. His talent helped us to achieve the solutions that seemed to be technologically impossible. In the long run working with Denis gave us a substantial competitive advantage.
We expect Denis to have a breathtaking career in the first rank of world's leading companies. Please don’t hesitate to contact us if you should require any additional information.»
- Jul 2001 to Apr 2010: Teplosphera Lead Software Engineer.
- Automated countless aspects of the company business,
mainly with 1C:Enterprise 8.1 and MS SQL,
but also with MS VC++ 6, VBS, VBA, Java (J2SE), Swing GUI, PHP.
- Responsibility: accommodation and definition of tasks,
architecture and all-level structure development,
constructing code and interfaces, testing,
documenting, installation and maintenance,
access control administration.
- Built sophisticated distributed accounting system.
- Invented and implemented a lot of innovative solutions.
- Lead software engineering department (up to 7 employees).
- Gained great experience of real business responsibility.
- Feb 2001 to Jul 2001: Jukola-Info Software Engineer.
- Leader of a hostel LAN NetOps,
created its central website with search system of LAN resources
(front-end: PHP, backend daemons: Perl), that became my diploma work.
- During education created plenty of small apps beyond education course.
- PHP, Perl, HTML, JS, AJAX, CSS, MS VC++ 6, Win32 API, ASM, VBS, VBA, Java (J2SE,J2ME), Borland Delphi/Pascal, Oracle, MySQL.
- Academic details:
- Area of Study: Software Engineering.
- Degree: Specialist (above Masters, below Doctorate).
- Faculty: Applied Mathematics and Informatics.
- Specialization: Informatics.
- Department: Computer Software Engineering.
- Specialty: Mathematician - System Software Engineer.
Thank you for reading!