Ivan Gusev, Developer in Saint Petersburg, Russia
Ivan is available for hire
Hire Ivan

Ivan Gusev

Verified Expert  in Engineering

COM Interop Developer

Location
Saint Petersburg, Russia
Toptal Member Since
November 15, 2016

Ivan has been developing software for over ten years. With extensive experience supporting legacy code, he has no fear writing something from scratch at the same time. When developing, he tries to focus on code supportability and testability. His motto is "Never increase technical debt."

Portfolio

BA Insight
Lucene.NET, Kibana, Elasticsearch, Microsoft Silverlight, JavaScript, SVG, HTML...
Pitersoft, Ltd.
C++, MAPI, P/Invoke, Microsoft SQL Server, ADO.NET, Windows Forms (WinForms)...

Experience

Availability

Part-time

Preferred Environment

Git, TFS, Visual Studio, Windows

The most amazing...

...project is always the one I'm currently working on.

Work Experience

Senior Software Engineer

2005 - PRESENT
BA Insight
  • Helped develop Longitude Search, which extends the search capabilities of Microsoft SharePoint (quick document preview, search refinements, save search queries and alert about new search results, etc.).
  • Developed a document preview UI for Longitude Search from scratch.
  • Contributed to the development of BA Insight Content Connectivity, which allows indexing of data from various content sources (EMC Documentum, Microsoft Exchange, SalesForce, HP Trim, LiveLink, eRoom, etc.) to a SharePoint Search, as well as transforming/enriching that data (support of security, including multilevel security, data transformation using client scripts, etc.). The product was designed to work well with a large volume of data (millions of documents).
  • Helped build Smart Analytics (similar to Google Analytics).
  • Contributed to the creation of Auto Classifier, which extends the Managed Metadata feature available in SharePoint and allows users to fine-tune the relevance of a taxonomy term for a given document via custom full-text queries and custom scripts, as well as visually test the results of the classification.
Technologies: Lucene.NET, Kibana, Elasticsearch, Microsoft Silverlight, JavaScript, SVG, HTML, OpenXML, Microsoft SQL Server, C++, COM, Win32, SharePoint Online, SharePoint, Web API, Windows Communication Foundation (WCF), ASP.NET, C#, .NET

Software Engineer

2003 - 2005
Pitersoft, Ltd.
  • Wrote an online directory (similar to Yellow Pages) for the Spanish market.
  • Built a CRM system.
Technologies: C++, MAPI, P/Invoke, Microsoft SQL Server, ADO.NET, Windows Forms (WinForms), ASP.NET, C#, .NET

Smart Previews

http://bainsight.com/smart-previews
Smart Previews boost productivity by helping users quickly find what they seek, explore inside documents and attachments, identify content to re-use, and automatically assemble it into new documents.

BA Insight Indexing Connectors

https://www.bainsight.com/indexing-connectors/
• Provides secure, high-performance crawling and indexing. Connects to a wide variety of systems.
• Manages sophisticated security scenarios.
• Maps security entitlements with source systems into the search process.
• Ensures that results are trimmed to expose only content the user has access to.

Smart Analytics

BA Insight Smart Analytics provides valuable data to make intelligent decisions about your intranet (similar to Google Analytics). Smart Analytics can help you turn user insights into action to improve your search center’s performance.

Auto Classifier

http://bainsight.com/classification
Classification software that uses text analytics to create metadata, leveraging SharePoint’s Managed Metadata Service (MMS).

My contribution here is the Scripting feature which allows fine-tuning of scoring rules via custom scripts written in C# or VB.NET.

Languages

C#, CSS, SQL, HTML, JavaScript, T-SQL (Transact-SQL), XML, Java, Visual Basic .NET (VB.NET), C++, HTML5

Frameworks

Windows PowerShell, ASP.NET, ADO.NET, Unity, OAuth 2, Windows Presentation Foundation (WPF), QUnit, Rhino Mocks, NUnit, .NET, Entity, AngularJS, ASP.NET MVC

Libraries/APIs

LINQ, SharePoint API, Log4Net, jQuery, Windows Forms (WinForms), Web API, Win32 API, NSubstitute, REST APIs, SFML, Standard Template Library (STL), LiveLink API, HP Trim API, eRoom API, Documentum API, Salesforce API, Azure Blob Storage API

Tools

Wix, MSTest, Microsoft Visual Studio, Microsoft Silverlight, Windows Installer, ANTLR, Kibana, Visual Studio, TFS, Git, Apache Maven, MATLAB, LINQ to SQL, Azure Kubernetes Service (AKS), NuGet

Paradigms

Model View ViewModel (MVVM), Unit Testing, Design Patterns, Concurrent Programming, Server Side/Client Side Object Model (SharePoint), REST

Platforms

SharePoint, Windows, Azure, Exchange Web Services, Win32, Particle, Oracle, NLog, Docker

Other

P/Invoke, COM Interop, SVG, Windows Communication Foundation (WCF), Lucene.NET, Azure Web Roles, OLE DB, SharePoint Online, OAuth, Distributed Systems, IFilter, PDF, COM, Architecture, APIs, MAPI, Particle Engines, Code Contracts, Web Applications, Windows Services, Microsoft Graph API, Web Services

Storage

Elasticsearch, OpenXML, Microsoft SQL Server, Azure Websites, Azure Tables, Azure Queue Storage, Azure Blobs, Azure Active Directory, MySQL, IBM Db2, Azure Table Storage, Oracle SQL

2000 - 2008

Master's Degree in Applied Math and Informatics

Saint-Petersburg State University - Saint-Petersburg

JANUARY 2020 - PRESENT

Microsoft Certified Solutions Developer: App Builder

Microsoft

JANUARY 2020 - PRESENT

Microsoft Certified Solutions Associate: Web Applications

Microsoft

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring