The ideal candidate has a strong linux background and is highly motivated to design and develop innovative solutions in Perl, Python and SQL. This engineer should take pride in writing maintainable and highly reliable code. This person should be able to understand the big picture of the system and be able to solve complicated problems within that system. This person will work closely with other engineers at the company and should be able to conduct design and code reviews.
As a Software Engineer II you will:
* Design and develop frameworks, tools and systems for release deployment and service control.
* Design and develop enhancements to existing install and service control interfaces.
* Support users in Engineering, SQA and Operations. Provide architectural guidance to user community.
* Work to understand, explain and improve complicated code bases.
* Work with our development QA and system QA teams to come up with regression tests that cover new changes to our software.
About the Team
System Communications is a team of engineers who develop distributed systems that support Akamai's global network. In general, these systems operate behind the scenes to provide the fault-tolerant and highly scalable core of Akamai's configuration and health monitoring systems. In this case, the engineer will work on Akamai's core installation and service control systems that manage the configuration of Akamai's distributed network.
Required Education and Experience:
* 5 years of relevant experience and a Bachelor’s degree or its equivalent or
* 3 years of relevant experience and a Master’s degree or
* Relevant experience and a PhD
* 2+ years of experience with Perl, Python or C++ on Linux or a Unix based OS.
* 2+ years of experience working with Linux OS and System Internals.
* 2+ years of experience with Linux operating system concepts, configuration, utilities, etc.
* 2 + years of experience with internet protocol basics including TCP/IP, HTTP, DNS.
* Experience developing interfaces for broad internal consumption.
* Experience developing server configuration and/or management systems.
* Experience developing distributed systems.
* Experience with databases and SQL
* Proven track record of delivering large amounts of high quality, complex code.
* Excellent written and verbal communications skills.