Previous Job
Senior Software Engineer
Ref No.: 17-15312
Location: Wayne, Pennsylvania
Position Type:Contract
By joining TiVo MetaData Engineering group you'll have the benefits of working for a large, public company while spending your days in a small, fast-paced team. Our job is to build 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 TV and movies. You don't have to like them too, but, "it'd be a lot cooler if you did." We need new ideas and new approaches, and someone ready to contribute from the start.

The basic responsibilities for the job may include:
• Design, implement, and document core technology components
• Develop custom applications using internal software frameworks
• Develop and customize data mining and statistical techniques for operation on large datasets
• Update, optimize, and administer large-scale data processing routines

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

Our ideal candidates are:
• Analytical. We want people who are able to evaluate situations that they have not encountered before and reason about them logically.
• Creative. We want people who can go beyond a repertoire of standard solutions and answer Client challenges with innovative and outside-of-the-box solutions.
• Practical. We want people who can find a balance between theory and practice to create solutions that are conceptually sound but also working and delivered on time.
• Fast learners. We want people who can quickly understand new ideas and learn new technology.

Experience running apps as standalone services or in a web container (e.g. Tomcat, JBoss).
Experience with lightweight web servers a plus (e.g. Undertow, Jetty)
Experience using Spring Framework (Spring Boot experience preferred)
Experience with database systems and SQL
Experience with Multiple RDBMS (e.g. SQL/Server, MySQL, Oracle, or PostgreSQL)
Strong SQL skills preferred
Experience with NoSQL a plus (e.g. Mongo, HBase, Cassandra)
Linux scripting (bash, perl or python)
Experience with Agile methodology and iterative development
General Understanding of the following (working knowledge preferred):
Drools or equivalent business rule management system (BRMS)
REST services development
HTTP Web Server – Apache, NGINX
Message Queues – RabbitMQ or Kafka
Cloud Container Management – Docker and CoreOS
Strong background in object-oriented programming techniques and design patterns
Dedication to lifecycle best practices, including Test Driven Development, source code management and continuous integration
Passion for code quality using industry best practices around logging, monitoring, unit testing and code reviews
Self-motivator capable of producing results with minimal direction
Drives to software solutions using the best technology possible, and not wedded to single technologies or solutions
Strong team player with a natural aspiration for excellence