Greater Lansing Area, United States, North America
Mid Career (2+ years of experience)
$55K - $70K
16 Mar, 2017
The Software Developer is responsible for the research and analysis, development, programming, and ongoing maintenance of programs. This is a cross-functional role that works directly with project stakeholders to identify requirements and constraints, estimate timeframes, and design and implement technical solutions.
The following are high level requirements for this role:
- Experience with at least one object-oriented programming language (Java, C#, Python) and SQL
- Knowledge of Unix/Linux
- Ability to communicate/collaborate effectively in a team environment
- Conducts a full range of programming tasks, including programming design, program coding, debugging, and system documentation. Uses various databases for technical solutions.
- Assists with software development to prepare for host system upgrades, new and revised modules, and general system implementation plans.
- Provides technical support to troubleshoot, research, and resolve support system and software issues escalated from the Helpdesk so that operational problems are resolved quickly without significant interruption to member and employee service.
- Reviews the code and testing results generated by coworkers for individual programs.
- Mentors less experienced coworkers concerning many aspects of design, implementation, and testing of individual programs.
- Independently lead the design and development of individual programming projects, communicating with stakeholders and other project team members as necessary.
- Growing focus on software development utilizing object-oriented programming languages and database management.
- Uphold and support programming and networking security requirements as it pertains to individual programming projects that the department performs.
- Monitors operations of department processes and systems and assists when necessary with a wide range of operations that the department performs.
- Develop scripts used for batch job scheduling; assists with job schedules to ensure stability and efficient use of machine resources.
- Collaboratively works with business units, technical teams, and third-party vendors to create project plans, technical specifications, software diagrams, and technical documentation for new programs that interface with the Credit Union\\\\\\\'s systems. These programs must conform to department standards, business requirements, regulations, and industry best practices.
- Develops implementation plans for new and revised systems and can include parameters and batch job file schedules for processing. This includes communication plans and change management approvals.
- Provides time estimates to complete technical solutions and meets deadlines established for tasks and project objectives.
- Communicates project progress to project sponsors and management in project meetings and by making timely updates to the department\\\\\\\'s project management and ticketing applications.
- Learns and adheres to programming and networking security protocols as required for individual programming projects.
- Creates documentation including workflows and procedures for business solutions, including troubleshooting documentation.
- Develops and executes testing plans and tests applications to ensure quality and validate business requirements and compatibility with established systems and processes.
- Participates in testing and code reviews based upon department standards and guidelines for programs written by co-workers.
- Provides advice and assistance to coworkers concerning some limited aspects of design, implementation, and testing of individual programs as skills and experience are developed.
- Developing ability and increasing responsibility to perform duties that support critical operations, processes, and procedures, including monitoring of systems and a wide range of department tasks.
- Develops systems that adhere to disaster recovery procedures and participates in development and compliance with the disaster recovery plans.
- Adheres to PCI DSS and other standards and regulatory requirements by participating in and maintaining a compliant environment in use of email, data transport, and development of software applications.
- Assists with after-hours system needs generally associated with on-call rotation. Maintain availability for such calls within established service levels via MSUFCU-issued cell phone.
- Keeps management advised of any system problems or events that prevent ability to fulfill work requirements or compromised systems.
- Participates in training activities within the department or branch and with the learning and talent development department; such training helps to ensure staff compliance with Credit Union policies and state and federal regulations and laws.
- Bachelor\\\\\\\'s Degree in Computer Science or related field preferred.
- Intermediate knowledge of at least two of the following: JAVA, PowerOn, and SQL.
- Basic knowledge of SOAP, UNIX/AIX systems and commands, and network concepts to support multifaceted software development operations.
- Intermediate knowledge of an automation or job scheduler like SMA\\\\\\\'s OpCon XPS.
- Intermediate project management skills needed to handle diverse projects, oftentimes simultaneously, and meet aggressive deadlines.
- Proficiency with department programming languages and conventions, design and development standards, and best practices.
- Increased understanding of and skill for designing and developing programs that meet the needs and expectations of the Credit Union and membership and how those programs impact other programs, departments, and the Credit Union as a whole.
- Ability to analyze and resolve a wide range of complex situations, researching and testing as necessary to arrive at efficient and innovative solutions.
- Strong ability to communicate with project stakeholders and team members, provide time estimates and progress updates, take initiative to anticipate, discuss, and resolve problems on projects and meet deadlines.