About the Company:
Technology company with over 15,000 employees.
About the role:
Base Salary: $150K-$165K
We are looking for a Software Developer with a solid technical background that is willing to build robust and maintainable applications using software development best practices. We value the willingness to build better software and to use proven design patterns and technology to solve real world business problems that we find every day in our projects.
You will work in very large projects initially, having the opportunity to also join smaller ones when needed. Although your end goal will be to deliver applications in the Call Center / Unified Communications space our projects usually involve interacting with multiple applications and technologies, such as CRMs, Service Desk Software and Analytics. Our main technology stack is Java-based, but we also work with other stacks from time to time. Our team works directly with customers and you, as the software engineer, will eventually have some contact with customers through the Software Architect or Project Manager.
- Develop software applications, usually in Java and Springboot, using design patterns and Object Oriented best practices
- Make sure that the code delivered meet the quality standards defined by the project, including unit testing coverage, static analysis checks and security scans
- Own the software deliverable, making sure it complies with the requirements both in functional as non-functional requirements
- Configure continuous integration, static code analysis tools and build process for your software, as well as installing and deploying the same in end customers or in cloud based solutions, automating the process as much as possible
- Collaborate and support other team members in your area of expertise
- Must be Graduated in Software Engineering, computer Science or similar.
- Must have Fluent oral and written English skills
- Must have 5+ years of experience working with the Java stack, preferable with Springboot
- Must be well versed in Object-oriented programming (OOP) and be familiar with the use of Design Patterns
- Must be familiar with writing Unit testing for the code provided, using JUnit or similar frameworks
- Must have experience writing and deploying software to cloud platforms, one of AWS, Azure or GCP
- Should have previous experience with Maven, Sonarqube and continuous delivery tools, such as Jenkins or Bamboo
- Should have prior experience developing with Springboot
- Should be familiar REST Services
- Should be familiar with messaging communication, having previously used JMS implementations
- Nice to have previous experience using Spring Cloud
- Nice to have previously worked with microservices and Containerization tools (Docker, Kubernetes)
- Nice to have familiarity working in Agile environments
- Nice to have industry certifications: Java Certified Programmer, Architect or similar; AWS, GCP or Azure certifications are also valued