Job Description: Software Engineer II
Will design and develop backend solutions using the latest Java technologies.
Candidate must be well-versed and comfortable working in multiple aspects of a multi-tiered architecture, including but not limited to Cloud Based applications and CICD processes.
Should be able to demonstrate excellent problem-solving skills, self-motivated, highly detail oriented, able to context switch easily, able to work with vendor/offshore team(s), good team player.
Will work with other engineers, managers, Product Management, QA, and Operations teams to develop innovative solutions that meet company initiatives with respect to functionality, performance, scalability, reliability, realistic implementation schedules, and adherence to development goals and principles.
Principal duties and responsibilities:
Define, Design and develop components using Java. Collaborate with architects, Systems Engineering and Product Management and other technical and non-technical stakeholders in the current product development process Formulate and communicate technical vision and strategy to business and technical stakeholders Design and develop data architecture, data definition and data manipulation structures in multiple database solutions including MySQL, MongoDB, ElasticSearch. Implement all aspects of development, to include database, presentation, middle tier and system interfaces As a member of the Agile delivery team, collaborate with the rest of the team and product daily Respond quickly to changes in requirements Develop system and maintenance documentation Participate in Project planning and Estimation Prepare the architectural document artefacts Mentor development teams around sound design and coding practices Assist with testing and release process, including writing unit and integrated testing. Coordinate with development team members, perform code , design & architectural reviews Execute architectural design spikes Evaluate third party software products used in the solution as needed Provide detailed & accurate estimates for code development effortsRequired Qualifications:
BS in Computer Science, or related degree (Math, Engineering, Computers) required, or a combination of education and related experience 3-5 Years years’ professional development experience in Java 2+ years’ experience with service oriented development Experience with Cloud Architecture and distributed systems. Familiarity using Linux is a plus Strong problem solving and analytical skills Strong written and oral communication skills Experience working in an Agile scrum team environment Excellent troubleshooting skills and being able to work under pressurePreferred qualifications:
Ability to demonstrate initiative, not only to accomplish assigned development tasks with a minimum of prepared documentation, but also to identify areas for improvement, and ability to combine these improvements into the product Experience with AWS Experience with Rules Engine and/or Event driven architecture Experience creating unit tests Exposure to performance and scalability improvementSkills:
Languages: Java, Python, NodeJS Backend: MySQL, MongoDB, ElasticSearch, DynamoDB. XML, Java Script, Ajax, CSS