Position: Software Engineer
Category: .NET
English level: upper
Years of experience: 11

2006-2009 - Joined the three-person team developing CAD (Computer-Aided-Design) system as a junior C++ developer. Sometime later ended up as a single developer on a project building a team from scratch and interviewing candidates. Learned and documented the project architecture, which enabled us as a team to solve the most desired project challenges: migration to an Intel-compatible compiler (that was an era of Mac OS migration to Intel); and support of the competitor's document format (AutoCAD). [C\C++\Internal language interpreter\XCode\VS6\VS2010]

2019-2022 CMS project, data layer represented as a set of stored procedures, about 50K lines of code for both MS SQL and Oracle. Migration of that to Postgres was both a technical and a communication challenge: making a quick but working POC giving an idea of an estimate enabled us to sell that to the Product Management. Then in the implementation stage, the performance tunning was the primary challenge. Used a set of different technics to catch bottlenecks (aggregated application and database tracing) and then fix those (A collection of Postgres-specific approaches)

Generally speaking, I was looking for some ice-breaking challenges for each project, and I had one for most of them.
Commercial experience since 2004

1999-2002 - Pascal development as a hobby, participant, and winner of Programming Olympiads (Won 1st place at Summy region contest).

2004-2006 - Joined the company as a courier but soon switched to MS Office Plugins developer. Looking at the manual processes made with MS Office Word and Excel documents suggested automation.

2006-2009 - Joined the three-person team developing CAD (Computer-Aided-Design) system as a junior C++ developer. Sometime later ended up as a single developer on a project building a team from scratch and interviewing candidates. Learned and documented the project architecture, which enabled us as a team to solve the most desired project challenges: migration to an Intel-compatible compiler (that was an era of Mac OS migration to Intel); and support of the competitor's document format (AutoCAD).

2010-current - I joined one of the leading LangTech companies. That's where I got acquainted with SCRUM\Agile. Switched four projects:

2010-2011 - A set of MS Office plugins integrated with the translation services, developed from scratch C# plugins for MS Office\OpenOffice, and Objective-C plugins for MS Office Mac.

2011-2012 - Automation\Workflow tool for the Manual Translators. Here I joined a distributed team of ten devs\QAs. Designed & developed new features and performed bug fixes. [C#\WinForms\WPF]

2012-2016 - Company acquired a video hosting service to integrate that with translation services. I designed & developed features (e.g., YouTube connector, integration with Translation Services), architectural improvements (e.g., AutoScaled encoding), migrations (classic ASP to C#), and bug fixes. Here I Got acquainted with front-end development (participated in bug fixes and some feature development). Took the so-called Technical Product Owner role whose responsibility was to provide a technical design and, based on that, a story breakdown for the team. [C#\ASP.Net\JavaScript\AWS\MS SQL]

2016-current. Joined a team developing one of the world-leading CRM systems (our company also acquired that some time ago to be integrated with the Translation Services). Make technical design\story breakdown for the team and participate in the development (e.g., A service to store, manage and incorporate extensions to the main product, introduce REST API, Migration to PostgreSQL). [C#\.NetCore\WCF\OpenAPI\{MS SQL\Oracle\PostgreSQL}\~50K lines of stored procedures each].
I prefer an environment where I feel unsafe and unconfident about my current skills and experience (both technical and non-technical) so that I can see a clear benchmark and grow. Most of the time, that feeling was easier to get when working in a distributed team having colleagues abroad. However, there are already mature enough projects having complete local teams or even local product management.