Current Opening

Computer Scientist/Principal Investigator (Multiple Positions) (Portland, OR)

Duties: Serve as a critical/lead computer scientist in verification and concurrent systems. Direct, conduct and develop capabilities, initiatives, and solutions in research to increase understanding of difficulties in proving the correctness of concurrent data structures used in complex databases and multi-core systems inherent in Cloud computing. Build credible and deep reputation within relevant research and adoption communities to attract talented collaborators. Represent Galois in external situations with widely varying audiences. Present research so that partners, collaborators, and users are engaged and understand Galois. Pursue coherent research maturation direction that moves ideas or technologies forward towards adoption to meet problem area needs, weighing viability and feasibility. Write and declare strategy for research / adoption of new initiatives. Partner with business development to develop long-term research strategies, participate in requirements gathering to align with strategy; pursue and develop funding opportunities; and lead client kickoff meetings to demonstrate value of overall research/adoption direction. Analyze, propose, and respond to solicitations from government funding agencies to secure funding for research program. Provide technical leadership on funded projects. Review opportunities for patents and trademarks. Direct supervision of 5-10 employees: Computer Scientists and Research Engineers. 10% travel, including international, required.
 

Education: PhD in Computer Science, Mathematics or a closely related field (foreign equivalent accepted).

Experience: 5 years’ experience as a Computer Scientist, Computer Science Researcher, Research Engineer, or similar position focusing on program analysis and verification.

Skills / requirements:
1. Within five years prior to employment, demonstrate at least 5 peer-reviewed research papers appearing in publications associated with international conferences (organizers or presenters are from multiple countries) or international journals (editorial board members are from multiple countries) focusing on verification, formal methods, formal analysis, programming languages, programming, or closely related field.
2. Within five years prior to employment, demonstrate at least 5 research presentations on verification, formal methods, formal analysis, programming languages, programming, or closely related field in international conferences (where organizers or presenters are from multiple countries) or to academic or industrial audiences.


 And

5 years’ experience with each of the following: 

3. Managing development of software analysis and verification tools and libraries
4. Working with high-level specifications of software systems and reviewing deeper program analyses to validate such specifications
5. Conducting speculative research and development of static code analysis technology, and incorporating that technology into prototypes
6. Using reasoning tools such as theorem provers or model checkers to demonstrate and analyze desired security and correctness properties of systems 

All experience, skills and requirements may be gained concurrently. All applicants for this position should apply via ADP, ref. #1029.