JAVA Software Engineer I
Job Description:
What You Will Be Doing:
As a Software Engineer I, you will participate in all aspects of the Software Development lifecycle by supporting existing software development efforts and troubleshooting issues as they occur while also developing new software modules across multiple small to medium projects concurrently. You will have an opportunity to lead the design of certain software components and suggest new products, applications and features based on industry and technological trends and advances. You will also consult with process owners in reviewing, interpreting & developing systems in accordance with user requirements. Finally, you will get an opportunity to work with a diverse team and mentor junior software engineers.
Responsibilities:
- Be the primary contact and lead support associate for multiple applications.
- Play a critical role in supporting the application lifecycle (design, develop, test, release and support) based on detailed requirements and guidance from senior engineers/leads.
- Collaborate with technical/business leaders and product owners to acquire and understand requirements / acceptance criteria.
- Develop, maintain, test, analyze performance, troubleshoot / fix applications and applicable code
- Support mission critical applications and assist in the resolution of customer issues.
- Design backend database schemas.
- Produce deliverables with clean, well-documented and easily maintainable code that adheres to defined coding standards.
- Write unit / UI tests to identify defects and leverage CI/CD for building and deploying code.
- Triage production issues and work with multiple teams to perform problem analysis
- Assign and review tasks from junior and offshore software engineers.
- Participate in conducting new hire interviews.
- Influence the discovery and decision-making process when changes to standards and technology are required (tools, conventions and design patterns)
- Provides support to the business by responding to user questions, concerns, and issues (for example, technical feasibility, implementation strategies)
- Other projects as assigned
Qualifications:
- Bachelor’s Degree in Computer Science/Computer Engineering or equivalent years of software development experience
- 5-7 years experience of appropriate programming languages dependent on the role(Java, RPG, etc)
- Full stack development experience in technologies such as React, Angular, jQuery, HTML, JavaScript, CSS, Spring framework, Spring-MVC, myBatis, RESTful API’s.
- Knowledge of technical project management
- Knowledge of appropriate design frameworks and patterns and experience in implementing them in software development.
- Knowledge of industry wide technology strategies and best practices.
- Experience in relational database design.
- Knowledge and experience of the Agile software development methodology.
- Ability to troubleshoot and resolve issues
- Ability to research emerging software development frameworks and tools
- Ability to estimate and medium to large sized projects.
- Excellent communication and interpersonal skills
- Knowledge of full software development lifecycle
- Some background in DevOps Tools and automation
- Regular, predictable, full attendance is an essential function of the job