ViSenze is one of the fastest growing A.I. start-ups and a leader in the development and adoption of image recognition technology. To help us build upon our success, we are seeking a Software Engineer to work collaboratively and alongside a group of highly-dynamic engineers, designers, product managers to develop and design a broad suite of products.
The position reports to the Senior Software Engineer (API Team) and will work in close conjunction with a highly dynamic, motivated team that aims to collectively demonstrate creative problem-solving techniques, develop intellectual design, fast paced development and immense passion towards product delivery.
- Drive and lead back-end technical works across multiple projects to deliver end-to-end product features
- Collaborate closely with the Product team to come out with product solutions
- Be able to identify product limitations and system constraints to create non-functional requirements from the technical perspective
- Collaborate with other engineers in the team to
- Provide high quality technical design documents with UML diagrams
- Break down technical tasks and schedule the tasks
- Implement the solution to the highest standards while adhering to industry accepted architecture and design pattern techniques and methodologies
- Perform effective code reviews by following the best practices
- Work with QA (Quality Assurance) team to perform manual testings and automation testings to achieve the best product quality and improve engineering efficiency
- Work with SRE (Site Reliability Engineering) team to ensure that deployed software can meet the required service level
- Bachelor's degree in Computer Science or related field with solid foundation in Computer Science
- Minimum 2 years experience as a Software Engineer
- Strong knowledge and production code experience in Java
- Strong knowledge of HTTP and REST API design
- Solid understanding of data structure and algorithm
- Familiar with Linux operating system such as Ubuntu, Centos
- Experience in CI/CD, Docker & containerised deployment
- Experience in writing clean, reusable codes with great testability
- A strong passion for learning and adapting to new technologies
Awesome to have
- Strong interpersonal and communication skills
- Experience in container technology and cloud service e.g. Docker, Kubernetes, AWS and/or Google Cloud
- Experience in JAVA Spring
- Experience in front-end projects
- Experience in scripting languages, such as Python for build automation and data processing
- Experience with AWS (DynamoDB, SQS, RDS, ElasticCache/Redis, Lambda, API Gateway), Kubernetes and large scale micro-service deployments
- Industry experience with large scale distributed systems
- Experience in running high volume, low latency applications
Diversity and Equal Opportunity
ViSenze is committed to the goal of equality of opportunity in employment and strives to create an operating environment that promotes fairness, equality and respect for social and cultural diversity, which is free from unlawful discrimination, harassment and vilification.
The Company shall not take any disadvantageous measures against any Employee or prospective Employee with regards to wage, education, assignments, promotions, retirement age, separation or dismissal, on the basis of gender.