Senior Java Developer - W3XY95W

Senior Java Developer - W3XY95W Logo

Kuala Lumpur , Kuala Lumpur

Created Wed, 25 May 2022


The Senior Software Engineer will work in a Product Engineering team, working closely with Technical Architects, Scrum Master, Software Engineers, Software Test Engineers, Project Managers and an Engineering Manager to deliver technical systems/solutions. The Senior Software Engineer will be involved in all phases of the Software Development Life Cycle encompassing design, development, integration, testing, deployment, maintenance and customer support using appropriate engineering practices, tools and technologies. While working as part of an engineering team, the Senior Software Engineer shall provide technical leadership on technical decisions and/or development practices, coaching the junior engineers and assisting Engineering Team Lead when necessary. 

  • Participate in all phases of Software Development Life Cycle – Design, Development, Integration, Testing, Deployment, Maintenance, Customer Support in large and/or complex systems
  • Collaborate and work together with Technical Architects, Software Engineers, Test Engineers, Infrastructure Engineers and others in the lifecycle to achieve the desired engineering outcomes
  • Provide technical leadership to the engineering team
  • Able to work independently, proposing viable technical solutions through research and in-depth understanding of the code base
  • Produces or validates the schedule and effort estimate for each task to be performed, commit to the assigned task
  • Demonstrates an understanding of the importance of schedule and will endeavor to estimate accurately and deliver according to those estimates
  • Demonstrates maturity, skills and adeptness in team collaboration, technical discussions and negotiations
  • Drives good engineering practices such as code refactoring, unit testing and code reviews
  • Continually improve personal understanding of the new technologies programming languages, frameworks, technical concepts, methods, and measurements that underpin the Engineering disciplines and practices of the company
  • Proactively research industry trends and best practices, and apply them where applicable
  • Demonstrates the ability to understand, challenge, contribute or construct software specification and is capable of building software in line with the specifications
  • Exploits appropriate software development methods, languages, libraries and techniques and applies these to software engineering tasks to realize the most effective outcome
  • Ensures that all work is consistent with defined standards where standards exist and to withstand professional scrutiny in any case
  • Ensures that high quality and delivery standards are met, and consistently delivers quality code on time and within estimate
  • Demonstrates the ability to reflect on and improve personal performance
  • Coach and guide junior engineers in terms of best practices, product/process knowledge and tools 

QUALIFICATIONS:

  • Bachelor’s degree in Engineering/IT/Computer Science

  • 6 to 8 years of experience in the IT/Software industry with hands-on development experience

  • Essential to master the programming language with in-depth knowledge and related framework technologies

    • Java 8+
    • Spring Boot 2 / Spring Framework 5
    • Webservice: REST, SOAP
    • Messaging Queues: RabbitMQ, Redis,
    • Database: MySQL, MariaDB MaxScale
    • Server-side scripting: NodeJS, Python, Bash
    • Build tool: Maven, Jenkins
  • Experience in modern monitoring stack like Prometheus, InfluxDB, Grafana

  • Experience in implementing Docker application and managing container lifecycle in Docker Swarm

  • Experience in writing clean code and unit tests

  • Familiarity with all stages of a product lifecycle

  • Able to work independently, drive technical decision and propose viable technical solutions

  • Excellent programming and debugging skills

  • Good communication skills

  • Adaptable and collaborative and good team player. Able to work with a variety of methodologies and technologies.

  • Experience in traditional waterfall or agile methodology

  • Experience in a big/complex project with a team size of 10-20

  • Experience in building solutions from scratch or implemented/built software libraries/framework from scratch

Share


Apply