A Software Engineer (Java) applies practical knowledge of development and engineering to conceive, design, develop, test, and implement software fixes, enhancements, components, and/or new software systems and applications of moderate complexity. They focus on coding at the component level, working under minimal supervision. Additionally, the design and develop highly scalable software systems and applications with a designated functional focus.
- Focuses on coding at the component level.
- Executes assigned component-level software development and fixes using new or existing technologies.
- Participates in developing specifications for assigned components, projects, or fixes.
- Writes code, completes programming, writes tests, performs testing, and debugs code.
- Follows established protocols for installation and maintenance, and completes documentation.
- Develops, manages, creates, and maintains the technical components related to server-side solutions.
- Develops an understanding of the front-end technology stack and is able to assist with end-to-end troubleshooting.
- Interacts and coordinates deliverables with other technical groups in the organization.
- Develops specifications for assigned projects.
- Reviews or troubleshoots and performs testing.
- Two to five years of progressively related experience in coding and development of highly scalable, high-volume software components.
- Knowledge of object-oriented design principles, design patterns, coding best practices, database applications.
- CS Fundamentals.
- Development Tools.
- Java 11+
- JSON Messaging
- Database Design
- REST Services
- Software Performance Optimization (memory, CPU, scaling, etc...)
- Cloud Platform experience (AWS)
- Experience supporting Mobile applications platforms (e.g. iOS, Android, etc.)
- Creating API specifications
- Bachelor’s degree in Computer Science or similar field