Position Summary:
A Programmer Analyst does technically difficult programming and application or software support; analyzes existing systems and procedures; determines the feasibility of data processing applications; designs and participates in the implementation of systems of computer programs; and may act as a lead analyst or project leader in supervising technical employees who are performing such work.
Key Responsibilities:
- Analyzes existing applications by reviewing codes and understanding the applications functionality in order to evaluate the effectiveness of the system and provide end users the option to enhance the current system, modernize to a new platform, or select off-the-shelf applications.
- Facilitates and/or conducts meetings with end users, team members, managers, and/or support staff in order to discuss or negotiate work related agreements for services such as application and support requirements
- Maintains a positive attitude in the face of customer complaint or frustration.
- Designs and implements computer applications by coding and testing the application according to systems specifications and client requirements, preparing for user acceptance testing, and developing an implementation plan and providing it to support staff in order to correctly build an application, make any necessary changes, ensure its proper operation, and deploy the application into production environment to meet client’s needs.
- Remains focused on the issue presented by the customer and directs the customer back to the issue if necessary.
- Ensures organizational policies and practices are customer-focused.
- Ensures all employees recognize their responsibility for customer service and are properly trained for it.
- Responds to service inquiry requests (in-writing or by phone, e-mail, or ticketing system) such as data extraction and/or modification or enhancement to an application in order to provide quality customer service
- Tests and evaluates off-the-shelf software packages/tools by considering criteria such as business requirements, user friendliness, and efficiency in order select software packages/tools that meet clients request for services.
- Collaborates with project team members by sharing information, being tactful, and providing assistance and technical direction in order to design, troubleshoot, modify, and implement a program or application.
- Asks the customer if their concerns have been fully addressed.
- Monitors application performance by establishing performance baselines, noticing trends, using online statistical and automated tools, and client feedback and reports below standard performance to management, clients, or other technical support staff in order to plan for and anticipate application, network, and database growth or enhancements.
- Configures, supports, and enhances application software by establishing performance parameters, customizing details, rewriting codes, and reviewing application load in order to ensure user friendliness and efficiency and to achieve optimal technical performance.
- Suggests options if available.
Required Education & Experience:
- Knowledge of technical design and documentation such as data modeling, database, flowcharts and diagrams in order to support and analyze business application requirements and solutions and document or interpret business processes.
- Knowledge of database and programming languages such as C#, C++, HTML5, Java, Javascript, VB, Coldfusion, PHP, .NET, Pearl, mobile programming languages, SQL queries, stored procedures, triggers, views, and big data tools in order to develop, maintain, troubleshoot, modify, and enhance computer programs and applications.
- Knowledge of database platforms and structures such as Oracle, SQL, DB2, big data infrastructures, relational, hierarchical, and object-oriented in order develop and troubleshoot applications.
- Knowledge of data communication such as IP networking among mainframe, LAN, Wan, server, and cloud in order to troubleshoot existing networking issues (i.e. when an application is unavailable) and transmit data among network points.
- Knowledge of data and security architecture for computer program writing such as defensive programming, data protection, data access control, encryption, SSL, firewall, and secure coding to ensure data security, and for the encryption of data for transmission.
- Knowledge of the systems development life cycle (SDLC) including systems analysis, design, development, systems test, implementation, and maintenance, and the required documentation such as the System Requirement Document and Test Plan in order to provide clients with applications that can automate and/or streamline business processes
- Knowledge of development tools such as Microsoft Visual Studio, Eclipse, SoapUI and Dream weaver in order to develop, implement, maintain and troubleshoot computer programs, applications, and web-related projects.