Senior Software Engineer
closed
NICE
Summary
Join NICE, a global leader in software solutions, as a top-performing software engineer. You will excel in designing, developing, and testing high-quality software, ensuring projects meet functional and non-functional requirements. Collaborate with senior engineers and architects in the design process, communicate designs effectively, and lead a scrum team. Contribute high-quality code, maintain design and quality standards, and mentor junior engineers. This role requires extensive experience in Java, Spring Framework, RESTful APIs, microservices, JavaScript, and various web technologies. NICE offers a hybrid work model (NICE-FLEX) with flexible remote work options.
Requirements
- Experience in Java programming, including data structures, threading, OOP, design patterns, functional programming, and memory optimization
- Proficient in using Spring and Spring Boot for web applications or web services
- Familiarity with JMS/Kafka and API Gateway/reverse proxy technologies
- Hands-on experience with RESTful API development and microservice architecture
- Proficiency in JavaScript programming
- Experience with ReactJS (or similar frameworks) for complex pages, authentication/authorization, and state management
- Proficiency in HTML5, CSS3, and Responsive Web Design, including grids, layouts, and offline storage
- Experienced with MySQL/Postgres and MongoDB, including schema definition, query performance tuning, and ORM
- Experience in developing scalable multi-tenant SaaS-based solutions
- Familiarity with public cloud infrastructure and technologies such as AWS, Google Cloud Engine, or Azure
- Experience with Continuous Integration and Delivery using Jenkins, Docker, Kubernetes, and Artifactory
- Experience working in an Agile development environment and using work item management tools like JIRA
- Experience - 5 to 7 yrs
Responsibilities
- Serve as a top-performing engineer, excelling in the design, development, and testing of high-quality software
- Ensure all projects meet specified functional and non-functional requirements within given time and resource constraints
- Collaborate in Design Process: Work with senior software engineers, architects, and managers to design software products and services
- Contribute to implementation planning and estimation
- Communicate Software Designs: Convey software designs to other engineering staff through code, textual, and pictorial documentation
- Interface with various groups within and outside R&D as needed
- End-to-End Implementation and Support: Lead by example to ensure comprehensive quality coverage and high responsiveness to issues throughout the software lifecycle
- Maintain Design and Quality Standards: Ensure design and quality standards are met through regular code reviews and testing
- Mentor and coach peers and junior engineers, promoting best practices and software craftsmanship
- Contribute Quality Code: Personally contribute significant volumes of high-quality code, ensuring regular releases and deployments alongside colleagues
- Lead Scrum Team: Lead a scrum team of developers and QA engineers to meet roadmap commitments effectively
Preferred Qualifications
- Strong analytical and problem-solving abilities
- Excellent communication and collaboration skills
- Experience with Spring Security/Batch and security technologies like SAML, OAuth, and JWT is a plus
Benefits
At NICE, we work according to the NICE-FLEX hybrid model, which enables maximum flexibility: 2 days working from the office and 3 days of remote work, each week