Job Description
About the Role:
Take your software engineering career to the next level as a Senior Product Software Engineer. You will play a key role in designing, developing, and troubleshooting software programs. Your technical skills and innovative mindset will contribute to the continuous improvement of our products, making a significant impact on user experience and satisfaction.
ESSENTIAL DUTIES AND RESPONSIBILITIES
- Drive the appropriate use & implementation of technology to deliver high quality solutions that delight our customers.
- Help shape the future of our business by taking many of our most critical products to the next generation of technology.
- Develop maintainable and highly scalable multi-tier SaaS applications with web-based, plugin-based, and mobile-based clients on the Microsoft technology stack (VS 201X /.NET 4.X / C# / SQL Server). Work in Agile teams following Agile + SAFe methodologies to deliver high quality products on time with performance and localization requirements in mind.
- Build, test and deliver high quality, complex frameworks and systems and diagnose and resolve complex issues.
- Develop applications utilizing Hybrid Cloud technologies (SaaS. PaaS, IaaS)
- Generate innovative approaches and solutions to complex issues.
- Mentor less-experienced staff in their career development and provide them with daily guidance and direction.
- Understand the use of technology and how its implementation affects strategic business goals.
Minimum Qualifications:
- Bachelor’s degree or equivalent combination of education and work experience in software development.
- 5+ years of programming experience with Web, Windows .NET framework, PowerShell, and C#, with at least 2 years as a senior software development engineer with similar roles / responsibilities.
- 3+ years’ experience Web apps, API apps, Java Script, JSON, REST and SPA.
- 2+ years’ experience developing customer facing applications.
- Proficient in object-oriented design and development using software development best practices.
- Experience with Microsoft SQL database design, T-SQL and stored procedure programming.
- Knowledge of Azure services (e.g. Worker Roles, Web jobs, Service Bus, Table Storage, Blob Storage, and Redis Cache).
- Experience with quality up-front initiatives such as TDD, CI, and automated unit test frameworks.
- Successful track record delivering high quality products on time while working in Agile Teams and following Agile methodologies.
- Able to adhere to technical standards within a development team.
- Strong verbal, written, and presentation skills.
Preferred Qualifications:
- Commercial external customer-facing software development experience is highly desired / preferred.
- Experience with legacy technology like WCF and WPF.
- Understanding of cloud computing technologies, business drivers, and emerging computing trends.
- Experience building hosted applications in a large multi-data center environment.
- Production experience in developing and deploying from inception to completion of Hybrid Cloud Applications
- Experiences with utilizing and event driven architectures that drive hybrid cloud applications a plus.
- Demonstrated experience with utilizing and leveraging reference architectures across a team based environment a plus.
- Expert at designing, coding, and implementing with 24/7 stability, performance, scalability, localization requirements in mind.
- Multi-tiered application environment with SQL, Web services, HTML5, AngularJS, and XML development.
- Experience transient error handling, retry policies, asynchronous processing, queue driven processing, event processing, CQRS, and eventual consistency.
- Experience with the file management software is a plus.