Sr. Software Engineer Resume
SUMMARY:
- Open to frelance or part - time contracts. Offers Agile architecture and SOLID development. C# mastery including .Net Core, micro-services, LINQ, lambdas, generics, threading, IoC, refactorings, fluent APIs, and BDD/unit testing.
- Trains and mentors to spread knowledge.
- Researches technology in off-hours. Builds business cases and identifies multiple approaches and risks to raise to the product owner.
- Architects using design patterns, DDD, CQRS and Event Sourcing where applicable.
- Passionate about automated deployment and testing including legacy code coverage with mocks, spies and stubs.
TECHNICAL SKILLS:
C#: Advanced knowledge (linq/lambdas/generics/regex/multithreading/fluent Apis), .Net core, ASP.NET, WinForms, WPF, MVC, DI/IoC, DDD, CQRS, Event Sourcing, fluent Apis, code gen, WCF/WebApi, XML, SQL, unit tests/BDD.
Web Api / MVC: REST Web Apis, CQRS, micro-services, validation, versioning, controller/service SoC, routing
Cloud / CI / PowerShell: automated deployments, migrations, and tools. Devops mindset to fully automate. Learning and interested in the Hashi corp toolchain and successfully implemented Consul.
Databases: Design, ORM, stored procs, triggers, complex SQL queries, query optimization, index tuning.
Agile Process and Documentation: Pairs and reviews designs/code. Created documentation and training programs. Interacts with product owners and QA to enumerate workflows and identify edge cases.
Source control: Git, Mercurial, and others. Checks in frequently and skilled in merging and branching.
Testing: Automated unit & integration testing with NUnit/MsTest/Specflow, including BDD, TDD, mocks, stubs, spies.
PROFESSIONAL EXPERIENCE:
Confidential
Sr. Software Engineer
Responsibilities:
- Created a proof of concept with a .Net core micro-service for configuration management and presented it to others
- Significantly optimized AWS file transfer memory/performance by making ~60% fewer memory allocations
- In conjunction with a profiler, optimized several stored procedures and indexes
- Added application insights instrumentation to several areas
Sr. Software Architect
Responsibilities:
- Created and implemented an architectural roadmap to migrate a monolith into micro-services
- Created a .Net Core 2.0 microservice interacting with Consul for health checks and settings management
- Implemented several Chatops initiatives to integrate Slack, TeamCity, Octopus and Jira.
- Profiled and significantly improved performance in multiple tiers (code, service chattiness and DAL)
Application Architect
Responsibilities:
- Lead developer and architect on a greenfield event-sourced C# OWIN Web Api with 1 other developer
- Created multi-tenant command and query micro-services (CQRS) for horizontal scalability and performance
- Created a configuration micro-service to authenticate, decrypt and deserialize config settings hosted in Azure
- Created an external gateway micro-service to decouple integrations and external domain mappings
- Created an eventual-consistency read model polling client and projection engine
- Secured api layer with intercepted url tenant id that is injected in the DAL to filter on DB partition function
- Achieved an unprecedented level of devops automation with Jenkins and a PowerShell-based DB generator/migrator
- Created fluent Apis for: a difference-dispatching engine, test data creation, mapping, predicate building
- Introduced company-wide cultural changes such as Slack over email, Agile evangelism/processes and best-practices
- Significantly optimized performance of other legacy software including stored procedures and code
Lead Software Developer
Responsibilities:
- Sole developer for external integrations on a team with a dedicated QA and PO (1:1 ratio) due to high velocity
- Brought the application under tests using Mocks, IoC and Specflow (a BDD test tool)
- Developed a framework to automatically map and transform SpecFlow phrases and data into domain objects
Lead Software Developer
Responsibilities:
- Modernized, enhanced, debugged, refactored, introduced tests for a legacy enterprise application
- Mentored and led an outsourced team of developers. Personal Scrum velocity was over ½ of the other 4 devs
Architect
Responsibilities:
- Rearchitected a high volume loan application, bringing average service response time down from 2.87 to .82 sec
- Optimized queries and created a DSL with a dynamic LINQ expression parser to implement business rules and scoring
- Introduced a data access layer using SubSonic and fixed legacy vulnerabilities to sql injection
- Rewrote a business rules and data sanitizing engine, introduced unit tests, and an API versioning system
Application Architect
Responsibilities:
- Architected a greenfied n-tier system to handle Police and Courts information
- Led designs/reviews, implemented Agile, trained junior devs, developed CSLA extensions and test infrastructure
Sr. Software Developer
Responsibilities:
- Created a metadata portal to manage DB integrations from multiple products
- On my own initiative, developed presentations to train other developers on refactoring and design patterns
- Wrote macros to automate several processes - these were then copied and adapted for use around the department
- Received the company’s highest score (~200 devs) on the technical assessment
Lead Software Developer
Responsibilities:
- Designed custom ActiveX controls, mail merging, report generation, and Office integration via MS Api
- Created a custom ActiveX Flexgrid Control with many enhancements
- Saved hundreds of data entry hours by automating Outlook contact imports from Simeon system using outlook Api
- Designed and implemented a data synchronization Api in real-time linking Active Directory and SQL Server
Owner
Responsibilities:
- Technical training for individuals and groups: created presentations & materials.
- Full life-cycle application development and customization for law firms including UIs, reports, tools, and modules
- Wrote a database application for a doctor’s office to track allergy formularies
- Created temporary tables and stored procedures to automate the conversion of a billing system
Lead Technical Trainer
Responsibilities:
- Developed, trained, tested, supported and documented the customization tools of a legal software package
- Designed and programmed custom reports, stored procedures, tables, forms and queries using a VB dialect
- Top billable revenue in the company: up to $165/hr contract rate and my weekly technical bootcamp was 12k a seat