Principal Software Engineer

Employer
Sage
Location
Reston, VA
Posted
May 19, 2017
Closes
May 22, 2017
Industry
Engineering
Hours
Full Time
Overview:As a recognized Integration Services technology expert, the Principal Software Engineer analyzes, designs, programs, debugs, modifies, and enhances complex software features and/or new software products. This includes making important design and architecture decisions and providing leadership and mentoring within the product technology team for multiple products. The Principal SE has advanced skills in creating SDKs, APIs and middleware for secure integration of payments and payment card devices. The role involves working with external partners and software vendors to provide integrated payment solutions within a diverse set Products, Applications, Websites, and Point of Sale solutions. The Principal Software Engineer collaborates effectively with all stakeholders, internal and client facing, and can draw upon extensive experience and expertise to diagnose, triage, and solve complex engineering problems or debug production issues. The Principal Software Engineer provides leadership within the Scrum team for technical meetings, conduct code reviews and establishes team development processes and determines application frameworks and architecture direction. Responsibilities:Develop complex suite of payments related software APIs, SDKs, and integration solutionsDesign and program complex software, lead code level architecture, produce complex codeAssume ownership of existing product code, analyze, maintain, recommend new architecturesServe as the technical lead on for a Scrum team and suite of software product solutionsCollaborate effectively with peers, Product Owners, Project Managers, Scrum MastersProvide application design leadership, conduct code reviews and lead technical meetingsParticipate in Scrum ceremonies, contribute and influence scrum team productivityProvide technical guidance, SDLC processes and mentoring to other Software EngineersEnsure secure development practices, protect company proprietary and confidential informationQualifications:BachelorA cents € (TM) s degree in Computer Science (or related field); MasterA cents € (TM) s degree preferred8+ years of progressively more complex programming experienceExpert in MS .Net Stack, C#, Visual Studio, TFS, NuGet Libs, SQL Server, Asp, WinForms, WebExperience on a Scrum Development Team, using Agile Methodology and toolsExpert in OO programming (threading, events, interfaces, reflection, generics, assemblies, lambdas)Extensive MS Design Pattern Knowledge, Frameworks (MVC, Link, Unity, WCF, WPF, Unity)Expertise developing, building, deploying, and maintaining commercial Windows Apps and SDKsKnowledge of multiple relavant domains (payments, PCI, software security, accounting, APIs)Able to lead meetings, clearly communicate technical approach, status, assess and mitigate risksCollaborates well with colleages, senior management and clients on a technical levelExpert building and integrating SDKs, APIs, COM Objects, SOAP and REST technologiesExpert in XML and REST APIs, XML data objects, and related frameworks (Swagger, Open API)Experience with Windows msi Packages, Windows Installer, or equivalent (WIX, Installshield, Wise)Experience in integrating external USB devices, device drivers, SDKs, Credit Card TerminalsKnowledge of Continuous Integration Techniques, TDD, Release Management, DevOpsComphrehenseive understanding of technical standards, toolsets, principles, theories, and concepts