Alexander Fedin

  • .Net Application Architect
  • Fremont, CA
  • Member Since Mar 16, 2023

Candidates About

 

Alexander Fedin

 

Software Architecture & Development

      18+ years of successful commercial experience

      Design and development of complex enterprise-level business applications;

      Expertise in the Microsoft stack of technologies;

      Strong experience in designing and developing databases on variety of platforms;

      An expert in software migration from legacy technologies;

      Agile Processes evangelist.

 

Skills Matrix:

Skill

Level

Years used

 

 

 

Software Architecture & Design

Enterprise architecture, Applications architecture, Distributed architecture

Expert

15+

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

Expert

15+

 

 

 

Platforms & Frameworks

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

Expert

12+

ASP.NET, ASP

Expert

10+

Windows Azure, Amazon EC, MS Orleans

Expert

6+

 

 

 

Technologies

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

Expert

6+

Compilers: Coco/R, EBNF

Senior

3+

Cloud Platforms: Amazon AWS, Windows Azure

Senior

3+

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

Expert

18+

Data Access: MS ADO, ADO.NET, Entity Framework, NHibernate, Hadoop, Apache Cassandra, MongoDB

Expert

10+

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

Expert

5+

Web: AJAX (MS AJAX, JQuery, Angular 2)

Senior

5+

Databases: MS SQL Server, Oracle RDBMS, IBM DB2, MySQL

Expert

15+

NoSQL: DocumentDB, MongoDB, Cassandra

Senior

4+

Blockchains, Smartcontracts

Beginner

<1

 

 

 

Languages

C/C++, C#, VB.NET, Java

Expert

15+

JavaScript, TypeScript

Senior

7+

XML, XSL/XSLT, XPath, XAML

Senior

6+

 

PROFESSIONAL EMPLOYMENT:

Tesla Motors, Fremont, CA (www.teslamotors.com)

January, 2017Present
.NET Application Architect (consultant)

Working on a set of applications (5 apps, each app consists of data layer, middle tier and angular2-based UI) to support company logistics (similar to Toyota’s Kanban).

Released major upgrade of the in-house grown supply chain software to universally support many suppliers; significantly improved key components performance.

Tools and technologies used: Visual Studio 2017, C#, .NET, Angular2, TypeScript, ReSharper, .NET Reflector, MySql, MS SQL Server.

 

 

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

October, 2015 January, 2017
.NET Application Architect (consultant)

Had been working on a distributed application to collect a variety of data from the customers’ sites, i.e. electrical equipment lists and parameters, roofs geometry, solar radiation, etc.

Led a small team of developers.

Prototyped a very easy to use CAD application component that company technicians shall be using in a field to sketch roof plans.

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 .NET Architect to design the CAD component of the system, though had to wear a hat of a developer, technical architect, scrum master, and a build engineer most of the time.

Introduced Visual Studio Online to the team.

Tools and technologies used: Visual Studio 2013, C#, .NET, NUnit, ReSharper, .NET Reflector, Visual Studio Online, MongoDB (as a document storage).


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

May, 2015October, 2015
.NET Application Architect (consultant)

In charge of the new generation of the high performance parallel platform to generate business intelligence reports, led a team of developers.

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, RPA for UI automation.


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

March, 2015May, 2015
.NET Application Architect (consultant)

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, RPA for UI automation.


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

December, 2014 – January, 2015
Senior .NET Application Architect (consultant)

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, RPA for UI automation.


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

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

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, RPA for UI automation.


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

February, 2013 – May, 2014

.NET Application Architect (consultant)

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, RPA for UI automation.

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

December, 2012 – February, 2013

.NET Application Architect (consultant)

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 (consultant)

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 (consultant)

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, RPA for UI automation.

 

 

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

January, 2011 – December, 2011                           

CRM Architect (consultant)

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. RPA was used to integrate third-party software.

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

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

September, 2009 – January, 2011                           

Senior Software Developer (consultant)

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, RPA for UI automation.

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+, RPA for UI automation.

 

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, RPA for UI automation

 

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 Architect, 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;

RPA for UI automation

 

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, etc.

EJB 2.x (Enterprise Java Beans) development, EJB 2.x architecture design and development. Used MVC (Model-View-Controller) for the enterprise application development. Developed financial software for cell-phone networks to provide customers with the mobile financial services, etc. The latest projects were related to the financial sphere and have been designed to process a number of millions on-line payment transactions per day. I participated in the projects as an EJB architect, led team, and developed mission-critical components. All the projects were delivered on time and with high quality. We used “eXtreme programming” environment in the development with the two weeks iterations length, issued milestone versions after the each iteration, and worked in tightly cooperation with customers. All the software has been thoroughly tested by our QA team, and proven by our customers.

Microsoft .NET technology has been used in the development enterprise-level software for Microsoft Windows. We re-designed and ported two J2EE applications to the Microsoft .NET framework in order to meet requirements of our VIP customer.

My main responsibility was project management and team leadership, as well as 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.

 

DELL Computer Corp, European Manufacturing Facility. (http://europe.dell.com/), Moscow, Russia

March, 2002 – May, 2003
Engineering Team Leader, Architect and System Analyst

Lead team of developers, oversee and control the development process, design architecture ASPECTS, hands-on development.

I led a team that developed some kind of Automated Control Framework (ACF), intended for