Software Engineer: CodeQL developer tools
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 matters greatly to us, and we want to give the community the tools it needs to secure the code we all depend on.

CodeQL is one such tool that we build at GitHub: it is our query language and engine for semantic code analysis. Open-source security researchers and enterprise customers use CodeQL, both as a standalone tool and as part of GitHub's code scanning service, to identify errors and vulnerabilities in source code and share their security knowledge with the community.

The CodeQL core engineering team is looking for engineers to work on CodeQL developer tooling. We want to make CodeQL a joy to use when securing software. The tools we build include:

  • an open-source Visual Studio Code extension, which security researchers use to write CodeQL queries and discover vulnerabilities;
  • an open-source GitHub Action, which integrates with GitHub code scanning to deliver security results to developers;
  • the underlying CLI and query engine that power CodeQL analysis.

Your work will positively impact thousands of security researchers and software developers, inside and outside GitHub, in the open-source and enterprise ecosystems. You will be challenged and supported to solve unique and interesting problems. With your help, we will continue to build cutting-edge code analysis technology, create a great user experience, and hence secure the world’s software.

You would be joining a distributed team, with team members living across North America and Europe, within a globally distributed company. We operate with a high degree of autonomy and trust. Our expertise ranges across compilers, developer tools, program analysis, CI, and system administration, and we are keen to grow and share knowledge. We value curiosity, learning potential, introspection and reflection, and we’re always looking for ways to improve as a team and as individuals. You would have significant influence on the product and technical direction of CodeQL and broader code intelligence products at GitHub.

GitHub is made up of people from a wide variety of backgrounds. We support and reward spending time on improving diversity, inclusion, and belonging, mentoring others to share your knowledge, and other areas of growth both within and outside your core role as an engineer.

Desired skills and experience

  • Experience building a developer tool for a programming language, such as: a parser, compiler, interpreter, debugger, IDE plugin/extension, language server, or static analyzer
  • 2+ years of experience with the JavaScript/TypeScript or Java programming languages

Bonus skills and experience
We do not expect applicants to be familiar with all these areas. We encourage you to apply if you are familiar with some of these skills OR if you are strongly interested in learning them!

  • Experience building UI/UX with TypeScript and React
  • Experience with extending Visual Studio Code and creating code editors with the Language Server Protocol
  • Knowledge of compilers, database theory, static program analysis, or programming language design
  • Familiarity with a logic programming or database query language (e.g. SQL, Prolog, Datalog)
  • Experience building security analysis tools, e.g. static or dynamic analyzers, fuzzers
  • Experience using continuous integration tools, e.g. Jenkins, Circle CI, or GitHub Actions

Responsibilities

  • Build new features in the open-source CodeQL extension for Visual Studio Code, helping improve the experience of writing and debugging queries in the CodeQL language.
  • Build new features in the open-source CodeQL Action, enabling users to run CodeQL analysis in their continuous integration systems and see security results on GitHub's code scanning platform.
  • Contribute new features to the CodeQL CLI, including the compiler and language server.
  • Respond to bug reports and feature requests from internal and external users.
  • Work with the GitHub documentation team to improve product documentation.
  • Maintain automation for testing and releasing the above products.
  • (Optional) If you are interested in engaging with the open-source community, there will be opportunities to interact with CodeQL users via community forms, talks, and workshops.
  • (Optional) If you are interested in research and development, there will be opportunities to help improve the speed and capabilities of the CodeQL compiler and evaluation engine, or to help users understand and visualize the results it produces.

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

Apply for this Job

* Required
  
  


U.S. Equal Opportunity Employment Information (Completion is voluntary)

Individuals seeking employment at GitHub are considered without regards to race, color, religion, national origin, age, sex, marital status, ancestry, physical or mental disability, veteran status, gender identity, or sexual orientation. You are being given the opportunity to provide the following information in order to help us comply with federal and state Equal Employment Opportunity/Affirmative Action record keeping, reporting, and other legal requirements.

Completion of the form is entirely voluntary. Whatever your decision, it will not be considered in the hiring process or thereafter. Any information that you do provide will be recorded and maintained in a confidential file.

Race & Ethnicity Definitions

If you believe you belong to any of the categories of protected veterans listed below, please indicate by making the appropriate selection. As a government contractor subject to Vietnam Era Veterans Readjustment Assistance Act (VEVRAA), we request this information in order to measure the effectiveness of the outreach and positive recruitment efforts we undertake pursuant to VEVRAA. Classification of protected categories is as follows:

A "disabled veteran" is one of the following: a veteran of the U.S. military, ground, naval or air service who is entitled to compensation (or who but for the receipt of military retired pay would be entitled to compensation) under laws administered by the Secretary of Veterans Affairs; or a person who was discharged or released from active duty because of a service-connected disability.

A "recently separated veteran" means any veteran during the three-year period beginning on the date of such veteran's discharge or release from active duty in the U.S. military, ground, naval, or air service.

An "active duty wartime or campaign badge veteran" means a veteran who served on active duty in the U.S. military, ground, naval or air service during a war, or in a campaign or expedition for which a campaign badge has been authorized under the laws administered by the Department of Defense.

An "Armed forces service medal veteran" means a veteran who, while serving on active duty in the U.S. military, ground, naval or air service, participated in a United States military operation for which an Armed Forces service medal was awarded pursuant to Executive Order 12985.


Form CC-305

OMB Control Number 1250-0005

Expires 05/31/2023

Voluntary Self-Identification of Disability

Why are you being asked to complete this form?

We are a federal contractor or subcontractor required by law to provide equal employment opportunity to qualified people with disabilities. We are also required to measure our progress toward having at least 7% of our workforce be individuals with disabilities. To do this, we must ask applicants and employees if they have a disability or have ever had a disability. Because a person may become disabled at any time, we ask all of our employees to update their information at least every five years.

Identifying yourself as an individual with a disability is voluntary, and we hope that you will choose to do so. Your answer will be maintained confidentially and not be seen by selecting officials or anyone else involved in making personnel decisions. Completing the form will not negatively impact you in any way, regardless of whether you have self-identified in the past. For more information about this form or the equal employment obligations of federal contractors under Section 503 of the Rehabilitation Act, visit the U.S. Department of Labor’s Office of Federal Contract Compliance Programs (OFCCP) website at www.dol.gov/ofccp.

How do you know if you have a disability?

You are considered to have a disability if you have a physical or mental impairment or medical condition that substantially limits a major life activity, or if you have a history or record of such an impairment or medical condition.

Disabilities include, but are not limited to:

  • Autism
  • Autoimmune disorder, for example, lupus, fibromyalgia, rheumatoid arthritis, or HIV/AIDS
  • Blind or low vision
  • Cancer
  • Cardiovascular or heart disease
  • Celiac disease
  • Cerebral palsy
  • Deaf or hard of hearing
  • Depression or anxiety
  • Diabetes
  • Epilepsy
  • Gastrointestinal disorders, for example, Crohn's Disease, or irritable bowel syndrome
  • Intellectual disability
  • Missing limbs or partially missing limbs
  • Nervous system condition for example, migraine headaches, Parkinson’s disease, or Multiple sclerosis (MS)
  • Psychiatric condition, for example, bipolar disorder, schizophrenia, PTSD, or major depression

1Section 503 of the Rehabilitation Act of 1973, as amended. For more information about this form or the equal employment obligations of Federal contractors, visit the U.S. Department of Labor's Office of Federal Contract Compliance Programs (OFCCP) website at www.dol.gov/ofccp.

PUBLIC BURDEN STATEMENT: According to the Paperwork Reduction Act of 1995 no persons are required to respond to a collection of information unless such collection displays a valid OMB control number. This survey should take about 5 minutes to complete.