Job Responsibilities:
Cyber Security Division ( CySD) Sitting within Data & Technology Architecture Dept, the Python Developer is responsible:
• Solution the design and develop the software using waterfall/Agile methodology.
• Perform investigation, troubleshoot issues by developing scripts, SQL queries.
• Work closely and collaborate with the SOC Analysts and Infrastructure Engineers/System Owners for scope, schedules, requirements, tests, bug fixes, etc.
• Work with deployment team/DevOps team on setting up continuous integration, build and release automation.
• Discuss, analyse and recommend design improvements or corrections to developers throughout the development process.
• Develop and establish quality assurance deliverables and testing framework, including create and maintain test plans and test cases in accordance with changing requirements, throughout development.
• Conduct performance and load tests, validate the output and expected outcomes and feedback on improvement required.
• Conduct application performance and security testing to ensure we have a robust and secured system in place. • Provide estimates for stories during sprint planning for Agile project.
• Convert acceptance criteria into automated unit tests cases. • Support production issues
• Involve in application deployment to the various environments.
• Provide proper documentation to developed tools.
• Knowledge transfer to users
Scope
• Assist the Security Operations Center to automate BAU and new processes (eg. Data enrichments from various sources, auto ticket creations, syncing of tickets across systems, etc).
• The work will require the developer to develop tools that integrates across different security devices using various methods, from interaction with APIs, screen scrapping to client GUI interactions, etc.
• The developer may be required to understand from basic scripting language of the various security tools in order to help with the script development.
• Scripts can be implemented in a mixture of client-side, server-side and/or hybrid-cloud environments.
What we are looking for
• MUST have relevant Software Development experience and relevant software development certifications in Python will be an added advantage.
• Certified Software Testing Professional and/or Certified Software Quality Analyst or an equivalent certification will be an added advantage.
• Experience with scikit-learn and machine learning projects will be an added advantage.
• ICT Assessment Certification for Software Developer (NUS-ISS) will be an added advantage.
• Demonstrable skills in Windows, *nix, and/or Cloud development.
• Demonstrate knowledge of automated software testing methodologies such as unit testing, integration testing, functional testing, test driven development (TDD) and behavior driven development (BDD).
• Ability to troubleshoot complex issues ranging from system resource, application stack traces to cloud API events.
• Track record in implementing systems with high availability, high performance, high security hosted at various data centres or hybrid cloud environments will be an added advantage.