Backend Engineer Intern
Join our merry band of smart city enthusiasts who have a deep passion to improve the environmental and financial sustainability of the city while providing a delightful user experience. The smart city industry is ripe for disruption and we want you to join us to enable our partners and customers to achieve tangible savings and bottom-line growth. Be part of our diverse, quirky, and high-performing team that is dedicated to our vision and has enormous fun doing so.
Job Description
We are looking for Backend Developers to build Java applications e.g. complex groups of back-end services. 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. If you have hands-on experience developing software with agile methodologies, we’d like to meet you.
Job Scope
- 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 automation
- Document development phases
- Ensure our applications are secure and up-to-date
Job Requirements
- Bachelor’s degree or above in Computer or Software Engineering, with a good foundation in algorithm/data structure
- Familiar with any programming language in at least one of Java, Python, and JavaScript.
- Familiar with Web development technologies, such as Java Spring/boot, python flask, etc
- Familiar with the design and application of distributed systems, such as Redis, etc.
- Basic knowledge of rationally using common distributed technologies for problem-solving
- Familiar with database-related technology such as Mysql/ElasticSearch
- Strong interest in software technology; possess good learning attitude and strong communication skills and the ability to work well in a team
- Proficient understanding of code versioning tools, such as Git
Capstone
- Smart Building Backend Product and Delivery
- Fulfill and exceed expectations for requirements/tasks assigned comprising of but not limited to development and research tasks.
- Fulfill required tasks with a high degree of quality.
- Update or prepare documents for better knowledge management of the team.
- Learn and apply new technologies required for the job i.e. Java Spring Boot Development and Usage of Databases.
- Learn and design RESTFUL API for the company’s backend services.
- Gain exposure and proficiency in the testing of self-developed applications/services.
- Practice Agile Software Development Methodology
- Facilitate scrum events, including but not limited to daily stand-up meetings, review and retro meetings, planning meetings, etc.
- Assist to manage the sprint stories/tasks.
- Build good communication and teamwork in an agile environment.