Software Developer
Singtel
- Singapore
- Permanent
- Full-time
- Build the enterprise platform in a completely scalable fashion that can process millions of messages concurrently.
- Contribute to designing and developing the platform in an infrastructure agnostic fashion so that the platform can work with any network backend in a plug and play fashion.
- Bring in your experience in building scalable and repeatable platforms to make every component of the platform modular by design with industry grade security.
- Design and implement RESTful APIs to expose platform features as microservices.
- Build and deploy performant modern web applications in React, Redux, Webpack, ES6, and Flow
- Architect efficient and scalable backend systems
- Write unit, functional and end-to-end tests for the platform
- Write high-quality code (Ruby on Rails, Go, Java etc) that communicates with upstream backend services via HTTP APIs
- Identify and resolve performance and scalability issues
- Participate in code reviews
- In depth understanding of the whole web stack, web protocols, and web performance optimisation techniques
- In-depth understanding of web frameworks (such as Rails, Django, Spring etc)
- Detailed knowledge of minimum one modern JavaScript framework: React, Ember, Angular, etc
- Proficient understanding of the HTTP protocol
- In depth knowledge of Relational, No-SQL databases, and message queues/brokers
- Understand at least one backend MVC framework - Java and Spring Boot are strongly preferred
- Build micro-services and understand different patterns to approach the designs.
- Worked on cloud platforms preferably PCF and used tools such as Docker.
- Experience in designing and delivering APIs and security models
- Excellent understanding of
- Message queue systems (Kafka)
- Monitoring and logging tools (ELK, Splunk)
- Front-end frameworks (React, Vue JS, Bootstrap, jQuery)
- Web app frameworks (Django, Drupal etc.)
- Databases and storage/caching (Postgres, MongoDB, Redis)
- Contribute to software development and associated new technology selection and adoption. Focus areas include developing API driven features on big data, machine learning, auto scaling micro-services, scalable data storage/retrieval.
- Work on architecture and software development across platform components like customer onboarding, data management, application lifecycle etc
- Participate on design of common platform functionality, and consistent, best-practice platform and application design.
- Adopt industry standard coding practises to develop the platform to ensure scalability, security and stability
- Participate on the move to a full SaaS deployment and management
- Collaborate with Business development and partnership team to develop integration adapters for third party technology and applications.
- Participate in technical partnership conversations and due diligence.
- Knowledge in Java (J2EE and J2SE 1.8 or higher) and Python, additional knowledge on Scala would be advantageous
- Expertise in HTML, CSS, Drupal, Bootstrap, Angular, JQuery, additional knowledge on Reactjs would be advantageous.
- Experienced in utilising Cassandra, MongoDB and Elasticsearch (At least 2). SQL databases like Postgres, MySQL
- Experience in source code management and build - GIT, Maven, Ant
- Experience in Scrum - JIRA, Confluence
- Experience in Messaging - Kafka, Any Pub/Sub library
- Experience in containerization - Docker, Jenkins
- Experience in Scalable deployment - Kubernetes
- Experience in Learning Libraries - MLib, DL4J, H20, Tensorflow
- Experience in Big data Platforms - Spark (Core and Streaming) or Hadoop
- Experience in File Systems - HDFS
- Experience in Integration methods - REST API's, messaging, WSDL, SDK's
- Experience in API documents - Swagger or similar
- Experience developing complex, enterprise grade, configurable, scalable software products.
- Background in systems level thinking and design. Combined with the ability to translate technical strategy and architectures into concrete, minimal viable products, with the right trade-offs and phasing.
- Knowledge of relevant technologies, including messaging, relational and NoSQL databases, data modelling, analytics, IoT, and interfaces. Exposure and experience with Artificial intelligence will be a plus.
- Understanding of the architectural principles for cloud-based platforms that include SaaS, PaaS, multi-tenancy, infrastructure as code, and continuous availability.
- Experience working in an agile environment
- Strong written and verbal communication skills.
- Ability to collaborate effectively across various cross-functional teams and groups.
- Flexible work arrangements
- Full suite of health and wellness benefits
- Ongoing training and development programs
- Internal mobility opportunities