C#, Sql Server, .net Consultant Resume
3.00/5 (Submit Your Rating)
Chicago, IllinoiS
SUMMARY:
- To obtain a challenging C#/.NET based web development software development position using my C#/.NET and SQL Server skills for an organization that places a very strong emphasis developing on high quality software through a commitment to a formal software development methodology that includes analysis, design, documentation and testing infrastructure.
- Ideal technologies are ASP.NET MVC, jQuery and Entity Frameowrk.
PROFESSIONAL EXPERIENCE:
Confidential, Chicago, Illinois
C#, SQL Server, .Net Consultant
Responsibilities:
- Experience with Kentico CMS, ASP.NET MVC, Razor, CSS
- Development of SQL Server stored procedures and utilization of MVC Web API to retrieve data
- Using C#, programmatically exported historical finacial data into Microsoft Excel using NPOI
- Using JavaScript, jQuery, Highcharts and DataTables, produced web reports and associated graphs
C#, .Net Consultant
Responsibilities:
- Using ServiceStack and OrmLite, added server - side functionality to support the company’s “Takeovers” Project. The functionality was based on RESTful web services using ServiceStack and a significant amount of SQL. The ServiceStack provided the backend to a large web application, returning JSON data. Additional technologies used were NUnit and NSubstitute mocking framework.
- Using C#, generated PDF and Excel reports using iTextSharp and NPOI, respectively.
Senior C# .Net Developer/Consultant
Responsibilities:
- Transitioned numerous .NET solutions from a Vault repository to TFS. Much of this effort involved replacing references to assemblies in a solution-wide global lib folders with references to NuGet packages.
- Minor development on WCF-based services.
C#, .Net Developer/Consultant
Responsibilities:
- As a rotating "Feature Lead", coordinated and integrated the development efforts other team members, creation of component models as well as code and unit test reviews.
- Developed enhancements and maintenance fixes to the Goals Powered Investment product used to assist high net worth clients in planning to meet investment goals over a lifetime. The underlying technologies used are Windows Presentation Foundation (WPF) with a strong emphasis on NUnit and Moq testing frameworks. The project makes extensive use of Dependency Injection (using Unity) and the Interface Segregation Principle. Additional use of TFS in performing branching and merging using BeyondCompare.
Senior C# Consultant
Responsibilities:
- Modified an existing ASP.NET MVC application to support new reporting requirements. An added improvement was to factor common HTML into partial Razor views, styled by CSS.
- Implemented a multi-threaded improvement (using parallel for loop) to an existing WinForms application. The enhancements improved execution performance of a portion of the application by approximately 450%.
- Using the Microsoft Enterprise Library Logging Component, added configurable logging using rolling flat files, database tables and email destinations. A facade was added over the existing Microsoft Logging Component XML configuration to ease the modification of the most commonly modified parameters.
- Improved reliability and performance of a WinForms application that had originally performed direct database insertions. The improvement "batched" serialized image data which was then later written by a WCF service to the database.
- Extensive experience with LINQ to Objects as part of filtering and categorization of medical claim data.
.NET Consultant
Responsibilities:
- Enhanced functionality of UBS’ Fixed Income Portfolio Management application. This C# WinForms application is deployed globally (via Citrix) and is used by UBS fixed income portfolio managers across the world. It provides customizable categorization (i.e., “bucketing”) and filtering of accounts, trade simulation and execution via interaction with the Longview trading system. The system maintains position and instrument information in several large, centralized memory caches that are kept synchronized using TIBCO messaging. The WinForms client application utilizes WCF to invoke business logic.
- To improve system performance, implemented a C#-based memory mapped file-based implementation of a System.Collections.Generic.IDictionary using BCL MemoryMappedFile class. The implementation required extensive cross-process thread synchronization to maintain the consistency and integrity of the memory mapped file-based IDictionary, while allowing multiple simultaneous “readers”. The implementation made extensive use of Windows threading primitives such as Semaphores and EventWaitHandles.
- Implemented a master-detail UI using a DataGridView, BindingSource and TextBoxes. The DataGridView was populated via a WCF call.
- Developed an SSIS package to generate “request files” sent to the company’s accounting system for the retrieval of account, position and holdings information. The resulting “response files” were then associated with the original request and their data was transformed before being imported into staging tables and then permanent tables. This effort required several stored procedures, a trigger and the use of cursors to transform rows of data into a single column.
Software Developer
Responsibilities:
- Developed the entire ASP.NET based user interface for the Illinois MOVE system to provide ballot requests for Illinois overseas and military voters. This effort made use of nested Repeater controls, ASP.NET Caching, Membership API, MultiView, several Validation controls and controls from the Microsoft Ajax Control Toolkit.
- Made several performance and usability improvements to the Illinois Voter Registration system (IVRS) by replacing existing full-page postback behavior with Ajax-enabled web service calls. Data returned from the WS calls was used to dynamically update the web UI via JavaScript. Additional UI improvement was achieved using Ajax UpdatePanel and UpdateProgress controls. Effort was made to update only those portions of the UI that required update at any given time.
- Replaced a standard GridView-based master-detail arrangement of voter information with a CollapsiblePanel-based list. Each CollapsiblePanel header contains general voter information. Clicking on the header causes the panel to expand, displaying detailed information for the selected voter.
- Modified several ADO.NET DAO classes that utilized DataSet and DataTables as DAO return values. Replaced a home-grown SearchCriteria class with a standard ADO.NET DataView class.
- Made enhancements and bug fixes to an ASP.NET application to support Cook County Early Voting, including JavaScript based navigation/updating of a GridView generated table containing numeric textboxes. Part of this effort included validating user input using the standard ASP.NET Validator controls' client side JavaScript API.
- Implemented an Entity-Framework and MVC2 proof of concept prototype application to study the feasibility of using EF. Ultimately, the use of EF was considered too high risk for migration.
Senior Applications Developer
Responsibilities:
- Developed a C# application to extract geography data from Yahoo GeoPlanet web service to help ensure company products would be sold in legal geographies.
- Developed a Java-based RESTful web service to print bar-code labels supplied by UPS. The web service acts as a facade to an analogous UPS-provided web service.
- Implemented an owner-drawn TreeView control that presented a “partially selected” display if any child node in the hierarchy was selected.
- Light experience with Silverlight and WPF in the development of a client application proof of concept.
- Developed a C# "automation DLL" to provide automated control over an existing VB.NET application. The VB.NET application hands execution control over to the DLL which monitors file system and FTP directories and programmatically controls the VB.NET user interface. This project utilized LINQ to Objects.
C#/ASP.NET Developer
Responsibilities:
- Made enhancements to and performed maintenance on an ASP.NET 2.0 Portfolio Management application. Primary enhancements involved usage of several ASP.NET 2.0 controls to allow Portfolio Managers to view their accounts with associated securities/positions and to initiate trades. Account and security/position information was presented in a "master/detail" arrangement. The primary controls used were GridView, DetailsView, DataSource, Validation and Login controls using Forms-based authentication. Trades were executed via a web service.
- Developed a multi-threaded C# WinForms application to facilitate source code migration to various development environments. The application initiated the execution of and communicated with a Perl program (stored as an embedded resources) via standard input/output streams which, in turn, issued commands to PVCS. Communication with Perl script occurred on a separate thread for a responsive UI. The primary UI controls included a multi-select, owner drawn TreeView, context-sensitive menus, MaskedTextBox and ListView.
- Developed a C# XML "comparison tool" that identifies all semantically identical XML files across directories. This console application used an XmlReader and maintained a hash code (i.e., fingerprint) for each file. Duplicate documents were identified by comparing “fingerprints”.
Java Consultant
Responsibilities:
- Developed several Java services to perform CRUD operations on underlying business objects. Some of this development involved usage of the Spring Framework and “SQL Maps” using iBatis relational mapping tool.
- Developed approximately 60 JUnit test cases. In addition to JUnit testing, several static code analysis tools were investigated and used to varying degrees including FindBugs, JLint and PMD.
- Developed approximately 20 stored procedures using PL/SQL on Oracle 10g for JP Morgan's CRM Project. Several of the procedures utilized cursors, bulk updates or materialized views.
Java Consultant
Responsibilities:
- Developed several XSLT-based utilities for generating Java source code from XML representations of DB2 tables. The generated classes represent Value Objects (VO) and Data Access Objects (DAO) implementations of the underlying business entities. The DAOs contained SQL for the creation, retrieval, update and deletion of underlying business objects as well as several utility methods.