The Software Engineer is a member of a team that works on development projects. That team as a whole is responsible for reviewing, designing, implementing, and testing each project they work on. As a member of the team, the Software Engineer is responsible primarily for writing and testing code with direction from more senior technical people on the team.
Develop new application programs from established specifications or documented requirements.
Maintain existing application programs by fixing bugs or clearing up operational deficiencies in both previously released software and software slated for future release.
Assure program, module and system integrity through thorough testing and adherence to company standards and procedures.
Work through all phases of the software development life cycle, including research, design, analysis, requirements, implementation, test automation, and maintenance.
Utilize new technologies and tools to modify products and provide integration with applications developed internally and externally.
Prepare and modify program and system documentation.
Achieve departmental goals and timelines.
Perform other duties as assigned.
Bachelor’s degree in computer science, computer engineering, or comparable work experience.
Typically two or more years of software development experience with database technology.
Demonstrated proficient knowledge of software development practices, computer science theory, and understanding of relevant technologies.
Java/C# (or similar high-level language)
or Relevant related technologies
Demonstrated ability to write and test code in reasonable timeframes.
Demonstrated basic understanding of product architecture and all underlying technologies.
Demonstrated basic understanding of development process.
Experience with data modeling tools, web services and/or service-oriented architecture is beneficial.
Ability to work well both independently and within a team environment.
Good written and verbal communication skills.
Good interpersonal skills.
Ability to negotiate with various parties to ensure enhancements to applications are addresses while maintaining/balancing business situations and constrictions.
Well-developed logical thinking, reasoning and problem-solving skills.
Well-developed time management skills.
Ability to prioritize and complete multiple tasks in a fast-paced, technical environment.
Keen attention to detail.