Sr. Engineer - Development, Internet Systems Engineering
This individual will be a member of the Internet Systems Services team within the Product Engineering Organization. This team operates Comcast's residential and commercial IP voice messaging systems - the largest IP-based voice messaging system in the world. This job involves designing and developing software tools to support the full range of activities necessary to deliver voicemail services on an end-to-end basis. This includes building and integrating reporting, monitoring, and data analysis tools, creating automation tools to assist with systems administration and troubleshooting, and more.
This person must be able to rapidly identify and explain design issues and challenges, and think on their feet. Day-to-day activities will range from high-level design, to application development, to hands-on systems administration and operational support, requiring self motivation and a wide range of skills and experience. This individual must have the ability to understand business needs, working closely with product managers, and strike a good balance between business needs and technical implementations. This individual will also be fairly autonomous and be expected to contribute to a wide range of high-impact projects across the organization.
Major Duties:
Function as a key member of the team responsible for the day-to-day, 24x7x365 on-call engineering, system administration, and operation of Comcast's IP voice messaging systems.
Develop designs that focus on active-active clustering, N+1 horizontal scaling, geographic redundancy, high-performance at low cost, innovative use of storage and storage networking, and simple elegance.
Design and develop automation tools to help the team's systems administration engineers manage the Voicemail platform more efficiently, including tools to deploy software, verify consistent configurations, automate functionality testing of new servers, analyze log data, and troubleshoot problems.
Design and create tools to collect, organize, and analyze utilization, performance, and capacity information from the platform.
Design and create a dashboard web site to visualize the collected data, including platform availability reporting and capacity trend prediction.
Provide review and input into the design of new technical features and architectural changes to the Voice messaging system.
Help develop and implement a capacity model, total cost of ownership model and augmentation plan for the platform.
Develop test plans/cases to be used in verifying documented requirements.
Work with other organizations (NOC, Capacity Planning, Business, etc.) to integrate the voice messaging data into other existing systems (Spectrum, SevOne, Concord, etc.)
Ensure all development is done in a flexible, extensible way, so that it may be easily expanded to support additional products and platforms in the future.
Utilize existing open-source products and packages to speed development.
Maintain productive relationships with peer organizations & vendors.
Other duties as assigned.
Punctual, regular, and consistent attendance.
Required Skills:
Required Skills/Experience:
At least 5 years of Perl software development experience in a Unix/Linux environment.
At least 3 years of software development with design responsibilities.
At least 5 years experience creating web pages using HTML and CSS.
At least 5 years designing and developing for SQL databases (Oracle, Postgres, MySQL, etc.)
Development using web services technologies such as SOAP, XML, and REST.
Creation of Unix shell scripts to automate tasks.
Demonstrated understanding of the software development life cycle and agile development.
Creative thinking and critical analysis.
Clear and effective verbal and written communication skills.
Demonstrated ability to stay organized while multi-tasking between several projects.
Must be a flexible, resourceful, team player that is able to thrive in a fast-paced, constantly changing environment.
Must have a professional work ethic and positive attitude.
Demonstrated ability to produce results with minimum direction.
Demonstrated interest in continuing to grow professionally and learn new things.
Desired Skills/Experience:
Experience developing Web 2.0 / AJAX functionality using JavaScript/DOM.
Software development experience in PHP, Python, Ruby or other similar languages.
Data analysis and visualization experience, including basic statistical analysis skills and experience with open-source graphing toolkits such as gnuplot, ploticus, MRTG, etc.
Experience as a Unix systems administrator.
Network analysis experience (SNMP, packet analysis, DNS, etc.)
Storage Area Network (SAN) experience (EMC, HDS, Brocade, FCIP, iSCSI, etc.)
Experience with SIP messaging servers, VOIP, or IP Voicemail systems.
Experience operating or troubleshooting SMTP-based e-mail platforms.
Education:
Bachelor's degree in Engineering or Computer Science or equivalent in work experience and self-study.
Advanced degree is a plus.
|