Senior .net Developer Resume
SUMMARY:
- Experienced (13 years) .NET developer with strong front end and back end programming skills. Strong analytical skills and ability to learn quickly. Excellent team player as well as an individual contributor. Within the past 4 years I have been switching from monolithic applications to SOA. I have built 20+ micro services with NServicebus and SPA mostly hosted in Microsoft Azure Cloud. I use github, TeamCity and Octopus to make automated, continuous deployment.
TECHNICAL SKILLS:
Programming Languages: C#.NET, JavaScript, HTML, CSS, SQL, XML, Xslt, Powershell
.Net Skills: ASP.NET Web API, MVC, Web Forms, ASP.NET Core Web API, WinForms, ADO.NET Entity Framework, Entity Framework Core, WCF, Multithreading, Parallel programming, Async Programming
Client Side Skills: Knockout, React, Redux, Angular 1 and 4, TypeScript, jQuery. Requirejs, Gulp, Webpack, Babel.
NPM, Bower: CSS, Bootstrap
Messaging Skills: Nservicebus: handlers, sagas, scheduling, message mutators, logging, testing, etc.
Transports: Azure service Bus, MSMQPersistence: SQL, MongoDB
Microsoft Azure Portal Skills: Cloud Services, Virtual Machines, SQL Databases, Storage (blob, table), Servicebus, Active Directory
Databases: SQL Server, MongoDB
Testing Skills: Unit tests/Integration tests: NUnit, Moq, FakeItEasy, NServicebus Testing
Tools: Used Daily:Editors: Microsoft Visual Studio 2015, Atom, Visual Studio Code
Source control: Git Extensions
Continuous Integration: TeamCity, Octopus Deploy
Project Management: Jira
PROFESSIONAL EXPERIENCE:
Confidential
Senior .Net Developer
Responsibilities:
- Confidential 's public website is built with open source CMS Umbraco. This project sends various NServicebus message to other services. It also has a search section which is backed by the Endeca search engine. I was involved from the begin of this project and understand the fundamentals of Umbraco such as document types, templates and macros, etc.
- This app I maintained is a SPA built with Knockout hosted in Azure cloud service. It let the users take the quiz and store their answers for analytics purposes.
Key technologies: Azure Cloud Service, Knockout, Bootstrap, ASP.NET Web API, CORS, MongoDB
Confidential
Responsibilities:
- This Azure Cloud Service I built consists of a web endpoint and a Nservicebus worker role endpoint. The web endpoint is a Knockout SPA responsible for editing questions, answers and sponsor informations, etc. The Nservicebus worker role Endpoint is responsible for storing quiz data into MongoDB.
- A monolithic ASP.NET Web Forms CMS responsible for entering so many things from the assets Confidential sale such as articles, reports, charts, to the management of extranet users, etc. This project is mixed with Web API, jQuery and Knockout. It sends various NServicebus message to other services. I was involved from the beginning of this project. Recently I built a web calendar SPA with Knockout to display various Ads information.
Key technologies: ASP.NET Web Forms, Web API, jQuery and Knockout, SQL Server, MongoDB, NServiceBus
Confidential
Responsibilities:
- An ASP.NET project I maintained mainly for searching and editing chart informations. The front end was built with jQuery, the back end is ASP.NET Web API. It sends various NServiceBus message to the Content Publisher service which is explained below.
- A micro service I maintained for publishing various kinds of messages about the critical assets the Confidential sale including articles, interviews, reports, charts, briefs, etc. It receives messages sent from other website or apps, then it publishes events to all subscribers. It is hosted in Azure cloud service.
- Hosted in Azure cloud service, consist of a web endpoint and a subscriber endpoint. The subscriber endpoint subscribes to the Content Publisher service to receive eMarketers assets such as articles, interviews. reports, charts, briefs, webinars, etc. The web endpoint is a Knockout SPA which let the user create a blank daily newsletters, then search and insert various kind of assets into that newsletter. It sends selected assets for the newsletter date to the subscriber endpoint. The subscriber endpoint create a saga for the specified newsletter date and also wait for html ads segments published from an Ad Management service. It then compose the html of the newsletter using a predefined template and invoke Marketo REST API to create and schedule an email newsletter campaign. I built the most of the this project.
- A back end only Nservicebus project hosted in Azure cloud service. It receives messages of ad data from the Web Administration Site. It then build html segments for the ads using html templates and publishes the html segments to all kind of newsletter services.
Key technologies: Nservicebus sagas, Mustache, MongoDB
Confidential
Responsibilities:
- This Azure cloud service that I built consists of a web endpoint and a Nservicebus worker role endpoint. The web endpoint handles opens of all kinds of newsletter emails and clicks of every links in the emails. It sends data of opens and clicks to the Nservicebus worker role endpoint and then redirect accordingly. Most of the clicks are for Confidential assets which will be redirected to Confidential 's ViewContent website (described below) which displays the details of the assets
- The Nservicebus worker role endpoint dedups opens and clicks and store them into Azure table Storage. It finally will send opens and clicks to the Confidential for analytics purposes.
Key technologies: ASP.NET Web API, Nservicebus sagas, Azure Table Storage
Confidential
Responsibilities:
- This Azure cloud service that I maintained consists of 3 endpoints, a scheduler, a composer and a shipper. The scheduler periodically checks for new assets for each user's alerts. If any new assets are found, it sends messages to the composer. The composer compose the stat alert email content and sends to the shipper. The shipper sends the alert's content to Mandrill which is responsible for delivery of the email.
- A console app I created years ago running by the task scheduler to send emails about newly created Confidential reports. It composes email contents and send to the Servicebus service (described below) which handles the delivery.
- This Azure Cloud Service I built consists of a web endpoint and a Nservicebus subscriber endpoint. The web endpoint is a ASP.NET MVC project responsible for displaying detailed Confidential assets such as articles, interviews, reports, charts, briefs, etc. The subscriber endpoint subscribes to the Content Publisher service (described above) to get Confidential assets details and stores them in MongoDB. It also subscribes to the User Seat service (described below) to get extranet's users data. The web endpoint uses the extranet users data to determine if the request is valid before displaying the asset page.
Key technologies: ASP.NET MVC 5, NServicebus handlers
Confidential
Salesforce Outbound Message Handler
Responsibilities:
- This Nservicebus service I developed and maintained handles many things which is against the micro services concepts. It should have been separated into smaller services each handles a specific task. It has many handlers which handles such as assets editing, email delivery, extranet users and accounts syncing with Salesforce, history logging, etc.
- A simple ASP.NET MVC project I built for the users to reset their password.
- A simple ASP.NET MVC project I built for Confidential account managers to manage extranet users.
Key technologies: ASP.NET MVC 5, SQL Server
Confidential
.NET Developer
Responsibilities:
- Design, Developed and Implemented Team Volunteer which is an asp.net application designed to assist campaigns in fundraising, polling, organization building, volunteer recruitment and management, event preparation, voter outreach and ID, and getting - out-the-vote. Team Volunteer records callee responses, and following-up with callees as is appropriate.
- Design and implemented an asp.net web site where riders can find and choose helmets from more styles and innovative features, locate dealers, view events, etc.
- Design and developed a C#.NET Windows Form application which is day-to-day, month-to-month, electronic calendar to document your child’s precious moments, memories, and milestones of the first five years.
- A Windows Form desktop application which automates two existing desktop application in order to save the user some time from doing repeating tasks on a daily basis. Implemented in C#.NET.
- Used .NET InteropServices to invoke Win32 API functions, such as GetClassName, EnumChildWindows, GetWindowText, etc, to locate the right window and control in order to have it automated.
Confidential
.net developer
Responsibilities:
- Developed a Windows Forms n-tiered Laboratory Management System application with the capability of managing the database and creating various statistical reports and charts. Created administrative security levels for different users. The application dramatically facilitates the everyday duty of laboratory staff. Technologies utilized: C#.net, SQL Server 2000, Transact-SQL, ADO.NET, Crystal Reports 8.5.