General Purpose
Working with significant independence and under general direction, the senior software engineer participates in the design, programming, testing, documentation and implementation of complex computer applications and systems.
Evaluates software packages, provides recommendations to management and business clients, and identifies best technology solutions.
Identifies future needs for key technologies and techniques and develops plans for adoption.
Responsibilities
Architects, designs, codes, tests, documents, implements and maintains more complex application programs and interfaces.
May act as senior contributor or technical lead on small to mid-sized projects.
- Provides technical support; problem determination and investigation; implementation of upgrades for developed applications.
- Enhances existing systems; participates in client walkthroughs and technical design reviews. Aids in systems development planning and monitoring.
Participates in design reviews and peer code walkthroughs. Provides client and application support.
Perform software development and ensure conformance to performance optimization and interoperability standards and requirements.
Work in adherence to secure development lifecycle practices and policies.
- Performs or assists in the research and fact-finding to develop or modify application programs. Includes working with vendors to review quality, adaptability and compatibility of their products.
- Act as the subject matter expert, and consult with clients on company’s IT strategy and business requirements.
- Collaborate with IT teams from applications and infrastructure to identify technology deficiencies and improvement opportunities in practices and procedures.
- Stay current with industry standards techniques for software development, and apply them to development, testing, integration and reporting processes where appropriate.
- Consults with application users in developing functional / technical specifications.
- Consults with application users, evaluates user requests for new or modified computer applications and associated interfaces to determine feasibility, cost and time required, compatibility with current systems and computer capabilities.
- Performs any additional responsibilities as requested or assigned.
Requirements
Bachelor's degree in management information systems (MIS), computer science or related technical field or equivalent work experience.
Typically six years of related, progressive work experience would be needed for candidates applying for this position who do not possess a bachelor's degree.)
- A minimum of six years of experience in business software application design, development, integration and / or installation.
- Demonstrated advanced knowledge of programming in client / server or web development environment. Experience in the industry, or in an environment whose scope, size and complexity are comparable.
- Demonstrated advanced knowledge of open systems object design methodologies, architecture methodologies, security practices and integration techniques.
- Demonstrated advanced knowledge of relational database technology, structured analysis concepts, and software design patterns.
- Demonstrated project management skills and ability to prioritize and handle multiple tasks and projects concurrently.
- Demonstrated business analysis aptitude including communications and interpersonal skills enabling an understanding of client's needs.
- Demonstrated advanced knowledge of information technology terms, equipment, systems, functions and major vendors. Experience integrating large disconnected enterprise-class systems in a robust, fault-tolerant manner consistent with industry standards.
- Able to work in a zero-code-ownership environment where the team members can modify any source file at any time.
- An understanding of deployment topologies (i.e. ensuring secure, highly available systems).
- Effective oral and written communication skills.
- Effective analytical and problem-solving skills.
- Ability to prioritize and handle multiple tasks and projects concurrently.
- Availability for periodic on-call responsibilities.
- Experience integrating Commercial off the Shelf (COTS) solutions within an environment with strong change and release management processes and procedures.
- Technical knowledge with hands-on experience in Oracle and Microsoft SQL database development. Technical knowledge with hands-on experience in current computing programming languages.
- Experience supporting an Energy and Commodity Trading and Risk Management system such as Openlink’s Endur.