Designing, developing, and maintaining Java applications
Performing technical analysis to identify solutions and creating technical documentation
Developing functionalities for applications/systems
Writing APIs, Unit Tests, and optimizing performance for APIs and databases
Participating in database design to meet customer requirements
Designing high-level and low-level solutions for products
Participating in project supervision to ensure technical quality and coding standards
Being responsible for mentoring team members on coding and technology, and guiding the development of features based on design and architecture documentation
Exploring core technologies and company technologies
Researching and exploring new technologies such as K8S, Microservices, Cloud Native,…
Requirements
Having 3–5 years of experience in software development in the fields of Finance, Banking, Telecommunications, and Real Estate
Being proficient in object-oriented programming with Java, RESTful API, WebSocket, and Microservice
Possessing a solid understanding of the software development process (preferring candidates with experience in Scrum/Agile/Kanban)
Demonstrating strong knowledge of OOP, OOA/D, and design patterns such as GoF, Dependency Injection, IoC, SOLID, etc
Having experience in multi-threading, synchronous, and asynchronous processing
Being capable of conducting in-depth research and problem-solving
Possessing good knowledge of databases (RDBMS, NoSQL), ORM, and persistence frameworks
Being capable of performing code review, code standardization, and ensuring adherence to coding conventions
Having experience working with Microservices architecture, Layered architecture, SOA, and Distributed Systems
Having experience with Docker, Docker Swarm, and Kubernetes is an advantage
Having experience with streaming/messaging frameworks like MQTT, RabbitMQ, and Kafka is a plus
Benefits
Attractive salary, suitable for working capacity
Review performance twice a year ( In working process, Candidate can be reviewed continuously before the term if the job is successfully completed)