Responsibilities:
• Write code that is of high quality and consistent with our coding standards.
• Maintain best practices for development/code changes as needed.
• Design and architect software applications
• Maintain high quality standards and unit/integration test your application.
• Work with senior developers/Principal Engineers of the team and seek input on solving complex problems.
• Demonstrate your work to other team members. Work in a Product based R&D team and collaborate with other teams to integrate products.
Required Qualifications:
• Bachelor’s Degree in Computer Science or related field
• 3+ years (all the way to 10 years+) of software development experience on web applications
• Experience building complex software systems that have been successfully delivered to customers.
• Strong Computer Science fundamentals, knowledge in data structures, algorithms, problem-solving and complexity analysis
• Self-directed and capable of working effectively in a highly innovative and fast-paced environment.
• Experience with Agile software development in a UNIX/Linux environment
• Experience with system architecture/design
• Must have hands-on design and development experience in one or more of Cloud, Microservices, Java, J2EE, Spring Boot, Hibernate, Junit. Front-end development experience including React, Angular, HTML5, JavaScript, and CSS3
• Hands-on knowledge of Multi-threading, Non-blocking IO, Kafka, JMS, Knowledge of Microservices, REST, JSON and APIs is required. Conceptual knowledge or experience with as many of the following is highly desirable: Tomcat, Node.js, XML, XSLT, XPath, Web Services, MongoDB, MYSQL, and query performance tuning.
• Knowledge of professional software engineering practices and best practices for the full software development life cycle (SDLC), including coding standards, code reviews, source control management, build processes, testing, and operations.