Job responsibilities
- Develops Innovative Software Solutions: Designs, develops, and troubleshoots software solutions with the ability to think beyond conventional approaches to solve complex technical problems.
- Ensures Code Quality and Security: Writes secure, high-quality production code and maintains algorithms that operate seamlessly with relevant systems.
- Creates Architectural Artifacts: Produces architecture and design documents for complex applications, ensuring that design constraints are adhered to during software development.
- Data Analysis and Visualization: Collects, analyzes, and synthesizes data from large, diverse datasets to create visualizations and reports that drive continuous improvement in software applications and systems.
- Identifies and Solves Hidden Problems: Proactively uncovers hidden issues and patterns in data, using these insights to enhance coding practices and system architecture.
- Engages in Technology Communities: Actively participates in software engineering communities of practice and events that explore new and emerging technologies.
- Fosters an Inclusive Team Culture: Contributes to a team culture that values diversity, equity, inclusion, and respect.
- Innovates Continuously: Develops new and creative solutions to complex technical challenges, continuously seeking improvement.
- Participates in Agile Practices: Engages in agile/scrum ceremonies, including daily standups, planning sessions, and demos, incorporating feedback into future projects.
Required qualifications, capabilities, and skills
- A degree in Computer Science, Software Engineering, Information Technology, or a related field is often required.
- Hands-on practical experience in system design, application development, testing, and operational stability
- Proficiency in Java: Strong understanding of Java programming language and its core libraries,
- Object-Oriented Programming (OOP): Solid grasp of OOP principles and design patterns,
- Proficiency in React: Strong understanding of React and its core principles, including component-based architecture and state management.
- Frameworks and Tools: Experience with key Java frameworks such as Spring, Hibernate.
- Database Management: Experience with SQL and relational databases like MySQL, PostgreSQL, or Oracle.
- Version Control Systems: Proficiency with Git version control.
- Build Tools: Experience with Maven.
- Testing Frameworks: Proficiency with Junit5, along with experience in other relevant testing tools and frameworks.
Preferred qualifications, capabilities, and skills
- Cloud Platform Experience: Proficiency with major cloud platforms such as Amazon Web Services (AWS), Microsoft Azure, or Google Cloud Platform (GCP).
- DevOps and CI/CD: Experience with DevOps practices and continuous integration/continuous deployment (CI/CD) pipelines in a cloud environment.
- Database Management: Additional knowledge of NoSQL and other databases variants would be a plus.