Lead Systems Developer (Backend)

Executive recruitment company Monroe Consulting Group Philippines is recruiting on behalf of a software development company. Our respected client is seeking an Information Technology (IT) professional for the job of Lead Systems Developer (Backend). The job is in Makati City, Metro Manila, Philippines.
Job Summary
The Lead Systems Developer (Backend) is expected to manage the project team's development activities. They will develop and implement software solutions according to a pre-defined set of guidelines and standards. They will research and take advantage of emerging technologies.
Key job responsibilities include:

  • 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. o Creates and reviews technical design per ER.  Creates document on research, implementation, deployment, configuration, etc.  Sends the document for design review. o Works collaboratively with various groups to identify issues and provide solutions.
    • 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. o Creates testing harness/infrastructure/test cases/automation geared towards ensuring quality of the product.
    • Research 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. o 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.
  • Reporting
    • Prepared Reports
      • Daily and weekly accomplishment reports
      • Performance evaluation
      • Ad Hoc reports, as required
    • Reviewed reports
      • Daily accomplishment reports of team members
    • Accessed records
      • Bug records
      • Enhancement records
      • Meeting records
      • Project records
  • Key Interfaces
    • Internal - Coordination with other departments (PH and US)
    • External - This position does no entail interaction with external contacts


Key job requirements include:

  • 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 (Angular), Responsive Design)
    • Knowledge of Docker and Microservices
    • Knowledge of the concepts of version control
    • Knowledge of continuous integration tools (Jenkins, TeamCity)
    • Knowledge of unit test frameworks
    • Knowledge of the concepts of build and deployment
    • Knowledge of development tools and IDEs
  • Soft skills
    • Strong research skills; is resourceful and persevering
    • Strong analytical skills; keen attention to detail
    • Strong problem-solving/troubleshooting skills o Strong organizational skills
    • Good leadership skills; can effectively plan, organize, and monitor team activities
    • Good project management skills
    • Strong presentation skills o Strong verbal and written English
    • Ability to adapt to new technologies
    • Ability to work in and with teams in a fast-paced and dynamic environment
    • Is highly accountable
    • Strong grasp of corporate values
    • Capable of making sound decisions o Is proactive and capable of self-direction and self-motivation
  • 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
  • If with Master's Degree in Computer Science, at least six (6) years' experience in Java/JEE development is required
  • Advanced & Deep understanding of Data Structures, Algorithms, and System Design
  • Expertise in API design and development
  • 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 Spring Framework
  • Experience with AWS, Azure, or other cloud providers
  • Experience with Docker and Microservices
  • Must have strong SQL skills.
  • Desire and aptitude for learning new technologies
  • Demonstrate excellent troubleshooting and problem assessment/solving skills
  • Competency with source control (preferably Git) and Continuous Integration tools such as Jenkins
  • Previous experience using business requirements to develop technical designs and define architectural strategies and solutions
  • Highly motivated team player with excellent communication skills