About Appier
Appier is a software-as-a-service (SaaS) company that uses artificial intelligence (AI) to power business decision-making. Founded in 2012 with a vision of democratizing AI, Appier’s mission is turning AI into ROI by making software intelligent. Appier now has 17 offices across APAC, Europe and U.S., and is listed on the Tokyo Stock Exchange (Ticker number: 4180). Visit www.appier.com for more information.
About the role
We are seeking a highly skilled and experienced Senior Software Engineer, Java Backend Development to join our team. In this role, you will be responsible for developing and maintaining scalable, high-performance backend systems using related technologies. You will work closely with cross-functional teams to design and implement solutions that meet business requirements and ensure the overall success of our projects.
Responsibilities
- Design, develop, and maintain robust and scalable backend systems using Java and frameworks such as Spring and Hibernate
- Collaborate with cross-functional teams, including frontend developers, product managers, and designers, to define system requirements and deliver high-quality solutions
- Perform code reviews to ensure adherence to coding standards and best practices
- Identify and troubleshoot issues, debug and optimize code for performance and efficiency.
- Participate in the entire software development lifecycle, from planning and design to implementation, testing, and deployment
- Stay updated with the latest industry trends and technologies, and continuously improve technical skills
About you
[Minimum qualifications]
- Proven experience as a Java Backend Developer, with at least 3-5 years of professional experience.
- Strong proficiency in Java programming language and related frameworks such as Spring and Hibernate.
- Apply object-oriented principles and design patterns to ensure code reusability, readability, maintainability, and scalability.
- Experience with functional programming paradigms, such as immutability, higher-order functions, and lambda expressions.
- Embrace a testing mindset and aim for comprehensive test coverage whenever feasible. Possess familiarity with JUnit, Mockito or TestContainers for effective testing.
- Solid understanding of web application development principles, RESTful APIs, and microservices architecture.
- Experience with databases (SQL and NoSQL) and ORM frameworks.
- Experience with OLAP database.
- Familiarity with version control systems (e.g., Git).
- Strong problem-solving skills and ability to work independently as well as in a team environment.
- Excellent communication and collaboration skills.
[Preferred qualifications]
- BS/MS degree in Computer Science or related field.
- Technical leadership experience.
- Good at profiling and debugging tools.
- High performance network service on Linux.
- Experience in developing data structures, algorithms on top of Big Data platforms
- Experience in building and managing robust data warehouses. e.g. Trino/Presto , Pinot or Databricks.
- Design and architect large scale distributed systems.
- Design and implement distributed algorithms and data structure.
- Familiarity with Agile development methodologies.
-
Expert in some of the following CS Domains:
- Continuous integration / continuous deployment.
- Monitoring and alert system (Prometheus / Nagios).
- Functional programming.
- Data Intensive Application Design.