Software Engineer: CodeQL Language Analysis

Remote - US / Canada

GitHub logo
GitHub
Apply now Apply later

Posted 1 week ago

GitHub is the home for software development, where developers collaborate to build some of the world’s most important software. The security of that software is a collective problem, a responsibility that involves producers and consumers of code, open source maintainers, security researchers, and security teams. At GitHub, we want to give the community the tools it needs to secure the software we all depend on. 

CodeQL is one such tool: our semantic code analysis engine that lets you query code as though it were data. CodeQL combines the latest research in compiler optimization with insights in database implementation. It understands the complex data structures inherent in code, and makes analysis available to researchers using a declarative, object-oriented query language. You can write a query to find all variants of a vulnerability, eradicating it forever. Then share your query to help others do the same.

You’ll work with and learn from Senior and Staff engineers as well as influence and coach your team using your experience. In addition, we support and reward spending time on improving diversity, inclusion, and belonging, as well as other important improvement-work outside your core role as a software engineer.

Responsibilities:

  • Be part of a team of code analysis and program language experts working to redefine what’s possible through static analysis and variant analysis.
  • Turn ideas from cutting-edge research into dependable, scalable analyses.
  • Use CodeQL, our revolutionary declarative logic programming language, to develop sophisticated queries for finding security vulnerabilities.
  • Ensure that we support the latest tools, language features and compilers of the key programming languages our analysis understands.
  • Collaborate with the GitHub Security Lab team, the Open Source community and GitHub’s Enterprise customers to create the best analysis libraries possible.

Minimum Qualifications:

  • Significant experience with programming languages (ideally in one or more of the following: C, C++, C#, Java, JavaScript/TypeScript, Python, Haskell, Ruby, Go)
  • Strong understanding and experience (either academic or professional) in at least one of the following;
    • Program / static analysis.
    • Compilers and compiler construction.
    • Formal verification techniques; Abstract Interpretation; Partial Evaluation.

Preferred Qualifications:

  • Programming language design and implementation.
  • Solid understanding of modern compilers and parsers.
  • Query languages; query optimisation; code generation.
  • In depth experience of performing methods such as static or dynamic analysis; control flow; data flow and information flow; security research; program transformation; taint tracking.
  • Logic programming / Declarative Programming (e.g. Prolog, Datalog).

We work as a distributed group within a distributed company. The majority of our team members live in Europe and across the US and Canada, and while we do have some offices, all our meetings are location-agnostic and happen online. We operate with a high degree of autonomy and trust, and we have a significant level of influence on the product and technical direction of CodeQL, as well as the broader code intelligence products at GitHub. We value learning, introspection and reflection, and we’re always looking for ways to improve as a team and as individuals, so candor and a culture that values safety to speak up are highly important to us. 

Who We Are:

GitHub is the developer company. We make it easier for developers to be developers: to work together, to solve challenging problems, and to create the world’s most important technologies. We foster a collaborative community that can come together—as individuals and in teams—to create the future of software and make a difference in the world.

Leadership Principles:

Customer Obsessed - Trust by Default - Ship to Learn - Own the Outcome - Growth Mindset - Global Product, Global Team - Anything is Possible - Practice Kindness

Why You Should Join:

At GitHub, we constantly strive to create an environment that allows our employees (Hubbers) to do the best work of their lives. We've designed one of the coolest workspaces in San Francisco (HQ), where many Hubbers work, snack, and create daily. The rest of our Hubbers work remotely around the globe. Check out an updated list of where we can hire here: https://github.com/about/careers/remote

We are also committed to keeping Hubbers healthy, motivated, focused and creative. We've designed our top-notch benefits program with these goals in mind. In a nutshell, we've built a place where we truly love working, we think you will too.

GitHub is made up of people from a wide variety of backgrounds and lifestyles. We embrace diversity and invite applications from people of all walks of life. We don't discriminate against employees or applicants based on gender identity or expression, sexual orientation, race, religion, age, national origin, citizenship, disability, pregnancy status, veteran status, or any other differences. Also, if you have a disability, please let us know if there's any way we can make the interview process better for you; we're happy to accommodate!

Please note that benefits vary by country. If you have any questions, please don't hesitate to ask your Talent Partner.

#LI-POST

Job tags: Java JavaScript Object-oriented Open Source Python Research Ruby Security TypeScript