System Developer - Lead (Java)

Executive recruitment firm Monroe Consulting Group Philippines is recruiting on behalf of a US-based technology company that specializes in advanced technology solutions, securing the vital assets of demanding enterprises. They provide cost-effective solutions to military, intelligence, and federal agencies. Their extensive experience ensures output that meets exacting standards even under demanding conditions.

Job Summary:
Our respected client seeks a System Developer - Lead (Java) who will manage the development activities of the project team. The responsibilities include developing and implementing software solutions based on a predefined set of guidelines and standards, as well as researching and leveraging emerging technologies. The job is located in Makati City, Philippines, and currently offers a work-from-home (WFH) arrangement. However, the office is open for those who prefer to work on site.

Key Job Responsibilities:
Software Development

  • Coaches and guides developers on software development languages, techniques, and methodologies.
  • Reviews Requirements Detail Package (RDPs) and Visual Requirements Detail Package (VRDPs).
    • Analyzes requirements and assesses impact on current functionalities.
    • Assesses and provides estimates for the technical considerations and required of the project.
    • Generates development plan.
  • Creates and reviews technical design per ER.
    • Creates document on research, implementation, deployment, configuration, etc.
    • Sends the document for design review.
  • Works collaboratively with various groups to identify issues and provide solutions. o Develops system requirements
    • Creates application based on the agreed design and implementation.
    • Participates in design discussions and contribute to the architecture process
    • Ensures high quality of deliverables while using development and security best practices
    • Provides updates on task progress
    • Provides first level software development quality assurance.
    • Presents completed tasks for code review.
  • Assists the Software Architect in conducting code reviews.
  • Identifies solutions to issues encountered during software development.
  • Creates testing harness/infrastructure/test cases/automation geared towards ensuring quality of the product.
  • Researches on new technology needed for development and evaluates relevance on the project.
    • When needed, creates a prototype based on research conducted.
    • Ensures that technology used is current and relevant to tasks.
  • Reviews test cases provided by QA team.
  • Provides support to the Software Architect/ Development Manager in performing general team duties.
  • Manages projects with minimal supervision.
  • Prepares accomplishment report for documentation and Project Manager monitoring.

Project Management

  • Works with Software Architect/ Development Manager
    • Identifies specific goals and sets specific performance standards.
    • Ensures that resources needed by team members are provided to carry out project tasks.
    • Assesses capabilities of team members to perform specific functions/tasks/assignments.
    • Conducts performance evaluation for team members and ensures that performance gaps are addressed accordingly.
  • Is accountable for the overall attainment of project objectives.

Others

  • Conducts candidate interviews
  • Attends meetings, as required.
  • May report on non-regular working hours, as needed.
  • Performs other duties as requested and within areas of expertise.

Reports and Records

  • Prepared Reports
    • Daily and weekly accomplishment reports
    • Performance evaluation
  • AdHoc reports, as required
    • Reviewed reports
  • Daily accomplishment reports of team members
  • Accessed records
    • Bug records
    • Enhancement records
    • Meeting records
    • Project records
    • Source codes

Key Interfaces

  • Internal
    • Coordination with other departments (PH and US)
  • External
    • This position does no entail interaction with external contacts

Key job qualifications:

  • Bachelor's degree of any four (4) year computer-related course
  • With at least eight (8) years' experience as Software Developer
  • With at least two (2) years' experience in leading a team
  • With at least eight (8) years' experience in Java/JEE development
  • With experience in front-end development and UI design
  • If with Master's degree in Computer Science, at least six (6) years' experience in Java/JEE development is required
  • Good understanding of OOP and design patterns
  • Advanced & Deep understanding of Data Structures, Algorithms, and System Design
  • Experience with Spring Boot
  • Experience with writing SQL queries, especially for Postgres or using jOOQ 4 | Page- System Developer - Lead
  • Experience writing REST or GraphQL APIs
  • Develop and design software with security mindedness
  • Experience in writing reusable, optimized, maintainable code that is well documented and follows industry-standard best practices
  • Experience with performance tuning, load testing and application monitoring
  • Experience with AWS, Azure or other cloud providers
  • Demonstrate excellent troubleshooting and problem assessment/solving skills
  • Experience using business requirements to develop technical designs and define architectural strategies and solutions
  • Experience with Maven and GIT
  • Strong design and analytical capabilities
  • Experience on the following is a plus:
    • Kafka and Apache Camel
    • Distributed systems
    • Large scale data
    • SQL table design, troubleshooting query performance
    • Kubernetes, Docker and Microservices designs
    • Angular 8 or higher
    • Desire and aptitude for learning new technologies
    • Highly motivated team player with excellent communication skills
    • Willing to work across time zones as and when needed

Technical skills

  • Advanced knowledge of programming languages (C, C#, Java, Python)
  • Advanced knowledge of OOP and ORM frameworks
  • Advanced knowledge and application of design patterns
  • Advanced knowledge of SQL
  • Advanced & deep understanding of Data Structures, Algorithms, and System Design
  • Advanced knowledge of at least one: PostgreSQL, MS SQL Server, Oracle
  • Advanced knowledge of Translating Technical Requirements to Workflow Process and Diagrams
  • Advanced knowledge of performance tuning, load testing and application monitoring
  • Advanced knowledge of Unix systems
  • Advanced knowledge of Cloud computing (AWS, Azure or other cloud providers)
  • Advanced knowledge of writing reusable, optimized, maintainable code that is well documented and follows industry-standard best practices
  • Advanced knowledge of API design and development
  • Knowledge of Web Development (HTML, CSS, XML, Apache, Tomcat, IIS, JavaScript, Web Development frameworks such as Angular, Responsive Design)
  • Knowledge of Docker and Microservices o Knowledge of the concepts of version control
  • Knowledge of continuous integration tools ( Jenkins, TeamCity)
  • Knowledge of unit test frameworks o Knowledge of the concepts of build and deployment
  • Knowledge of development tools and IDEs

Soft skills

  • Strong research skills; is resourceful and persevering o Strong analytical skills; keen attention to detail o Strong problem-solving/troubleshooting skills
  • Strong organizational skills
  • Good leadership skills; can effectively plan, organize and monitor team activities o Good project management skills
  • Strong presentation skills
  • Strong verbal and written English communication skills
  • Ability to adapt to new technologies
  • Ability to work in and with teams in a fast-paced and dynamic environment o Is highly accountable o Strong grasp of corporate values
  • Capable of making sound decisions
  • Is proactive and capable of self-direction and self-motivation