Senior Software Engineer Java
Description
SenzMate IoT Intelligence eliminates the inequality in access to the best quality state-of-the-art IoT and AI technologies all around the world. For the last 7 years, the essence of our company and culture has been built by the incredible people of SenzMate – where our many humanitarian contributions reflect our values.
We are looking for a Senior Java Developer for designing and implementing backend solutions for our Artificial Intelligence and Internet of Things platforms. The successful candidate must have proven experience in building high-performing, high-availability, scalable applications. You will be part of a talented software team that works on mission-critical applications which includes managing real-time Kafka streams, Multi-threaded applications and AI/ML integrations. Your responsibilities include designing, developing and delivering high-volume, low-latency applications for mission-critical systems.
We are looking for a Senior Java Developer for designing and implementing backend solutions for our Artificial Intelligence and Internet of Things platforms. The successful candidate must have proven experience in building high-performing, high-availability, scalable applications. You will be part of a talented software team that works on mission-critical applications which includes managing real-time Kafka streams, Multi-threaded applications and AI/ML integrations. Your responsibilities include designing, developing and delivering high-volume, low-latency applications for mission-critical systems.
- Be a core participant in the requirements gathering and analysis, design, implementation and testing of software solutions
- Identify and incorporate existing solutions and technologies to shorten development time and still maintain a high-quality codebase
- Create specifications, provide estimates, and develop software for those specifications
- Create automated tests and ensure the code is well-tested before committing any code changes
- Create and manage build scripts to ensure that software packages are built according to industry and company standards
- Be a project lead to coordinate a team to ensure timely delivery of project milestones, deadlines, and/or demos
- Produce well-designed, testable, efficient code
- Conduct code reviews to ensure code is written according to industry and company standards and to ensure the team is using shared libraries for maximum re-use
Responsibilities
- Designing and implementing large-scale Java applications and systems that leverage the ELK (Elasticsearch, Logstash, and Kibana) stack for log analysis, monitoring, and data visualization.
- Developing and maintaining custom plugins and configurations for Elasticsearch and Logstash to meet specific business requirements.
- Providing technical leadership and mentoring to junior team members in Java development best practices and ELK stack implementation.
- Collaborating with cross-functional teams, including product managers, designers, and other developers, to deliver high-quality software solutions that meet business needs.
- Conducting code reviews, identifying and addressing performance and security issues, and ensuring that code meets established coding standards.
- Designing and implementing automated tests for Java applications and ELK stack components, including unit tests, integration tests, and end-to-end tests.
- Troubleshooting and resolving production issues related to Java applications and ELK stack components, working closely with operations and support teams to minimize downtime.
- Staying up-to-date with the latest Java and ELK stack technologies, trends, and best practices, and evaluating new tools and frameworks that could improve the team's development processes and products.
Mandatory Skills
- Knowledge of Hadoop Hive & Trino
- Knowledge of Kafka, Kafka streams & Spark
- Solid experience writing multithreaded applications
- Development experience with network protocols (HTTP, TCP / UDP, SNMP) and Java NIO
- Hands-on development experience in high-volume, low-latency applications
Qualifications
- Bachelor of Engineering or Bachelor of Computer Science
- 5+ years of professional software development experience
- Experience with big data technologies such as Hadoop, Hive and Trino
- 5+ years developing enterprise-level applications using Java 6 and above
- At least 3 years of experience in the Spring Framework
- Experience with deploying, developing and testing in high-performance computing, or big data solutions
- Experience with relational databases, SQL and ORM technologies (Hibernate)
- Experience configuring Oracle, MySQL and/or PostgreSQL
- Solid experience consuming and creating REST API
- Positive mindset, with strong interpersonal skills and the ability to work constructively within a team environment
- Strong analytical and problem-solving capabilities
- Ability to learn new technologies quickly and work independently
- Excellent verbal and written communication skills (in English) with experience in creating clear and concise documentation
- Experience in conducting code reviews and merging code
- Experience using Gradle or Maven to manage build dependencies
- Experience using GIT, ability to branch, tag and version release packages
- Experience deploying, installing and debugging applications running on Linux
related Jobs
Technologies that suit both small and large scale plantations
Senior Software Engineer
Develop systems by studying operations; designing, developing and implementing software solutions. Lead a team of developers responsible for...
Front End Developer
Develop systems by studying operations; designing, developing and implementing software solutions. Lead a team of developers responsible for building and supporting...
Software Engineer
Research, design and write software solutions and evaluate the software and systems that make the client’s requirements fulfilled. Develop existing programs by analysing and identifying...