**Knowledge and Skills**
* Bachelor’s degree or equivalent in computer science, electrical engineering or related field is preferred, with a minimum of 6 years of directly related work experience; 4 years of work experience is required for individuals holding a Master’s (3 years for PhD) in one of these fields (equivalent experience may be substituted for formal education)
* Expertise in one or more object oriented languages (e.g., C++ or Java), and one or more scripting languages (e.g., Unix shell, PERL, Java script). Expertise in OOAD principles and methodologies (e.g., UML) and OS concepts
* Experience emphasizing product quality in the production of software requirements for features and system qualities(including performance and security), product design, software design, estimates, source code, test plans, unit test harnesses, software and system performance data, software product information, bug fixes
* Extensive knowledge and discipline in software engineering process; experience as a technical lead on complex projects, providing guidance on design and development approach
* Expertise in Windows, Java and/or Unix programming required
* Expertise in Networking technologies and multi?threaded programming
* Expertise with Configuration Management tools and processes
* Knowledge and experience with Internet technologies (e.g., HTML, XML, TCP/IP)
* Knowledge and experience with relational database technologies (SQL, schema design) highly desired
* Expertise with more advanced programming environments and concepts highly desired (e.g., J2EE, OS internals, network appliances)
* Expertise implementing, unit testing, debugging and integrating code of moderate complexity
* Experience helping others to design, write, conduct, and direct the development of tests
* Good understanding of Project Management methodologies
* Track record of success in software development project estimation/agreed tolerances, engineering tools, and concepts
* Experience mentoring/leading an engineering team through a technical project
* Experience independently publishing papers, blogs, and creating and presenting briefings to technical audiences
* Demonstrated technical leadership skills and ability to transfer knowledge effectively
* Engineers with a Security focus will also have 6 years related experience and thorough technical knowledge in several of the following areas: computer and network security theory, information security engineering, authentication and access control systems, secure software development methodology, penetration testing, applied cryptography, technical security standards, policies, and management frameworks
**Qualifications and Requirements**
* Bachelor’s degree in computer science or related field
* Experience in developing enterprise class software products.
* Knowledgeable in Microsoft Windows technologies
* Proficiency in one of C/C++/C#/Objective C/Java programming languages
* Expertise with more advanced programming environments and concepts (e.g. Multi-Threading, OS internals, End-User Experience, Networking, Mobility.)
* Experience with mobility related technologies is a plus.
* Experience with debugging tools (e.g. WinDgb, Visual Studio, XCode, etc.)
* Understanding of software design patterns and architectural principles
* Passion for quality and attention to detail
* Strong organizational, communication and presentation skills
* A proven record initiating and leading change – both technical and process
* Experience with software development lifecycle processes and tools