Search by Job Title

Software Engineer - Distributed SystemsCalxeda, Inc.

THIS JOB HAS EXPIRED

Calxeda is headquartered in Austin, Texas. Our company mission is to bring revolutionary computational efficiency to the data center built around the ultra-low-power ARM architecture. Furthermore, we are developing server platform technologies that scale efficiently to thousands of processor nodes with balanced, high-performance network and storage acceleration techniques, and advanced power management features.

If you like the idea of being a key contributor, and you like the idea of working for a company that wants to change the industry, then we'd like to hear from you!

Responsibilities:

--Cluster and cloud software development: develop systems and application level technologies for a highly scalable Linux server environment in C, C++ and scripting languages. A particular focus is on management and distributed/parallel programming of very large clusters supporting big data.
--Develop feature validation suites as well as measuring and optimizing performance at the single node and cluster level.
--Clearly document all design work and ensure that customer documentation is complete and accurate. Interact with open and closed source developers leveraging your technology.
--Provide guidance to hardware engineering team for opportunities related to features and optimizations.

Education/Qualifications:

Junior engineers should have achieved an undergraduate degree in Computer Science or Electrical Engineering or equivalent work experience. Graduate level education or experience is preferred, but not required. Highest preference will be given to those able to demonstrate the ability to deliver well-designed working code: a pointer to such code that you have developed is the best qualification, or ask us about some problems that let you demonstrate your prowess.

Senior level engineers require 5+ years of hands-on experience with design and development of software in highly scalable environments with deep knowledge of clustering and distributed programming. As well as being a broad generalist, you should have demonstrable expertise in an area such as network programming, parallel and distributed programing, compilers, operating systems or traditional or non-traditional database or data-intensive applications.

--All engineers should have excellent C or C++ and scripting language skills. Preferably also reading ability at the assembly language level for a common processor like x86 or ARM.
--Interest and ability in working across many layers of the software stack including operating system components, compiler internals, traditional and non-traditional big-data storage layers, messaging and cluster scaling technologies. Working knowledge of hardware systems architecture and ability to collaborate with system design team.
--Aptitude for a quantitative approach to performance analysis /optimization.
--Self-motivated and driven to continuously improve personal and professional skills combined with openness to constructive feedback in a small team environment.