Purpose of the position
Java Leading Developer who can handle system development of large projects: including analyzing current software architecture, managing develoment tools and middlewares, and supervising project members (programmers and testesrs).
Responsibilities
- Analyzing existing source code and provides improvement proposals and take lead to implement
- Translating clients’ business requirements into detailed system design
- Identifying options for potential solutions and assessing them for advantages and disadvantages
- Producing user requirements’ feasibility, costings and schedule reports
- Working closely with colleagues, developers, testers, venders and a variety of end users to ensure technical compatibility and user satisfaction
- Overseeing implementation of a new system to ensure quality/schedule
- Plan, design, deploy the system into either production and testing environment
- Drawing up, supervising and documenting testing schedules and scenarios ins system development phase
Skills
- Have an Excellent Coding skill of Java/JavaScript (clean, readable, testable, scalable, reusable code) (E)
- Good source code review skill (E)
- Good knowledge/experience with Object Oriented Programming, Aspect Oriented Programming (E)
- Good knowledge/experience with JEE technologies/concepts (ex. Classloading, Memory Management, Transaction Managemnet) (E)
- Good knowledge/experience with Spring Framework (E)
- Good knowledge/experience with JDBC, OR-Mapping tools (ex. MyBatis, Hibernate) (E)
- Good knowledge/experience with Java Development Tools (ex. Eclipse ) (E)
- Good knowledge/experience with Java Building Tools (ex. Maven ) (E)
- Good knowledge/experience with Coding guideline tools (ex. Findbugs, Checkstyle ) (E)
- Good knowledge/experience with Test-driven development (ex. JUnit) (E)
- Good knowledge/experience with Java Application Server(ex. Resin, Tomcat) (E)
- Good knowledge/experience with Source code version control tools (ex. Git) (E)
- Good knowledge/experience with Concurrency control of Java program (E)
- Good knowledge/experience with Performance tuning of application programs (E)
- Good knowledge/experience with JavaScript libraries (ex. JQuery, AngularJS) (E)
- Analysis and Software Design skill (E)
- Requirement definition, solution design, testing planning skill (E)
- Advanced technical documentation skill. Those documents include but not limited to Software architecture, Solution design, Coding guidelines. (E)
- Effective interpersonal and communication in English and Bahasa (verbal and written) skills (E)
- Good knowledge/experience with Selenium, JMeter, JRockit Mission Control. (D)
- Good knowledge/experience with Mobile Java application (ex. android) . (D)
- Good knowledge/experience with Java GUI frameworks (ex. Swing, SWT) . (D)
- Good knowledge/experience with Continuous Integration (ex. Jenkins) . (D)
- MS Office tools (E)
- Able to communicate in Japanese (business communication) will be a big Plus (D).
During system development project
- Manages application software, application infrastructure and third party application environments in the assigned field. This includes installation, upgrades and patches, tuning, creating links and interfaces between systems, developing application-specific security, performance monitoring and trouble-shooting.
- Performs problem analysis to resolve system or application issues. Performs complex diagnosis of problems, providing solutions within area of responsibility, and/or through consulting with ITS team members; coordinates implementation of fixes and enhancements. Provides backup for other analysts as required. Responds to critical issues during off hours when necessary.
- Designs, writes, tests, implements, and maintains software, including tools for testing and delivery of applications. Creates and maintains system documentation.
- Supervises programmers and testers. Responsibilities include source code review, assignment and review of work, performance evaluation, mentoring and training, and identifying opportunities for staff development.
- Develops and manages internal procedures, tools, and documents to provide a high level of application integrity and availability and to ensure timely, effective support. This includes managing source code, and developing technical support standards and procedures.
Experience of
- Taking a development leader’s position at least 2 System Development Projects those involved over 10 programmers (Complete the system development process, satisfying quality, productivity and deadline of the project). (E)
- Working as Programmer at least 3 years (E)
- Understanding software development lifecycle. (E)
- Software Development (Spring Framework) (E)
- Unix/Linux command line (Server administrator experience is a big plus) (D)
- Software Development (C#) (D)
- Automated testing driven development for enterprise system (JUnit, Selenium, etc…). (D)
- Continuous Integration based system development. (D)
- Code review support tool based system development (ex. GitHub) (D)
Personality & Attitude (E)
- Team player, able to take initative and lead team
- Assertive, able to motivate team
- Quick Learner, willing to learn a new system
- Able to work under tight schedule.
Education
- Bachelor's degree or equivalent (E)
Language
- English: be able to read and write business documents, and communicate in business meeting (E)
- Bahasa: be able to read and write business documents, and communicate in business meeting (E)
- Japanese: communicate in business meeting (D)