A Senior Application Developer is a critical member of the Solution Architecture and Development Team. In this role, he/she will be a full stack application developer and will develop end-to-end features to support critical initiatives in a fast-paced and agile development environment using the latest software development technologies and infrastructure.
As a Senior Application Developer you will be responsible for every aspect of the software development lifecycle, including software architecture design, front-end development, system integration, back-end development, automation testing, software deployment leveraging continuous integration tools, and monitoring to ensure high availability and resiliency.
Essential Duties and Responsibilities
- Develop highly available, resilient, and secure applications with a cloud-native approach, deployed into a public cloud infrastructure. (Cloud-native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.)
- strong experience with modern development principles including DevOps, Microservices, Cloud, Automation Frameworks, Enterprise Integration/API
- Breadth of experience across Development, Infrastructure, Networking, Security, Database, and Storage.
- Partner and collaborate with key stakeholders across the enterprise including solution management, security, and operations to ensure alignment throughout the solution development pipeline.
- Apply Agile/Lean principles and a continuous improvement mentality to every aspect of solution development (for instance: responsiveness to change, adding incremental value, short feedback loops, eliminating waste, continuous learning)
Qualifications and Experience
- 5+ years of experience as a full stack developer
- 2+ years of experience developing Cloud-native applications and running workloads in a Public Cloud infrastructure such as Azure, AWS, or GCP
- Extensive experience with application development technologies: Java, Spring Boot, Spring Security, Linux, Tomcat, Jackson/JSON
- Extensive experience with DevOps concepts and technologies: CI/CD, Infrastructure-as-Code (IaC), Jenkins, Docker, Kubernetes, OpenShift
- Expert understanding of database and storage technologies and concepts: relational DB, NoSQL, Object Storage, Data Lake
- strong Experience with Enterprise Integration (EI) and API technologies: EI Platforms (e.g. Mulesoft, Apigee), API design and development, REST
- Experience with security and audit technologies from a developer perspective: vulnerability scanning, authentication & authorization (OAuth, SAML), monitoring (Prometheus, Nagios), enterprise logging (e.g. Splunk, Logstash)
- Experience with modern distributed source code management systems such as Git / GitHub
Preferred Technical Expertise:
- Enterprise Content Management (ECM) experience with regulated content
- Experience with front-end development technologies such as Angular, React, Vue
- Azure development experience, including Microsoft Azure Developer or Azure Solutions Architect certification
- Experience with commonly used scripting languages (e.g. Bash, PowerShell, Python)
- Experience with AI / Machine Learning
- Provide application development thought leadership across the organization.
- Demonstrates the initiative to go above and beyond assigned tasks and explore alternate technologies and approaches.
- Ensures understanding of issues and presents clear rationale. Able to speak to mutual needs and win-win solutions. Uses two-way communication to influence outcomes and ongoing results.
- Possesses ability to analyze impact of technology choices and be able to communicate and influence at an enterprise level.
- Persists to completion, especially in the face of overwhelming odds and setbacks. Pushes self for results; pushes others for results through team spirit
- strong oral and written communication skills
- strong interpersonal skills
- Excellent team building and problem-solving skills