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.