Job Description

We are hiring a senior software engineer to join our team. This role is for our distributed team, who normally operates within the +8 UTC (Cebu) to +10 UTC (Sydney) time zones.
As a senior software engineer, you will help us build our telecommunications products which are being used by customers globally. We want to empower small and medium businesses to offer telecommunications products in a way that they can compete with big companies. If you are interested to work on this mission, please join us.
This role is a member in one of our software team, which we designed to be tight-knit and cross-functional, responsible for the full cycle of software development in order to deliver complete features to our users.
What you will be doing?
A senior in our engineering team, will have the following functions:
+ Lead and responsible in designing software features and maintenance tasks
+ Lead and responsible in ensuring code quality is followed
+ Lead and responsible in team learning activities
+ Provides mentorship and responsible for feedback to other team members
+ Participate as needed in roadmap development and release planning
A software engineer, will have the following functions:
+ Study, understand our products, its designs, users, and user requirements
+ Implement product features in accordance to our coding conventions
+ Implement libraries and tools in support of development, delivery pipeline, and production
+ Implement test code to ensure quality, manually perform test, and responsible in fixing quality issues
+ Deploy software in production and perform maintenance activities
+ Write documentation for others to use and refer
+ Participate in monitoring, on-call, and responsible in responding to production incidents
+ Participate in providing support to users and customers
+ Participate in team practices such as pair programming and code reviews
+ Participate in architecture and product design workshops
+ Participate in team activities to deliver software that satisfy business needs
+ Responsible for self-assessment as part of our weekly self-reported check ins
+ Continuously learning to ensure useful and effective participation in the teams
As part of our distributed team, the following are expected:
+ Establish a working space and infrastructure, to effectively participate in a distributed environment
+ Schedule work on a daily basis, with a minimum of 4 hours overlap with the rest of the team
+ Use a stable, high quality Internet access for video conferencing
+ Able to join a video conference during working hours
Who you are?
We are looking for someone with the following qualification:
+ With at least the equivalent of 6 years work experience, in any programming language, in building a software or an IT system
+ Has at least 3 technical specializations that can teach others about
+ Can implement complex functions using the main programming language we use (Java, Javascript), that is widely used in a system
+ Knowledge in scaling databases and processes to support many users, data points, and concurrent processing
+ Can participate and provide useful insights in technical and architecture design process
+ Can teach and help others understand technical topics
+ Can explain technical concepts in business and user terms
+ Can explain and communicate business and product concepts to the team
+ Advance knowledge in many topics identified below
In addition, a software engineer, has the following qualification:
+ Knowledge of using any programming languages, in building functions and features in a software
+ Knowledge of databases design, data modeling, and writing test code
+ Use of app services and technology APIs, such as message queuing service (ActiveMQ), in-memory data store, persistent object data store (AWS S3), etc.
+ Can use tools for collaboration such as Git, Trello, Confluence
+ Admin and shell usage of Linux-based systems (CentOS, Ubuntu)
+ Admin and usage of networking software: TCP/IP, IP services, like SSH, curl, nc
+ Knowledge on common Internet protocols (HTTP, DNS, TCP, SMTP) and standards
+ Will have time, and can troubleshoot and perform remedies on production sites
+ Knowledge of testing practices, quality, and security principles
+ Knowledge of any software development methods and lifecycle
+ Knowledge on the software engineer role as part of a software team
+ Knowledge in computer science: Computing Theory, OS, Algorithms, Data Structures
+ Knowledge in known architectural designs and code patterns
+ Communicate ideas and concepts both in person and in written format
+ Creative, willing to challenge assumptions, and willing to try ideas
+ Has an open, always learning, and resourceful mindset
+ Excited to work with people in creating simple solutions to complex
Save Job