Title: Senior Software Engineer
Primary Roles and Responsibilities include performing a variety of duties related to the development, enhancement, and delivery of an industry-leading web-based enterprise financial software system and consist of the following:
- Responsible for planning, processing and performing all jobs in an efficient manner with little to no assistance from the supervisor.
- Understand how our application operates, is structured, and is used.
- Develop features in all areas within our application, including collaboration in requirements definition, prototyping, design, coding, and testing.
- Participate in the team’s effort to define plans for standardizing, scaling, and enhancing our products and services.
- Investigate, analyze and make recommendations to management regarding technology improvements, upgrades and modifications.
- Provide prompt engineering support in response to bug reports.
- Design, develop, and implement programming changes with consideration for system performance and quality.
- Analyze system specifications and translate system requirements to task specifications.
- Responsible for analysis of current programs including performance, diagnosis and troubleshooting of problem programs, and designing solutions to problematic programming.
- Test new code changes to ensure that logic and syntax are correct, and that program results are accurate.
- Assists lower-level programmers with programming assignments.
- Document code consistently throughout the development process by listing a description of the program, special instructions, and any changes made in database tables on procedural, modular and database level.
- Strong and effective inter-personal and communication skills and the ability to interact professionally with staff.
- Responsible for communicating with analysts, developers, testers, and technical support staff regarding programming needs and defects.
- Provide assistance to testers and support personnel as needed to determine system problems.
Additional skills and/or areas of expertise:
- Up-to-date expert knowledge of all programming languages, tools, and techniques currently used in the development process.
- Ability to solve problems quickly and completely.
- Possess excellent communication skills, with an emphasis on verbal and written communication.
- Ability to multi-task and stay organized in a dynamic work environment.
- Possess a positive attitude.
- Ability to think creatively.
- Experience and ability to teach or instruct co-workers.
- Provide advice, training and technical support for various projects.
- Work closely with management team in evaluating current systems and making decisions on future development.
- As new technologies emerge and impact our systems, expected to learn these technologies very quickly and resolve any problems involved in integrating new technologies with our systems.
- Ability to work productively in a team.
- Expert knowledge of maintaining and debugging live software systems.
- Expert knowledge of writing program documentation.
- Expert knowledge of used operating systems.
- Ability to determine whether a particular problem is caused by hardware, operating systems software, application programs, or network failures.
- Good knowledge of security and encryption.
- Perform work of high difficulty in designing, writing, editing, modifying, and debugging computer programs.
- Define functional specifications of the system for the appropriate hardware.
Perform other related duties incidental to the work described herein in support of the company.