Java Full Stack
Position Description:
Employees in this job function are responsible for designing, developing, testing and maintaining software applications and products to meet customer needs. They are involved in the entire software development lifecycle including designing software architecture, writing code, testing for quality and deploying the software to meet customer requirements. Full-stack software engineering roles, who can develop all components of software including user interface and server side also fall within this job function.
Key Responsibilities: 1. Engage with customers to deeply understand their use-cases, pain points, and requirements, showcasing empathy and advocating for user-centric software solutions 2. Solve complex problems by designing, developing, and delivering using various tools, languages, frameworks, methodologies (like agile) and technologies 3. Assess the requirements of the software application or service and determine the most suitable technology stack, integration method, deployment strategy, etc. 4. Create high-level software architecture designs that outline the overall structure, components, and interfaces of the application 5. Collaborate with cross functional teams like product owners, designers, architects etc. 6. Define and implement software test strategy, guidelines, policies and processes in line with organization vision, industry regulations and market best practices. 7. Work on continuously improving performance and optimizing the application and implement new technologies to maximize development efficiency 8. Familiar with programming practices, such as test-driven development, continuous integration, and continuous delivery 9. Support security practices to safeguard user data including encryption and anonymization. 10. Create user-friendly and interactive interfaces 11. Develop and maintain back-end applications like APIs and microservices using server-side languages 12. Evaluate and incorporate emerging technologies and capabilities to deliver their solutions, and are monitoring and participating in solutions for new stack layers, often involving industry collaboration
Skills Required:
Java Full stack
Skills Preferred:
GCP Cloud Run, Tekton, CI/CD, Angular, Spring Boot
Experience Required:
Senior Engineer Exp: Proficient In 2 coding lang. or adv. Prac. in 1 lang.; guides. 10+ years in IT; 8+ years in development
Experience Preferred:
Roles and Responsibilities End-to-End Software Development: Responsible for designing, developing, testing, and maintaining comprehensive end-to-end components, including the UI, business logic, data, and integration tiers. Product Collaboration & Prototyping: Collaborate closely with Product Managers and Product Owners to deeply understand functionalities and use cases, and create effective prototypes to visualize solutions. Technical Proficiency: Demonstrate expertise in API development and integration, front-end technologies (Angular), and back-end technologies (Spring Boot). This includes working with system infrastructure and database manipulation. Quality Assurance & Compliance: Ensure high quality of developed software by strictly adhering to IT's security and control policies. This includes developing automated unit and functional tests to confirm user story acceptance. Operational Support & Performance: Provide essential production and operational support to ensure that Critical Success Factor (CSF) targets are consistently met. Technological Innovation & Influence: Research new technologies, influence enterprise technology shifts, and implement new trends that impact application delivery landscape. Effective Communication: Simplify complex technical concepts and convey them clearly and concisely through both oral and written communication to various stakeholders.
Programming Languages & Frameworks: Java: Extensive experience with Java 17+ and modern Java design patterns. Spring Boot: Proficiency in Spring Boot, including security features, Flyway for database migrations, and JPA for data persistence. Angular: Strong background in Angular for UI development. API Management: Experience with APIGEE Gateway. Cloud & Infrastructure: Hands-on experience with GCP (Google Cloud Platform). DevSecOps & Quality Tools: Familiarity with SonarQube, 42 Crunch, FOSSA, and Cycode. Proficiency with IntelliJ IDEA. Version Control & CI/CD: Expertise in Git. Ability to work with CI/CD pipelines using Gradle and Tekton. Database Management: Proficiency with Microsoft SQL Server and PostgreSQL. Methodologies: Strong understanding of TDD (Test-Driven Development) and BDD (Behavior-Driven Development). Adherence to Software Craftsmanship practices. Experience working in an Agile environment"