Skip to content

Latest commit

 

History

History
159 lines (102 loc) · 11.5 KB

resume.md

File metadata and controls

159 lines (102 loc) · 11.5 KB

James Nail

Takoma Park, MD

Introduction

Principal software engineer (19 yrs. professional experience), with expertise in modern full-stack JavaScript/TypeScript development, solution/application architecture, and the full software development lifecycle (SDLC), seeking a full-time position in a forward-thinking, lean, team-oriented environment.

Technical Summary

Relevant Languages

JavaScript (11 years, 5 years TypeScript), C# (9 years), SQL (19 years), CSS / HTML (19+ years)

Concepts / Practices

Single Page Applications (SPAs), microservices, DevOps, Design Patterns, OOP, Domain-Driven Design (DDD), Test-Driven Development (TDD), Agile development practices, refactoring, Release Management, Configuration Management, Continuous Delivery / Continuous Integration, REST/HTTP APIs, Root Cause Analysis, Problem Solving, Mentoring

Technologies

  • Libraries / Frameworks: Node.js, React.js, React-router, TypeScript, Express.js, KoaJS, CSS, HTML5
  • Testing Tools: Playwright, Cypress, Testing Library, Jest, Applitools Eyes (visual regression testing), WebDriver
  • Databases: Microsoft SQL Server, PostgreSQL, MySQL, RethinkDB (NoSQL), Redis (cache)
  • Dev / Ops Tools: Visual Studio Code, DataDog, AWS, NPM, pnpm, git, GitHub, Mercurial, TeamCity, CircleCI, Heroku, ReSharper, NewRelic

Experience

Cvent, Tysons Corner, VA (Oct 2018 - Present)

Cvent is an industry-leading meetings, events, and hospitality technology provider.

Principal Software Engineer (Feb 2022 - Present)

Lead Software Engineer (Jun 2020 - Feb 2022)

  • Technical lead of Interactive Floor Plans (IFP) product team, delivering a full overhaul and UI redesign of an existing legacy application. In addition to successfully delivering the new UI, we added localization (via Phrase and formatjs) and achieved VPAT accessibility compliance, all while increasing test coverage from 0 to ~80% (not counting end-to-end and visual regression tests).

Social Tables, Washington, DC (Mar 2018 - Oct 2018)

Social Tables, a startup in the event management and diagramming space, was acquired by Cvent in October 2018.

Sr. Software Engineer

  • Pioneered R&D initiative to introduce Continuous Delivery to Social Tables teams, including authoring several CircleCI configuration "orbs."
  • Developed tooling to virtualize HTTP and GraphQL dependencies to enhance functional testing for web applications.
  • Developed Social Tables' standard logging library, which adds tracking of asynchronous execution contexts using NodeJS's AsyncLocalStorage to logging functionality via pino.

Lanetix, Arlington, VA (Nov 2015 - Jan 2018)

Lanetix, headquartered in San Francisco, is a venture capital-backed firm offering cloud-based CRM solutions for shipping and logistics providers.

Sr. Software Engineer

  • Full-stack JavaScript development, using React with Redux on the front-end and Node.js / Express.js / PostgreSQL on the back-end.
  • Refactored and migrated several UI sub-applications from separate Flux stores to a single global Redux store
  • Designed and implemented real-time data updates pushed to the browser using WebSockets via Pusher, coordinated via redux-saga
  • Designed and built our workflow planning subsystem, which planned and re-planned a network of dependent tasks (as a directed acyclic graph) based on user-provided durations and buffer / lead time values. The planning component supported recurring constraints, weekends/holidays/non-working days, and slack / critical path calculations using a topological sort algorithm.
  • As a member of the Platform / Records squad, my team and I:
    • built Lanetix's next generation core records / data modeling subsystem
    • implemented inline data entry / editing for the core records system in react-data-grid

NRECA, Arlington, VA (Feb 2011 - Nov 2015)

The National Rural Electric Cooperative Association is a trade association of 700+ employees that represents and provides employment benefits to over 1400 electric cooperatives around the country. My team (NEB – NRECA Employee Benefits) created and maintained web applications enabling our member co-ops and their employees to administer employment benefits (including 401(k) retirement accounts, defined benefit pensions, health insurance, life insurance, etc.) provided by NRECA.

Sr. Application Developer / Representative, level 120/T124 (Jun 2013 - Nov 2015)

  • Responsible for recognizing emerging architectural needs and adapting the NEB codebase to meet them. This has included evolving our development platform from a single ASP.Net MVC-based application to a platform supporting an SPA front end via multiple RESTful ASP.Net WebAPI applications and NServiceBus services.
  • Devised technical approach for migration of existing NEB features to meet evolving architectural needs
  • Identifying and remediating existing technical debt
  • Mentoring / coaching developers and advising project/feature teams’ design and implementation efforts
  • Development of high-impact / critical software components as needed
  • Thought leadership, advocating for continuous improvement of software practices

Sr. Application Developer / Advisor, level 119/T123 (Feb 2011 - Jun 2013)

  • Led design, architecture, and ongoing development of NEB’s next generation development platform to provide a path to sustainable development and introduce our developers to good software development principles and practices (i.e., Continuous Delivery, SOLID principles, TDD, etc.). All new features are now developed on this platform, and existing features are migrated over on an ongoing basis.
  • Developed custom ASP.Net Site Map provider to integrate our primarily Umbraco-based site structure with external SharePoint content.
  • Developed shared internal login site to enable testers to impersonate users in any of our non-production application environments.
  • Joined collaborative development team for high-profile project to implement single sign-on (SSO), two-factor authentication and corresponding support/admin application for NRECA’s public portal websites.

NGP VAN, Washington, DC (Feb 2005 - Jan 2011)

NGP VAN, Inc. (formerly NGP Software, Inc.) is the leading provider of software solutions and technology consulting for Democratic and progressive political organizations across the country.

Software Developer, NGP Labs Division (Apr 2010 - Jan 2011)

  • Designing, developing requirements, and implementing Call Time management application, a web-based COO add-on to manage and facilitate campaign fundraising "call time" processes.
    • Tech Details: C# 4.0, ASP.Net MVC 3.0 (Razor view engine), integration with COO/CWP API via ASMX Web Services, unit testing with nUnit & Moq, dependency injection via StructureMap, Domain-Driven-Design, O/R mapping via NHibernate, Ajax/dynamic UI using unobtrusive jQuery/JavaScript/jQuery UI/jqGrid/HTML5/CSS
  • Designed and implemented complete re-write of CampaignOffice Mobile, a web-based COO add-on to enable access to key fundraising / contact information via browser-enabled mobile devices, including enhancements to provide processing of credit-card payments.

Technical Lead, COO / CWP Current Generation Product Team (Nov 2008 - Apr 2010)

  • Led development/maintenance team of 5 for the current generation of NGP's flagship product line.
  • Led and performed refactoring and code cleanup efforts to drastically reduce coupling of application components and increase maintainability.
  • Successfully directed improvements to code-base integrity, configuration & release management, and reduced deployment costs by implementing continuous integration, enhanced branching and merging strategies, and increased automation of build & deployment processes.

Software Developer / Architect, COO Next Generation Product Team (Aug 2007 - Nov 2008)

  • Led initial design and implementation efforts, including object modeling and application architecture, for green-field redevelopment of NGP's flagship product.
  • Designed and implemented abstract data access infrastructure to support persistence ignorant/Domain-Driven-Design-style object-oriented development using NHibernate for O/R mapping.
  • Research & development to evaluate technologies and architectural approaches.

Software Developer, COO Team (Jan 2007 - Aug 2007)

  • Developed product enhancements allowing users to integrate fundraising contacts data with external voter data provider via SOAP Web Services.
  • Requirements elicitation and analysis for proposed overhaul of enterprise application import subsystem.
  • Developed internal application to create and manage manual QA test script assignments and execution using TFS API & NHibernate.

Lead Developer / Product Owner, NGP Field Product (Jan 2006 - Jan 2007)

  • Overhauled barcode scanning data entry system to enhance efficiency and user experience using Ajax, ASP.Net.
  • Enhanced application functionality and increased application capacity for NGP Field from 100,000 records to 3 million +, enabling sales to larger, more sophisticated campaigns.
  • Overhauled application reporting features to increase capacity and improve usability, added capability for custom reports using ASP.Net, MS SQL Server Reporting Services (SSRS).
  • Provided extensive on-site and remote support, training, and strategic consulting services

Software Developer / Data Conversion Specialist, COO Desktop Team (Feb 2005 - Jan 2006)

  • Enhancements to CampaignOffice desktop version including tracking of financial debts, account transfers.
  • Developed internal application to manage and automate various development processes for state-specific campaign finance disclosure enhancements.
  • Developed state-specific fundraising disclosure applications for Louisiana, Idaho.
  • Developed custom voter petition tracking application with MS Access front-end and SQL Server back-end.

Grassroots Solutions, Washington, DC (Jul 2004 - Jan 2005)

Grassroots Solutions is one of the country’s leading political consulting firms specializing in direct voter contact activities.

Targeting Data Analyst

  • Statistical data analysis and reporting
  • Voter database management (MS Access, SQL Server)
  • GIS Mapping via ESRI ArcView
  • Developed custom software solutions, including:
    • MS Access / VBA desktop application to track door-to-door canvassing and phone banking activities featuring rapid bar-coded data entry.
    • MS Excel / VBA application to automate processing of political targeting data.

Digital Campaigns, Palo Alto, CA (Dec 2003 - Jul 2004)

Digital Campaigns is a venture capital-funded software firm which develops customized web-based applications for political campaigns and non-profit organizations.

Client Services / Account Representative

  • Developed requirements and managed delivery of software enhancements:
    • Custom enhancements and bug fixes to web-based convention delegate tracking application (John Kerry for President)
    • Initial rollout, custom enhancements and bug fixes for web-based voter database applications in three key presidential primary states (John Edwards for President)
  • Managed client relationships, provided user support and training (remote and on-site).
  • Basic web UI development using MASON/Perl, HTML, CSS
  • Data hygeine and migration

Education

Louisiana State University

Baton Rouge, LA

  • B.A., Political Science