- C#, .NET Framework 1.0-4.8, .NET (Core) 2.1-8.0
- Functional programming: Haskell, Erlang
- DBMS/SQL: MSSQL (2000-2019), PostgreSQL
- Backend development on Windows and Linux
- Cloud-based architecture and development: AWS
Australia
Freelance Software Developer
March 2021 - January 2024
Specialities: Haskell, C#/.NET, TypeScript, Backend/Web/SQL, AWS, Docker, gRPC, Linux/Windows
Sydney, Australia
Software Developer (independent contractor)
March 2021 - January 2024
Migrated various parts of the system to Docker/Linux;
Participated in addition of new cryptocurrency listings: Cardano, Dogecoin, Solana (Haskell/Servant, TypeScript);
Added Order Book Snapshot interface to IR API (.NET 6 + NetMQ + Docker);
Was responsible for migration of the legacy .NET Framework 4.8 server-side code (WCF, ASP.NET, ASP.NET Web API + MSSQL) to .NET 6.0/8.0 hosted on Linux with the major part being conversion of WCF services to gRPC: implemented IndependentReserve.Grpc.Tools to simplify this task.
- C#/.NET 6.0-8.0, ASP.NET Core, gRPC, Haskell, TypeScript, AWS, Docker, Windows/Linux, GitHub + TeamCity (CI/CD)
Sydney, Australia
Senior Software Developer
October 2020 - November 2020
Real estate web portal
As a member of Search Team was responsible for development and support of backend services which provided realtime search functionality for property listings: from type-ahead on public website to geo search used by other services.
- C#/.NET Core 3.1, ElasticSearch, AWS (ECS, SQS, S3), Teamcity, Octopus Deploy, Docker, GitHub
Sydney, Australia
Senior Software Developer
September 2018 - March 2020
SaaS hospital management systems
Was responsible for support and development of both backend (.NET 4.7, MSSQl 2017, EF6.2, ASP.NET Web API) hosted on AWS (EC2, RDS, S3, SQS, Lambda, SES) and frontend (ASP.NET MVC, AngularJS, Javascript, HTML, CSS).
Set up CI/CD (TeamCity, Octopus), UAT environment, introduced task/issue tracking (Youtrack), integrated with corporate messenger (Slack).
Consolidated fragmented source code into monorepo (migrated to GitHub).
Improved/secured AWS infrastructure (OpenVPN, IAM, VPC, security groups, NAT, Route53).
Set up centralised logging and reporting for all backend services (Cloudwatch, Elasticsearch, Kibana, Grafana).
Improved corporate website: moved it to AWS (S3, CloudFront, Lambda, SES), optimised site content, included website to CI/CD (Webpack).
Participated in migration of the backend code from .NET 4.7 on Windows to .NET Core 3.1 on Linux in Docker.
- C#, .NET 4.7, .NET Core 3.1, MSSQL 2017, EF 6.2, EF Core 2.2, ASP.NET MVC/API, AWS (EC2, RDS, S3, SQS, Lambda, SES), Git/Github, Teamcity, Octopus, Elasticsearch, Docker, Windows/Linux
Sydney, Australia
Senior Software Developer (contractor)
August 2017 - October 2017
Cashback service for retail customers
As a full stack developer was responsible for maintenance and development of company website (ASP.NET MVC, HTML, CSS, JavaScript) and internal services (AWS).
- .NET/C# 4.6, MSSQL 2012, ASP.NET MVC, AWS, Bitbucket
Sydney, Australia
Software Developer
April 2017 - August 2017
Software solutions for logistics industry
Was software developer in "Customs" and "Accounting" teams (WinForms applications).
- .NET/C# 4.6, WinForms, TFS
Sydney, Australia
Software Developer
June 2015 - August 2016
Big data analytics - massive-scale personalised marketing service
Worked on infrastructure code: mostly Haskell (and Scala) codebase, microservices architecture, cloud-based deployment (AWS).
Was responsible for RDS-related services: declarative DB deployment and management service, back-end for statistical data storage service.
- Haskell, AWS (EC2, S3, RDS), PostgreSQL, Linux, Git/Github
Sydney, Australia
Software Developer (contractor)
July 2013 – May 2015
Siemens Building Technologies - access control for buildings
Participated in the development of Siemens' next generation of building Access Control system “Aliro”: .NET/SQL Server + Silverlight UI and C++-based firmware for hardware access points.
Was responsible for server-side of the project (including DB). Subsequently worked in other areas of the system while project was pushed closer to release: stability, performance, security issues and general bug fixing.
- .NET/C# 4.0, WCF, MSSQL 2008, EF, TPL, Unity, Wix, TFS
Sydney, Australia
Senior Software Developer (contractor)
May 2011 – October 2012
Non-governmental organisation focused on human rights
Worked on modernisation of the IT infrastructure
Set up and maintained proper software development environment (source control, CI, TDD)
Integrated internal CRM system with company website. Implemented payment gateway service working with Westpac banking portal. Implemented synchronisation between internal CRM and Campaign Monitor. Integrated CMS with the external campaign website.
- .NET/C# 4.0, WCF, MSSQL 2008, PHP, Erlang/OTP, git, TeamCity
London, UK
Software Developer (contractor)
April 2010 – October 2010
Investment bank, quantitative analytics team
Was responsible for support and development of Functional Model Deployment project (proprietary functional language written mostly in C++ and hosted in Excel), as well as general support for QA library users (quants and IT)
Worked mostly on improvements and bug-fixing in C# and VBA part of FMD plus minor optimisation and bug fixing in core (C++) FMD; Build support/improvement (TeamCity+NUnit/Boost.Test). Users (quants) 1st line support for QA-Library.
- .NET/C# 3.5, C++, VBA (Excel), Perforce, TeamCity
London, UK
Software Developer (AVP)
April 2009 – April 2010
Investment bank, Credit Derivatives IT
Was responsible for support and development of internal front-office reporting system based on SQL Server 2005, C# middle-ware (.NET 3.5, Remoting, WF) with WPF front-end.
Enhanced existing reporting/task framework (SQL+XSLT+WF). Built server side for a new credit structured product (secondary market) pricing tool “Poet V”. Provided 2nd line support for front office users.
- .NET/C# 3.5, WF, Remoting, MSSQL 2005, SVN
Sydney, Australia
Software Developer
February 2008 – January 2009
Actuarial consultancy and software development company
Participated in “RiskAgility” project – conversion of the legacy desktop application into enterprise solution/platform
Was responsible for “data & security” part of the platform.
- .NET/C# 3.5, WCF, LINQ2SQL, MSSQL 2005, Windsor Container(IoC), Rhino Mocks
Sydney, Australia
Software Developer
October 2005 – February 2008
Altiris before acquisition - service-oriented IT-management solution
Was a part of Notification Server development team working on Notification Server IT-management solution suite (Assets Management, Patch Management, Inventory etc.). Worked on both, managed (.NET/C#/ASP.NET) NS Server and unmanaged (C++/COM) NS Agent sides.
- .NET/C# 1.1-2.0, MS C++, ASP.NET, MSSQL 2000-2005, MSBuild, Wise, Wix, SVN
Moscow, Russia
Software Developer
January 2005 – September 2005
Trading software development company
As a member of Moscow Servers Team participated in development of server-side components for “New Client” project - a replacement (.NET/C#) for the legacy (C++) platform CQG (complete package of trading software products).
- .NET/C# 1.1, MSSQL 2000, NUnit, NCover, CVS.
Moscow, Russia
Software Developer
November 2000 – December 2004
Banking software development company
Worked on both, older (MS VC++ 6.0) and newer (.NET/C#) codebase.
- .NET/C# 1.0, MS VC++/ATL, MSSQL 2000, Rational XDE, ERWin, NUnit, NDoc, VSS
Taganrog, Russia
Bachelor of Computer Science
1994-1999