Job Title: Computer Programmer

Location: Dublin, CA (must be willing to relocate to our client location, as necessary)

Employment Time: Permanent

Job Description

Tasks and Activities:

Application Design (Percentage of time to be spent: 25%)


  • Analyze all the requirement given by users.
  • Setup meetings with the end users on the requirement given by them and discuss the requirement for better understanding.
  • Identify the bottlenecks of the requirements and discuss the same with the users.
  • Discuss the potential design with the users and get approval on the same if it suffices the requirement.
  • Identify potential database performance issues and work with Database Administrators to clarify and resolve the issues.
  • Prepare High Level Design (HLD) and get proper approval to move forward with Detail Level Design(DLD).
  • Once the HLD is approved, prepare the DLD which considers design details at table columns and how the data is going to be processed.

Application Development (Percentage of time to be spent -25%)


  • Development and review of the requirement.
  • Creating Radar, a premier communication and tracking system, documenting all the defects raised in the Production environments with the use cases.
  • Implement changes in Production and ensure that they run in a timely manner.

Change management and Control (Percentage of time to be spent- 10%)


  • Conduct impact analysis on new changes in system components like Autosys scheduler software upgrade, Database packages before application moves into production, to ensure the existing functionality is not impacted.
  • Ensure that the changes have gone through the complete software lifecycle before being moved into Production.
  • Review of Test cases and other deliverables.
  • Ensure that changes are moved into Production at an appropriate time with minimum impact to existing functionality and business users.

Application Maintenance (Percentage of time to be spent: 15%)


  • Review performance metrics with Database Administrators and System Engineers to identify potential bottlenecks in the system.
  • Conduct impact analysis for any changes that are identified.
  • Apply temporary fixes for short term resolutions.
  • Creating Radar, a premier communication and tracking system, documenting all the defects raised in the Production environments with the use cases.
  • Identifying application issues by troubleshooting, debugging and finding the root cause of the malfunction.
  • Implement changes in Production and ensure that they run in a timely manner.

Capacity Planning (Percentage of time to be spent - 5%)


  • Providing inputs to capacity planning with growing data volumes in petabytes.
  • Determine the projected data growth for the application, working with business users.
  • Conduct reviews with Database Administrators and System Engineers to determine additional system resource requirements.
  • Plan for adding additional capacity as per need to give higher throughput in handling parallel processing.
  • Coordinate change management and identify appropriate window.

Automation (Percentage of time to be spent - 5%)


  • Identifying frequent failure points and writing automation scripts in Python, bash scripts, SQL and web APIs to apply fixes in less turnaround time.
  • Writing automation scripts for repetitive tasks to prevent human-error related mistakes.
  • Creating ad-hoc scripts and generating system health reports during special business events for proactive monitoring.
  • Email automation and reports consuming JSON and XML alert messages for operational efficiency and to assist production support team.

Client Interfacing (Percentage of time to be spent - 10%)


  • Identify gaps and flaw in interfaces instances. Debugging the Stack to find gaps and errors throughout the data pipeline.
  • Weekly and monthly meetings with the client managers, generate reports Microsoft excel, to review the recurring issues and advise on improvements.
  • Prioritize production issues and user queries and work with users in arriving at a resolution in the shortest time possible.
  • Emergency meetings for high priority issues.
  • Client Communication during critical events and data catch up during schedule downtimes to minimize data refresh delay.

Knowledge Management (Percentage of time to be spent: 5%)


  • Conduct knowledge transfer sessions with the support teams for new functionality and dimensions added for business requirements such as new Interface set up, Data calculation changes etc.
  • Review the design and application programs to identify potential flaws and fix it for future releases such as functional discrepancy in program logic, unhandled program exception.

Technical Skills Requirement

  • C++, Python, Objective – C, Swift 2.0, Shell Scripting.
  • Data Structures.
  • Operating Systems
  • Computer System Architecture
  • Design and Analysis of Algorithms
  • Software Engineering
  • Object Oriented Software Engineering
  • Database Management System
  • Principle of Management
  • Production and Operations Management
  • Data Warehousing and Data Mining

Others: Master’s degree in Computer Science or equivalent