Staff Engineer, Software Development (Production Systems)

TiVo • Durham, NC 27701

Posted 2 weeks ago

Job Description

The TiVo Metadata team is recruiting software engineers for our Production Systems Engineering group. Our job is to build and run software that helps people find the entertainment they enjoy. We spend a lot of time thinking about how to optimize the discovery experience, but we also passionately debate which of Trainspotting or Napoleon Dynamite is the best movie of all time. We like music, TV and movies.

The Production Systems group is responsible for development and support of our existing Metadata systems. This includes the way we ingest new data sources, the transformation & processing of that data, the internal tools used by our Operations team to check/enrich/manage this data, and the eventual delivery of the processed metadata to our customers. The team develops new products or customizations to products, and the team also supports these systems and the end-to-end Metadata pipeline when there are internal or customer-facing issues. We provide Tier I+, II and III support to internal & external customers, and constantly recommend and implement ways to improve our internal systems.

The basic responsibilities for the job may include:

* Analyze business & technical requirements for customer deliverables.

* Design, develop & document high performance & scalable solutions and solution components to meet requirements.

* Develop and customize data mining and statistical techniques for operation on large datasets.

* Update, optimize, and administer large-scale data processing routines.

* Analyze complex technical problems reported by customers.

* Provide in depth technical support to Production applications to ensure timely deliveries to customers.

* Participate in On Call Application Production Support based on global rotation.

* Look at a problem, help fix it, yet then see opportunities to go further to change the way we work to avoid the whole class of problems in the first place.

* Quickly understand innovative ideas and learn new technology.

* Strong Customer focus and teamwork while continuously striving for excellence

Discovery solutions for television are changing fast. Because of the rate of change, the primary qualities that we are looking for in candidates center around general intelligence and problem-solving skill, rather than specialization and specific work experience.


* Education/Experience:

* BA/BS or higher in Computer Science or a related field

* 7+ years of professional work experience in software development with experience in production support engineering or related desired

* 4+ years in Java development in a UNIX environment, or comparable experience and open to work in Microsoft .net environment as needed. Our Products use a good mix of open source Java and UNIX (Linux) based technology as well as Microsoft technology based on .net and C#

* 1-2+ years with SQL/ relational databases.

* Problem solving skills:

* Organized approach to problem solving including investigation and documentation of steps taken and root cause analysis

* Ability to work with users to understand problem symptoms

* Log analysis & data tracing through various layers of data transformations, tracing requests through multiple layers of call stack

* Debug source code in various programming languages (SQL, C# and Java are most important) in order to arrive at root cause of problems

* Troubleshooting performance issues in web applications, Windows services, and MVC applications in C# and .NET and Java

* Strong database systems:

* Expert level experience with RDBMS (e.g. SQL/Server, MySQL, Oracle, or PostgreSQL)

* Create stored procedures, views, functions, and database objects using SQL server database

* Familiarity monitoring, optimizing and troubleshooting database performance issues

* Familiarity with ETL operations using tools such as SSIS, SSRS

* Experience with NoSQL a plus (e.g. Mongo, HBase, Cassandra)

* Additional skills:

* Development experience in:

* C#, .NET framework

* Java and Spring Framework

* Python

* Experience in one or more scripting languages

* Python programming Experience will be a plus.

* Experience with Agile methodology and iterative development

* Understanding of operating systems (Windows, Linux)

* Understanding of communications & networking protocols (TCP/IP, http, FTP)

* Understanding of message queuing, including RabbitMQ and/or Kafka


Sign Up for Daily Job Alerts.

Thank You

You will receive your first job alert within 24 hours.

Similar Jobs

    Browse Jobs | Terms & Conditions | Privacy Policy | Unsubscribe
    POWERED BY