Job Title: Senior Fullstack Software Engineer
JOB ID: 19-05096
Senior Fullstack Software Engineer
SUMMARY OF ROLE:
Full-Stack Software Engineer with team project lead responsibilities.
Responsible for coordinating software coding-related activities, implementing software engineering best practices, ensuring software meets organizational and industry standards, mentoring software engineering team members, implementing full-stack software, and assisting the Director of Software Engineering in setting priorities and meeting engineering project schedules.
ROLE AND RESPONSIBILITIES:
Designs and develops new application components and services (including prototypes and concepts);
Executes and delivers on product specifications, platform design, and service integrations;
Participates with team members to determine technical requirements and effort/story point estimations;
Assists in testing/validation efforts and delivery of quality code;
Collaborates with team members on setting/implementing effective coding standards;
Back end development experience with Microservices/SOA architecture and best practices using Java Sprint Boot (Preferred), Docker and/or Kubernetes
Experience creating and/or integrating REST APIs, services, and API authentication schemes (e.g. OAuth)
Experience with RDBMS and NoSQL technologies
Experience creating and implementing clear and concise coding standards and guidelines
Experience working effectively with remote teams
Experience working with Atlassian JIRA, Confluence and Bitbucket or Git equivalent
Familiarity and working practice of Agile Scrum development methodology
Experience with unit and integration testing systems
Excellent communication skills and the ability to articulate complex technology concepts to non-technologists
Expertise with development leveraging Amazon Web Services (AWS) technologies, e.g. Cognito, EC2, S3, Containers, CI/CD, etc.
Experience with other cloud technologies (Google Cloud and MS Azure) is a plus.
Familiarity with mobile application development
EDUCATION AND EXPERIENCE:
Bachelor's Degree in Computer Science or similar field.
8 years of experience in an agile, performance-oriented, software engineering environment
1-3 years of serving as a team lead for a software engineering team
5 years of experience programming with at least one backend framework (Spring)
3 years of experience with Linux system administration and comfortable with the command line
5 years of experience with web and web application servers (Apache, etc.)
5 years of experience with source control management systems (Git preferred)
5 years of experience deploying creating continuous deployment systems (e.g. Jenkins, CircleCI)
KEY PERFORMANCE INDICATORS:
Delivery of software engineering projects within budget and time
Reduction of issue ticket lifecycle
Duties listed are not intended to be exhaustive or exclusive; other duties may be assigned. Management retains the discretion to add to or change the duties of the position at any time.