Senior Full-stack/Java Software Engineer (NFB)

Job Title: Senior Full-stack/Java Software Engineer Location: Taipei, Taiwan

Role Overview: The Senior Full-stack/Java Software Engineer is responsible for designing, developing, and maintaining scalable, high-performing, secure applications and efficient backend services and APIs.

This role involves deep expertise in Java technologies, ecosystem, cloud infrastructure, architectural decision-making, and collaboration with cross-functional teams to build robust systems that meet business and technical requirements. The ideal candidate combines technical excellence, complex technical problem-solving skills, and leadership abilities to contribute to the success of high-impact projects.

Please also apply for the position on our web page for speeding up the process, thank you. https://jobs.ashbyhq.com/netgear/071d7442-dfae-42ac-91bf-86a28ae5c4e2

Key Responsibilities:

  1. Backend Development and Maintenance: • Design, develop, and maintain server-side components, APIs, and microservices using Java and frameworks like Spring Boot or Jakarta EE. • Implement RESTful APIs, ensuring high performance and security. • Handle complex data transformation pipelines and middleware logic in API flows. • Manage API versioning, backward compatibility, and documentation using tools like Swagger (OpenAPI) and Postman. • Write clean, maintainable, and well-documented code.
  2. Architecture and Design: • Develop and implement scalable, distributed, and fault-tolerant architectures. • Perform system design and review to ensure alignment with business and technical goals. • Implement design patterns such as Domain-Driven Design (DDD), Event-Driven Architecture, and CQRS (Command Query Responsibility Segregation).
  3. Database Management: • Design normalized relational schemas with databases like PostgreSQL, MySQL, or H2. • Optimize database queries and indexes for performance, leveraging profiling tools. • Use NoSQL databases like MongoDB, Cassandra, or Couchbase for flexible, high-speed data storage. • Design data pipelines and ETL processes for real-time and batch data ingestion. • Implement data access layers with ORMs like Hibernate or JPA.
  4. Performance Optimization: • Identify and resolve performance bottlenecks in the backend systems. • Implement caching solutions using Redis, Memcached, or similar technologies. • Use tools like JProfiler, YourKit, or VisualVM to analyze and optimize application performance.
  5. Security and Compliance: • Implement secure authentication and authorization mechanisms (e.g., OAuth2, JWT, SAML). • Ensure backend systems are secure from common vulnerabilities (e.g., OWASP Top 10). • Perform regular security reviews, including penetration testing and dependency audits and fix vulnerabilities.
  6. Testing and Quality Assurance: • Write and maintain unit tests, integration tests, and end-to-end tests using JUnit, Mockito, or TestNG. • Collaborate with QA engineers to ensure comprehensive test coverage. • Integrate automated testing into CI/CD pipelines.
  7. Cloud and DevOps Integration: • Deploy and monitor services on cloud platforms like AWS, Azure, or Google Cloud. • Use containerization tools like Docker and orchestration platforms like Kubernetes. • Implement CI/CD pipelines using Jenkins, GitHub Actions, or GitLab CI.
  8. Team Collaboration and Leadership: • Collaborate with frontend developers to ensure seamless API integration. • Act as a technical point of contact for cross-functional teams.
  9. Monitoring and Incident Management: • Set up monitoring and logging tools like Prometheus, Grafana, ELK Stack, or Splunk. • Manage incidents and perform root cause analysis to resolve production issues. • Implement strategies for high availability and disaster recovery.