Remote, Hanoi, Ho Chi Minh City, Danang
Mar 23, 2023
About NSC Software
NSC Software is a premier software development company of Vietnam. We have a proven track record of partnering with companies from the US, Europe, and the Asia-Pacific region to create cutting-edge software solutions. Our vision is to showcase the exceptional IT talent in Vietnam on the global stage. We invite you to join our outstanding team in building and delivering world-class software products that exceed expectations.
Job Description
We are looking for Java developers responsible for building Java applications. This includes anything between complex groups of back-end services and their client-end (desktop and mobile) counterparts. Your primary responsibility will be to design and develop these applications, and to coordinate with the rest of the team working on different layers of the infrastructure. Thus, a commitment to collaborative problem solving, sophisticated design, and product quality is essential.
Responsibilities
- Translate application storyboards and use cases into functional applications
- Design, build, and maintain efficient, reusable, and reliable Java code
- Ensure the best possible performance, quality, and responsiveness of the applications
- Identify bottlenecks and bugs, and devise solutions to these problems
- Help maintain code quality, organization, and automatization
Skills
- Proficient in Java, Java Spring Boot, with a good knowledge of its ecosystems
- Solid understanding of object-oriented programming
- Familiar with various design and architectural patterns
- Skill for writing reusable Java libraries
- Knowledge of concurrency patterns in Java
- Familiarity with concepts of MVC, JDBC, and RESTful
- Experience with popular web application frameworks, such as Play and Spark
- Familiarity with Java GUI frameworks
- Knack for writing clean, readable Java code
- Experience with both external and embedded databases
- Understanding fundamental design principles behind a scalable application
- Basic understanding of the class loading mechanism in Java
- Creating database schemas that represent and support business processes
- Basic understanding of JVM, its limitations, weaknesses, and workarounds
- Implementing automated testing platforms and unit tests
- Proficient understanding of code versioning tools, such as Git
- Familiarity with build tools such as Ant, Maven, and Gradle
- Familiarity with continuous integration