Responsibilities:
Perform needs analysis of clients and end users.
Research, plan, design, and develop one or more components of a single larger system or entire moderate or small systems.
Design and code new reports, programs, and other software and system components according to department and Company guidelines.
Test all code written or modified.
Partner with the testing team for regression and quality assurance testing.
Collaborate with customers and end users to ensure changes are appropriate.
Assist other programming staff in the analysis and research of issues.
May implement relational database design and modeling using the appropriate relational database software.
May perform maintenance and backup functions for the database.
Write or revise system and operation documentation for complex new and existing programs and systems following Company and client standards.
Stay abreast of industry trends.
Research and design the use of new technologies.
Make recommendations for changes or improvements utilizing new technology.
May serve as a resource and technical expert to clients and less experienced staff.
Participate in or lead portions of the planning, researching, designing, and evaluation of software.
Serve as a resource expert to staff and management.
May provide direction to less experienced programming staff.
Requirements
Four-year degree in Computer Science or related field and/or equivalent training and/or experience
3 - 5 years experience in programming and/or software development; proficient in programming languages.
Experience with Java and Java EE required.
Some experience with one or more of SQL, JavaScript and CSS, React is also required.
Experience with Spring Boot, Mustache, Thymeleaf, React Native, HTML, GIT, Jenkins preferred.
Bachelor's degree in Computer Science