The primary purpose of the Sr Software Developer is to participate in the architectural review process, help design and create solutions that create, maintain and extend software products and technology service offerings that focus on serving the needs of retailers and other businesses that utilize point of sale, and payment processing technologies.Job Details:
Create new Software Products, Modules and Features
- Design and code software features that adhere to delivered design requirements
- Perform unit testing of code created.
- Participate in the testing/fix quality assurance cycle
- Collaborate with other developers on feature integration into a larger system
- Participate in code reviews
Collaborate with other engineers in designing new software products, modules and features.
- Mentor other less experienced engineers in the design and code of software features that adhere to delivered design requirements
- Develop and maintain architectural artifacts as needed.
- Review pull requests and perform code reviews in collaboration with the team.
- Lead and collaborate with other developers on feature integration into the overall architecture and larger systems design.
Maintain existing software products and services
- Correct software deficiencies (bugs)
- Add features and enhancements that adhere to delivered design requirements
- Perform unit testing of code created
Collaborate as part of a development team
- Participate in periodic planning sessions
- Research and make recommendations to the group regarding new technology available and its proper application
- Update manager and scrum team leaders on project process and status
Contribute to the product specification process
- Review user stories and provide estimates
- Review and provide feedback on specifications created by team members
- Create specifications for API's as identified
- Communicate to the Scrum Masters, Production owner and Technical Manager, technical issues that impact deliverable goal viability
Draft documentation for development projects
- Comment code to provide clarity during later rework/reuse projects
- Contribute to Technical Proposals as needed and review Technical Proposals created by other team members
- 5 to 8 years of experience with the development environments used within the assigned product group (e.g. Java J2SE / J2EE, Eclipse, REACT, Node.js, Web Technologies, Linux / Shell Scripting, Microsoft SQL Server 2012-2016)
- 3+ years experience designing professional grade software
- 3+ years in a technology mentorship or leadership role
- Knowledge of, and experience applying, object oriented architecture, design and programming concepts
- Knowledge of, and experience applying, n-tier application architecture and development methodologies
- Working experience with SQL database programming concepts, including database design, stored procedures, query optimization, and performance/scalability considerations
- Industry experience in payment processing
- Proficiency with Microsoft Office Suite of Products.
- Experience with integration to COTS application to internal and extended enterprise systems
- Excellent written and verbal communication skills including basic technical writing abilities
- 5+ years experience designing and developing web applications
- 3+ years experience creating RESTFul API's
- Experience using JPA to perform CRUD operations on SQL database
- Experience using Kubernetes and Docker to build CI/CD pipelines
- Experience with Spring Boot and creating Micro Services