Software Developer
Designs, develops, modifies, enhances and implements software systems designed to support new or existing business initiatives. Projects are usually of considerable complexity and require a mastery of development tools like Eclipse IDE for Java EE Developers, GitHub, Jira, Jenkins, shell scripting. Requires advanced knowledge of Spring framework, Kafka, JMS, SQL, REST, SOA. Requires basic knowledge of monitoring tools and technologies like Splunk, AppDynamics. Works in most phases of a project and reviews work of less experienced staff members. Performs maintenance and provides technical assistance and advice on existing software solutions. Provide mentorship and coaching to entry, junior and associate level team members, including interns, to ensure a effective assimilation to the team and resource for professional growth.
- Actively and consistently supports all efforts to simplify and enhance the customer experience
- Codes and performs unit and integration testing of software to ensure proper and efficient execution and adherence to business and technical requirements
- Codes, tests, and debugs new software or makes enhancements to existing software
- Designs and writes programs according to functional and non-functional requirements
- Leads code review sessions to validate adherence with development standards
- Reviews and provides input into development standards
- Develops and maintains technical documentation
- Serves as final escalation point to resolve incidents and problems for production applications and web services supported by the team in accordance with identified Service Level Agreements
- Collaborates with internal customers, technical and architecture teams to solve complex software problems
- Provides general system users and management with system analysis and feedback
- Influences system design by identifying and recommending design and requirements needs for software enhancements
- Mentors and coaches less experienced staff
- Maximizes the efficiency of the various software systems by implementing, monitoring, testing and auditing new software programs
- Participates in continuous performance improvement sessions to discuss opportunities to improve processes or standards
- Analyzes and resolves computer related problems by coordinating with in-house personnel to diagnose and fix operational issues, as well as consulting, advising and training on specialized features and functions
- Follows established configuration/change control processes
Required Skills: Java Basic Qualification: -3-5 years of Java experience -Kafka experience is a plus -Spring boot experience -Production Support experience -Database experience (Oracle, MySQL or SQL Server)-Charter uses Oracle - Linux/Unix experience -60% Development and 40% Production support Additional Skills: -3-5 years of Java experience -Kafka experience is a plus -Spring boot experience -Production Support experience -Database experience (Oracle, MySQL or SQL Server)-Charter uses Oracle - Linux/Unix experience -60% Development and 40% Production support Background Check: Yes Drug Screen: Yes