Job Title: Senior Software Engineer
Location: Cary, NC (Hybrid onsite- 4 days)
Duration: Long term contract
Interview : This role requires an Onsite Interview
Position Summary:
- A Senior Software Engineer will develop, maintain, and support new or existing software products while evangelizing and applying the best practices of software development.
- Responsibilities include the ability to work independently and as part of the leadership group of a larger team to deliver quality solutions across all phases and layers of the software lifecycle.
Essential Functions:
Quality:
- Meet or exceed test coverage goals set for the project through creation of unit and functional tests
- Minimize the number of production escapes
- Support user acceptance testing
- Support or conduct system testing, performance, volume, and stress testing
Usability/User Experience:
- Collaborate with business and UX team to create appropriate application User interfaces
- Assist with mock-up's, user interface design
- Incorporate UX components into application
- Provide feedback to UX team
Product Reliability & Response:
- Ensure system can meet or exceed defined SLA's
- When primary on-call respond to pages within 15min, and resolve or escalate issue as necessary
- Resolve production issues and communicate resolution to appropriate stakeholders
Development:
- Complete stories within estimates and with quality to ensure release dates are met
- Conduct necessary analysis, design, and prepare technical documentation
- Estimate story sizes and task out development for a given story
- Follow the Railinc development process and suggest improvements
- Work with infrastructure services to make configuration changes and deploy applications
Leadership (Technical):
- Evangelize Railinc common practices and development procedures
- Exhibit technical leadership in given technical subject domain
- Identify new technologies and approaches that may improve our quality, productivity, and capabilities
- Mentor peers and junior developers
- Delegate, and coordinate functional development tasks as needed
- Drive innovation in the development, release, and operations processes
Knowledge, Skills & Abilities:
- Works under deadlines and subject to heavy project load
- Ability to provide technical expertise to others and explain concepts with technical staff
- Ability to operate independent of supervision with extreme accuracy and attention to detail.
- Experience in defining requirements, designing, and illustrating process flows, and training users.
- Ability to communicate and follow up professionally (written and oral) both internally and externally within the organization – including documentation of application requirements
- Demonstrated ability to identify and resolve issues effectively
- Ability to mentor others
- 7 years of Java/J2EE Web Development Experience.
- Comfortable with front-end, middle tier and backend technologies.
- Expertise in front-end technologies like Angular, Spring MVC or equivalent, hands on experience in these technologies a must in last 3 years.
- Expertise in Spring, Spring Boot and hibernate or equivalent ORM, hands on experience in these technologies a must in last 2 years.
- Experience is working with Docker and Kubernetes environment, hands on experience in building docker applications.
- Web Service SOAP/REST expertise, especially as a service provider.
- MDB/MDP/Broker/Service Bus MQ technologies development experience in last 2-3 years is a plus. If the candidate is just familiar with MQ or has minimal experience, needs to be really strong in specific front-end, backend technologies of Struts/Spring/hibernate.
- Expertise using Tomcat servers
- Experience with Agile software development methodology
- Expertise in using version control software like git, etc.
- Strong understanding of deployment processes, deployment environments, production application troubleshooting techniques etc. too.
- Experience to work with AWS cloud native services like S3, CloudFront, Lambda, ELB, SNS, SQS and Route53 will be a plus
- Experience to deploy application components in AWS EKS cluster and to debug any issues will be a plus
- Experience in using Aurora RDS for database will be a plus
- Experience in using Amazon MQ for message broker service will be a plus
Education & Experience:
- Bachelors degree in Computer Science or equivalent field desired and 7 years of technical experience or
- Master’s Degree in Computer Science or equivalent field desired and 3 years of technical experience
- Minimum of 7 years of experience in a development environment.
- AWS Developer or Solutions Architect certification will be a plus