Software Engineer

Location: Mountain View, CA

Ref#: 1648.3216

posted: 6-Oct-2017

Responsible for analyzing, designing, debugging and/or modifying software; or evaluating, developing, modifying and coding software programs to support programming needs. Maintain and enhance existing code with focus on implementation. Collaborate with and assist team of engineers in writing functional, design and user interface specifications. Follow software lifecycle process when developing software. Help identify solutions to problems encountered in software cycle. Designs, develops, maintains and implements software modules in a given product. Participates in the definition of the lifecycle of software process and in code reviews. With little or no supervision, completes analysis of partially defined tasks, completes major portions of complex functional specs/design documents or entire documents and completes development and/or maintenance assignments. Collaborates within and across groups in writing functional and design specifications, development schedules and user interface specifications. Identifies and suggests solutions to problems of significant scope. Generates engineering test plans from functional specification documents. Uses professional concepts and company policies and procedures to solve a wide range of difficult problems in imaginative and practical ways. Broad application of principles, theories, and concepts in applicable discipline, plus working knowledge of other related fields. Works on problems of diverse scope where analysis of data requires evaluation of identifiable factors. Exercises judgment within generally defined practices and policies in selecting methods and techniques for obtaining solutions. Utilizes graduate-level research and analysis skills. Employer will accept Master’s degree in Computer Science, Engineering or related technical field and 2 years of work experience in job offered or 2 years of work experience in a computer-related occupation. Positions requires 2 years experience in the following: 1. C, C++, Object oriented programming 2. Writing installer scripts using Advanced Installers. 3. Developing enterprise security solutions and debugging using WinDbg on Unix platforms. 4. Working with Microsoft Cryptographic Service Providers using CAPI, eToken and SmartCards 5. Kernel debugging using WinDbg 6. Understanding of multi-tenancy, concurrent programming, distributed, and cloud computing software systems. Web services and REST-ful enterprise services. 7. Creating security products using secure programming techniques & security design principles. 8. Public Key Cryptography Standards (PKCS) and implementation of private key security via Smart Cards 9. Evaluate Security of the product by using threat modeling, static code analysis and appropriate crypto usage review