Alex Fedin

  • .NET Application Architect
  • Oakland, CA
  • Member Since Jun 26, 2023

Candidates About

 

Alex Fedin

Objective:

I am looking for an architect role in the software development that requires hands-on software development technical skills and experience.

Experience Summary:

      15+ years of commercial experience in software architecture and development

      Successful background in the design and development of complex enterprise-level business applications using object-oriented methodology, n-tier SOA architecture, system analysis, technical support and troubleshooting;

      An expert in the Microsoft stack of technologies, including but not limited to the Windows, Web, Azure Cloud, .NET;

      Strong experience in designing and developing databases on variety of platforms: MS SQL Server, Oracle, IBM DB2, Interbase;

      An expert in software migration from legacy technologies (VB6, Delphi, Pascal/Object Pascal, COM/DCOM/COM+), have led and done code and technology conversions to and from .NET and Java, and from Delphi to C#/.NET;

      Worked with huge SQL-based databases (in DB2 and MS SQL Server), No-SQL databases (Windows Azure Storage, Amazon SimpleDB)

      Scrum master, solid knowledge of the design patterns, test-driven development, and eXtreme Programming software development process

      Agile Processes evangelist

      A reading member of the TOGAF Open Group (http://opengroup.org)

PROFESSIONAL RECOGNITIONS:

      MS Certificates (MCP, MCSD, MCSE, MCDBA)

      BrainBench and Tekmetrics Certificates (Certified Java Programmer, Certified Master C++, Programmer, Certified Master Delphi Programmer, Certified Visual Basic Programmer, Certified MS SQL, Server DBA, Certified MS SQL Server Programmer, Certified C Programmer)

 

TECHNICAL SUMMARY:

Skill

Level

Years used

Last used

Software Architecture and Design

 

 

 

Enterprise architecture, Applications architecture, Distributed architecture

Expert

10+

Presently

Monolithic, Client-Server, Multi-tier, Distributed, SOA/SaaS, Cloud Computing

Expert

10+

Presently

OO Design Patterns, UML

Expert

15+

Presently

 

 

 

 

Platforms

 

 

 

Microsoft .NET, Silverlight (Web), WPF, WinForms

Expert

12+

Presently

ASP.NET, ASP

Expert

5+

Presently

Windows Azure, Amazon EC, MS Orleans

Expert

4+

Presently

 

 

 

 

Technologies

 

 

 

SaaS (Software as a Service) / SOA (Services-Oriented Architecture), SDP (Services Delivery Platform)

Senior

5+

Presently

Compilers: Coco/R, EBNF

Senior

1+

Presently

Cloud Platforms: Amazon AWS, Windows Azure

Senior

3+

Presently

Legacy: COM, DCOM, ActiveX, ATL, MS COM Marshaling internals, Windows API (Win32)

Expert

12+

Presently

Data: MS ADO, ADO.NET, Entity Framework, NHibernate, Hadoop

Senior

5+

Presently

Remote: Data Services, WCF, DCOM, COM+, Web Services, AJAX/JSON/REST

Senior

5+

Presently

Web: AJAX (MS AJAX, Jquery, AngularJS)

Senior

5+

Presently

Databases: MS SQL Server, Oracle RDBMS, IBM DB2 (UDB), Interbase

Senior

15+

Presently

 

 

 

 

Languages

 

 

 

C#, VB.NET

Expert

12+

Presently

C/C++

Expert

10+

Presently

Java

Senior

6+

Few months ago

JavaScript

Senior

7+

Presently

XML, XSL/XSLT, XPath, XAML

Senior

6+

Presently

 

PROFESSIONAL EMPLOYMENT:

Sungevity, Oakland, CA (www.sungevity.com)

October, 2015Present
.NET Application Architect

Prototyped a very easy to use CAD application component that company technicians shall be using in a field to sketch roof plans.
ASP.NET MVC + AngularJS were used to format the complete spec for the Planning Engineers.

The application runs on specially designed Windows10 tablet computers and can be controlled with just a stylus. Since the most important thing for a man working on a roof or ladder is his safety, so the system does not require too sophisticated actions from the worker. For instance, it uses the tablet by itself to measure roof edge’s angles using integrated gyroscope and a specially designed camera to measure the amount of light that any specific region on the roof shall receive.
The internet connectivity and the connection safety in the field are not always guaranteed, thus the application works in a disconnected mode and syncs up data only when the tablet is in a company office.
All application data is being continuously backing up.

Most challenging things are all related to the end user experience because of the application to be used on a home roof or ladder under a very bright sun of California in a middle of the day.

The main project was started a few months ago by a couple of enthusiast engineers in the company and was running with no source control, etc. When I’ve joined the team, one of my first tasks was to setup the Agile process and tools, so I chose to use Visual Studio Online, that allows free of charge usage for small teams. In a matter of a fact, I’ve joined the team to be a temporary Sr. Developer, though had to wear a hat of a developer, technical architect, scrum master, and a build engineer most of the time.

Tools used: Visual Studio 2013, C#, .NET, NUnit, ReSharper, .NET Reflector, Visual Studio Online.


VISA, Foster City, CA (www.visa.com)

May, 2015October, 2015
.NET Application Architect

In charge of the new generation of the high performance parallel platform to generate business intelligence reports.

The system consists of a number of parts to be replaced at some point, though most important ones are the component to analytically process the data from the mainframe-based DB2 database into Hadoop, then load the data into SQL Server database using the second component, and then generate the reports as Excel and PowerPoint files. Presently, the part that finally generates the reports is working sequentially thus produces one report at a time. Some of the reports take up to 40 minutes to generate. Considering the fact that we currently work with five of different flavors of reports and we generate those reports individually for all participating banks in the World and we do this on every quarter, this is a very time consuming process, so we decided to move ahead and re-design this subsystem first.
The new version is designed as a set of asynchronous MS Orleans grains that run across multiple computing nodes.
Because of the approach, any specific report generation workflow looks almost sequential (very similar to what it was before), though it parallelize units of work within the report generation task(s).
The reports scheduler uses ASP.NET MVC + AngularJS for the web-based UI.

Tools used: Visual Studio 2013, C#, .NET, NUnit, ReSharper, .NET Reflector, Visual Studio Online.


Honeywell, Phoenix, AZ (www.honeywell.com)

March, 2015May, 2015
.NET Application Architect

Worked on a new line of home appliance products.

Front-end is Linux-based embedded code running on cameras and ASP.NET MVC-based (with AngularJS) management portal web site, while backend is running on Windows Azure/MS Orleans/WWF/etc.

Tools used: Visual Studio 2013, C#, .NET, NUnit, ReSharper, .NET Reflector, Visual Studio Online, Raspberry Pi platform and related tools.


ThermoFisher, San Jose, CA (www.thermofisher.com)

December, 2014 – January, 2015
Senior .NET Application Architect (short term contract position)

Was hired to solve significant performance issues in the internal software that helps to validate scientific algorithms in the area of mass-spectrometry.

Reduced memory footprint from 2.5 gigabytes to around 250 megabytes.
Increased base operations speed from around 3-4 seconds to an unnoticeable fraction of a second.
Changed the application UI to follow common usability practices.

Tools used: Visual Studio 2013, C#, .NET, WPF, NUnit, ReSharper, .NET Reflector, TFS, Rally.


Agilent Technologies, Santa Clara, CA (www.agilent.com)

January, 2013 – December, 2014
.NET Application Architect, Technical Lead (contract position)

Designed, then prototyped and developed an installation framework based on WiX BURN in a cooperation with the remote team in Saratov (Russia). The installer framework is being used now for most of the software components across the company.

Participated in the design and development of the so-called “WorkArea” distributed virtual file system API, conducted status and design meetings with both remote and local teams. The web-based UI for shared Work Areas was built using ASP.NET MVC + AngularJS.

Tools used: Visual Studio 2013, C#, .NET, WPF, SQL Server, NUnit, Resharper, .NET Reflector, Maven, VersionOne, Git, StarUML, MS Office.


LPL Finance / Fortigent, Rockville, MD (www.lpl.com / fortigent.com)

February, 2013 – May, 2014 (remote, part-time)                           

.NET Application Architect, Technical Lead

Led remote teams in Ukraine and Russia until FINRA prohibited any off-shore projects with these countries.
Designed a pipeline-based customer portfolio processing system. Soon after we finished the project, the team was discharged.

Provided the off-shore team with a robust communication channel to the stakeholders, designed system architecture, prototyped solutions and developed a significant part of the system code, conducted status and design meetings with the remote team, participated in all architecture design activities in the department.
The web-based UI was built using ASP.NET MVC + AngularJS.

Tools used: Visual Studio 2013, C#, .NET, Rabbit MQ, SQL Server, Workflows, NUnit, Resharper, .NET Reflector, NuGet (component packaging software), SVN, Jira, StarUML, Confluence Wiki, MS Office tools.

AtHoc, San Mateo, CA (www.athoc.com)

December, 2012 – February, 2013 (remote, part-time)

.NET Application Architect (contract position)

Helped the company prototyping the new generation of their emergency notifications system to work in a cloud rather than on a regular cluster.
Provided them with the general system design and core implementations. Proposed to use Windows Workflow instead of custom Windows services to manage system state and messages transitions. Used NoSQL database instead of more traditional relational database.

Tools used: Visual Studio 2010, C#, .NET, ASP.NET MVC, SQL Server 2008 R2, Workflows, NuGet, StarUML, Confluence Wiki, MS Office tools.

Boeing Defense, Seattle, WA (www.boeing.com)

June, 2012 – January, 2013

Senior .NET Architect (contract position)

Designed and developed mission-critical software to control small series assembly lines (to support hardware prototyping): http://www.boeing.com/boeing/defense-space/ic/des/.

Helped the team to learn Windows Workflow Foundation in terms of using that to support long-running transactions.
Promoted team to use Test-Driven Development and Pair Programming by providing necessary guidance, participating in coding sessions, giving feedbacks, and reviewing the code.

Tools used: Visual Studio 2010, C#, .NET, ASP.NET MVC, Windows AppFabric, WWF, WCF, SQL Server 2008 R2, NuGet, StarUML, MS Office tools.

GEICO Insurance, Chevy Chase, MD (www.geico.com)

January, 2011 – June, 2012                           

Senior .NET/Application Architect (contract position)

As an active member of the MS Architecture Group, played a role of an architect and technical lead for 5-7 feature areas.

The company moved certain parts of the business software from IBM Mainframe toward the MS set of technologies. There is a compact Microsoft Architecture Group that manages all technological aspects and challenges of this big transition. There were up to 7 feature areas under my architectural supervision, each is supported by a dedicated team of developers: Client API, Policy API, Client and Policy Conversion, Reference Services API, Unattended Transactions API, Durable Transactions API, and Policy Ratings.

Specifically, as a member of that group, I was in charge of a number of feature areas within a very big software project that is being moved from the IBM Mainframe to a private Windows Azure Cloud. In my responsibilities were such things as Client and Policy services with their attended (UX-based) and unattended (fully automated) features, Reference Data Services, and data conversion from IBM DB2 (UDB) to the MS SQL Server 2008 R2. I am overseeing all architectural aspects for these areas, doing architectural design for all critical pieces, providing teams with prototypes, ensuring the developers are using reasonably the best practices available in the industry, and making sure that our software components integrate well with the external world.

Promoted teams to use Test-Driven Development and Pair Programming by providing necessary guidance, participating in coding sessions, giving feedbacks, and reviewing the code.

Tools used: Visual Studio 2010, C#, .NET, ASP.NET MVC, AngularJS, Windows AppFabric, WWF, WCF, SQL Server 2008 R2, NuGet, StarUML, MS Office tools. TOGAF framework was used for the processes.

 

 

FINRA, Rockville, MD (www.finra.org)

January, 2011 – December, 2011                           

CRM Architect

The company had built an integration system to allow its customers to register and maintain legal information on stock market related aspects of company join, split, merge, etc..
Most of the code was developed by small teams off-shore, when FINRA realized that it needs to move the development back to the US to make it more consistent and responsible to the current business needs.

I’ve been responsible for the migration of the development from overseas, establishing the development practices in the local team, changing the system architecture to meet the current company needs, hiring new devs and teaching them to the project framework.

Used tools: MS CRM, C++, C#/.NET, ASP.NET MVC, Javascript, Visual Studio. MS Office.

Expedia, Bellevue, WA (www.expedia.com)

September, 2009 – January, 2011                           

Senior Software Developer

97% of legacy code bug fixing and 3% working hard to fit new features into that legacy code.
Very old core code base (around 1997), mostly in C++, that supposed to be replaced with "new" code in Java with the similar set of by-design issues.

Prototyped a new scripting engine for the web pages rendering to replace the old one. The new engine converted the invented-in-house markup+code into either Javascript or C++ using generated Coco/R-based parser. That allowed faster execution and code an ability to debug as opposite to the old engine, that had neither debugger nor good error handling mechanisms.

Used tools: C++, Java, markup+code, C#/.NET, ASP.NET MVC, Javascript, Visual Studio. MS Office.

Microsoft (Silverlight, Virtual Earth, MS COM Operations, MSN Passport), Redmond, WA

August, 2005 – August, 2009

Software development Engineer for the Application framework (Silverlight).
Software development Engineer in Test for Virtual Earth.

Responsible for the design and development for the following Application Developer-oriented features in Silverlight: Navigation Frame, Collection View, Data Source, Triggers. Designed and developed declarative scenario definition language that allows composing small actions into complex automated scenarios. Evaluated various mocking frameworks for Silverlight, prototyped one for the internal purposes.

Designed and developed a number of features for the VE Map Control. In order to automate the VE Map Control unit/integration-testing and obey the company’s licensing policies I’ve created a Web UI Automation Framework. This framework was used by the whole VE team.

Designed and developed an internal-to-the-company Web UI Automation Framework that is based on automated encapsulation of the Web UI elements and logical groups of elements into accessible by the automation code .Net interfaces, and an XPath-based binding. The framework was used by most of the engineers within the VE team, including both developers and QA engineers.

Design and development of the Web-based application. Automated Active Directory management tasks.

Server management-oriented software tools for the MSN Passport 4.0 (Windows Identity Services), automated tests, etc.

For the MSN Passport I’d designed and developed sophisticated command-line tool for proprietary database scalability solution management. It was originally planning to deploy this tool for the next version of MSN Passport, but after careful consideration, the tool was deployed for the current one.

Also, I made some minor changes for GUI-based management tool in order to support “favorites list” feature to be persisted.

Then, I helped our group of testers to develop and run automated build verification and regression tests for the new set of functionality related to user/relationship management. The mentioned web service-based functionality is going to be exposed to company customers, like eBay, etc., so I even worked with some of the customers when they asked us for help in the provided services usage. Pointed to the significant design issues within the MSN Passport Consent feature, and helped to resolve them.

Used tools: C#/.NET, Javascript, DHTML, MS AJAX, Win32, XAML, Ignite (Unit Test Framework for the Silverlight), Visio, COM/DCOM/COM+.

 

Wachovia bank (fixed income), Charlotte, NC

March, 2005 – August, 2005
Associate Architect, consultant

Trading system for the Global Market (Fixed Income area). Project support and development for internal clients.

Solving problems, adding new features, like: international date format support, support for new subtype of Corporate Bonds, etc.

Initiated changes in software development process, presented Test-Driven Development and Agile Programming to the technical leads (over 10 people were involved).

Used tools: VB6, Delphi, VSS

 

Lehman Brothers (investment bank), Jersey City, NJ

October, 2004 – March, 2005
Java/Perl software developer, production support consultant

Production support (Perl, Java) for data feedings from Bloomberg, Reuters, etc. Huge amount of data load/export procedures, night shifts support, etc.

 

Deutsche Bank Ltd, Fixed Income Information Technology Department (http://www.db.com/) Software Development Center in Moscow, Russia

May, 2004 – October, 2004
Software Engineer, Team and Technical Leader

Banking software development for the Global Market. Complex software with plain Java objects-based legacy server and C#-based software on the client side.

All the development was done completely in XP (eXtreme Programming) including permanent communications with customers, continuous integration, test-driven development and pair programming. All the code we deliver in time and with the high-level quality.

Microsoft .NET technology was used to develop a replacement for the legacy Java Swing-based application for bank traders.

I was in charge of the legacy systems re-engineering, participated in the hands-on code reimplementation, and provided valuable guidance to the development team to fit the product architecture into the .NET framework programming model.

There are the following tools and technologies used for the development:

UML – used for the new software design and reengineering existing software components;

 

GEMPLUS GMBH, Moscow R&D center. (http://www.gemplus.com/), Moscow, Russia

May, 2003 – May, 2004
Software Engineer, Architect and System Analyst

Software development for SIM cards (embedded software) and back-end software development for the cell phone network providers. High-performance Java software development: thread pooling, object pooling, customized memory management, resource dispensers, custom cluster solutions and remote object invocation transports,