Software Engineer III
Role details
Job location
Tech stack
Job description
In this role as Software Engineer III, you will be responsible for the end-to-end development of scalable web applications, bridging the gap between back-end logic and front-end user experience. You will work with a modern tech stack primarily focused on Java and ReactJS. We are a forward-thinking team that values efficiency and innovation. We specifically look for developers who embrace modern tools, including AI-assisted development, to deliver high-quality code and accelerate the development lifecycle., Develop key product features within existing large-scale enterprise applications and new strategic initiatives that will drive system and operational efficiencies, measure system performance, and provide "glue" for complex solutions.
- Participate in the full SDLC involving design, implementation, testing, & launching.
- Assist with the generation and analysis of business and functional requirements for proposed software solutions.
- Participate in architectural and database design discussions as they relate to product direction.
- Develop features completely including the front-end components and the backend systems.
- Design and implement changes to systems that yield higher performance and resiliency while achieving lower operations overhead.
- Own the delivery of an entire piece of a system or application, and serve as a technical lead on small to midsize complex projects.
- Work closely with other engineers to develop the best technical design and approach for new product development.
- Build software solutions where the problem is not well defined. Design and define the interaction between the other component pieces.
- Consistently define and apply technologies, standards and software engineering practices, mentoring other team members.
- Contribute to the focus and effectiveness of the development team; tracking issues to resolution, monitoring the effectiveness of tasks, and providing status to the team lead.
- Raise long-term architecture issues within project.
- Conduct design and code reviews of multiple projects.
- Generate data for project planning, including task breakdown & estimation of work for a project. Competent in developing accurate estimates & risk assessments. Track status within the project as necessary.
- Communicate team and project status to project manager and director.
- May occasionally act in the Team Lead role
- Act as the designated expert for owned application area(s).
- Contribute to the continued improvement of the organization's development procedures by looking for opportunities for improvement and implementing solutions.
Requirements
Required Work Experience:
-
7+ years professional experience in software development.
-
Computer Science fundamentals in object-oriented (OO) design patterns, distributed databases, and data modeling techniques. Skills:
-
Proficiency in Enterprise Java programming plus one or more modern programming languages such as Python.
-
Ability to work well with people and be both highly motivated and motivating.
-
Experience in development of distributed/scalable systems and high-volume transaction applications.
-
Expertise in UI technologies like JavaScript, AJAX, CSS, HTML.
-
Minimum 3 years of experience in cloud platforms (Azure preferred).
-
Minimum 3 years of experience with containerization (Docker, Kubernetes)
-
Experience with Web Technologies, Visual Basic, and multi-tier architectures.
-
Experience working with Agile development methodology and tools (Jira/Confluence). Education
-
Bachelor's Degree Computer Science or equivalent (Preferred)
Preferred Work Experience:
AI enhanced development leveraging AI-based development tools such as Github Copilot.
Physical and Mental Requirements:
Ability to multi-task, Analytical skills, Ability to follow verbal or written instructions, thinking analytically, Communication, using effective verbal communication, using effective written communication, Handling stress & emotions, concentrating on tasks, making decisions, adjusting to change, Examining/observing details, Sitting for long periods at a time