As a member of the Technical Services team, the Software Engineer role will develop and maintain .Net APIs, Enterprise smart client, ASP.Net e-Business suite, development SDKs as well as any other tasks required for delivering of successful software package to our clients of Personify 360, a leading association management system (AMS). In addition to working as a productive member of the Product Development engineering team, the software engineer is expected on occasion to communicate with Professional Services and Customer Service department, as well as directly with customers to provide support in installing, configuring or troubleshooting Personify 360 software. The software engineer needs to possess very strong technical and analytical skills, as well as excellent communication skills as they will often have to explain business functions to programmers and technology considerations to non-technical business users and managers.
ESSENTIAL DUTIES AND RESPONSIBILITIES:
- Conduct system analysis and development, to keep our systems current with changing technologies.
- Extend the capabilities to add new product features and functions to the Personify Platform.
- Confer with systems analysts, engineers, programmers and others to design system solutions and to obtain information on project limitations and capabilities, performance requirements and interfaces.
- Modify existing software to correct errors, allow it to adapt to new hardware, or to improve its performance.
- Analyze user needs and software requirements to determine feasibility of design within time and cost constraints.
- Consult with customers about software system design and maintenance.
- Coordinate software system installation and monitor equipment functioning to ensure specifications are met.
- Work with other engineers and designers on creating and evaluating estimates for future feature developments based on customer requirements.
- Adhere to system performance standards.
- Train users to use new or modified equipment.
- Provide assistance to testers and support personnel as needed for trouble shooting configuration or system issues.
- Responsible for analysis of current programs including performance, diagnosis and troubleshooting of problem programs, and designing solutions to problematic programming.
- Responsible for developing new programs and proofing the program to develop needed changes to assure production of a quality product.
- Tests new programs to ensure that logic and syntax are correct, and that program results are accurate;
- Document code consistently throughout the development process by listing a description of the program, special instructions, and any changes made on the database level.
CRITICAL PERFORMANCE FACTORS:
Technical – Understanding the requirements a project’s technological scope, its complexity and required functionality. Familiarity with the latest standards and technologies associated with software product development. Ability to work on complex issues independently or as part of the team. Ability to explain the consequences of various business logic or design decisions in terms of scope changes and overall system performance.
Analytical – Ability to understand the requirements of software development requirements in terms of scope and complexity and functionality. Project Management, base lining, development, use of appropriate software, auditing processes.
Motivational (Self) – Self-starter with experience in a fast paced, technical environment who enjoys solving problems and working with cross functional teams towards a common goal. Highly responsive to inquiries and able to multi-task.
Motivational (Others) - Ability to effectively communicate and inspire others towards a configuration management plan and its infusion into the day-to-day work of the team.
Communication – Strong communication skills and ability to effectively communicate technical topics to all levels of the organization and diverse skill sets.