Research Engineer at Graphika
Graphika empowers the world to understand and navigate the Cybersocial Terrain. We create large-scale, in-depth maps of social media landscapes and conversations to discover how communities form online and how influence and information flow within large scale networks. Our interdisciplinary team uses our unique, patented set of technologies and tools to create and apply new, rigorous analytical methods to answer difficult questions about online conversations.About the Role
Graphika seeks an experienced Research Engineer to join the team. The Applied Science team at Graphika drives continuous innovation and improvement of Graphika's technical and scientific offerings through our scientific Research and Development efforts, while maintaining a competitive basic research portfolio.
Research Engineers can expect to focus on a few key priorities:
- Development of fundamental software capabilities, either to operationalize the outcomes of Applied Science research studies or to repurpose existing methods for novel use cases.
- Robust and scalable prototyping of theoretical innovations in this field.
The Research Engineer will actively participate in full lifecycle scientific research and development efforts, from ideation sessions for new basic research projects to building and scaling complex machine learning, network science, and/or deep learning models.
Our Research Engineers work on a diverse and challenging range of projects and are pivotal to the development and ongoing improvement of our research through the computational implementation of our latest theoretical work.
The Applied Science team works collaboratively with every team at Graphika to ensure we consistently push the theoretical bounds of state-of-the-art while building a competitive consumable innovation portfolio that logically integrates with Graphika’s core platform. We develop complex algorithms and models, built on a combination of networked, structured, and unstructured data to tackle interesting questions in new ways.Areas of Responsibility
- Provide software design and programming expertise to research projects - pairing closely with Research Scientists and other Engineers to better engineer and implement our latest theoretical research
- Implement and evaluate algorithms - own development and iteration throughout the research cycle
- Contribute to grant funded fundamental and applied research projects, including contributing to proposals, technical discussions, software development, etc.
- Actively own systems which support diverse applications across the company
- Design and deploy systems architecture components
- Share ownership in ensuring the quality of our data and data infrastructure
- Consistently test code and systems for robustness
- Discuss new DevOps and MLOps solutions and support existing ones
- Maintain and improve on our research MLOps infrastructure
- Bridge the gap between research and product collaboratively with other engineers
You have demonstrated the ability to build, deploy and maintain large-scale, complex algorithmic models and engineering workflows. You love to take on complex data-related problems, and can direct your own work. You are excited about developing state-of-the-art technologies and applying those theories to real-world problems in industry. You have a proven knowledge of CS fundamentals like algorithms, data structures, and time complexity. You can imagine and design architectural solutions at scale.
You think beyond the task at hand to deeply understand the 'why' behind what you are doing. You can maintain a focus on shipping state of the art software, understanding that done is often preferable to perfect.
You are an enthusiastic teammate, who engages in collaboration and proactive discussion. You are an effective communicator who can explain technical concepts to product leaders, customer support, scientists, and other engineers. You work with confidence and without ego. You have deep knowledge and exercise a high degree of ownership in your daily work. You have loosely-held, defensible ideas, and advocate for what you believe is right. You can surface your unarticulated assumptions. You are also adept at identifying and evaluating trade-offs, willing to be proven wrong, and quick to support your fellow teammates.Team Culture
- Team members will have the freedom to cultivate their research roots by publishing in leading scientific conferences and journals, patenting novel methods developed, as well as leading or contributing to grant funded research projects.
- We value difference, diverse experiences and interests, and collaboration to advance state-of-the-art science and technology.
- Team members are encouraged to openly discuss problems, successes, and failures for the purpose of learning and collaborative problem solving, both during and outside of dedicated meeting times
- Experience writing production-quality software in Python which is understandable, testable, and has an eye towards maintainability
- Familiarity with AWS services: S3, Lambda, Kinesis, SQS, etc, or similar cloud-based tools
- Knowledge of and ability to interact with or set up MLOps tooling (MLFlow, Optuna, etc)
- Knowledge of and ability to interact with DevOps tooling (Terraform, Ansible, Packer, Docker, etc.)
- Comfortable designing and scaling modeling efforts on unstructured and networked data
- Experience with the Python data science stack (numpy, pandas, matplotlib, sklearn, Jupyter, etc.)
- Ability to lead data architecture and algorithmic engineering discussions
- Knowledge of SQL and common relational database systems such as PostgreSQL and MySQL
- A strong dedication to code quality, automation and operational excellence: unit/integration tests, scripts, workflows
- Ability to work legally in the US without visa sponsorship
- Experience with social media data sources and formats
- Working knowledge of one or more of the following: NLP, Causal Inference, Deep Learning (for NLP, supervised, or unsupervised learning)
- Experience working on industrial-scale machine learning or research pipelines
- Experience taking novel theoretical research and scaling it for consumption by other applications
- Ability to perform comprehensive literature reviews and provide critical feedback on state-of-the-art solutions and how they may fit to different constraints
- Publications in conferences such as NeurIPS, ICLR, ICML, ACL, KDD, etc., or on arXiv
- Understand and appreciate good software engineering practices, including version control, code reviews, testing, and refactoring
- Are comfortable debugging and optimizing code
- Write tests to make sure code is reliable
- Help shape technical decisions within the team
- Collaborate within and across departments to ensure successful product creation
- Are able to pick up new tools and technologies as needed, including keeping up to date with the latest developments and looking for ways to apply them to your work
- Are comfortable with failure, iteration, and open conversation about both foundational and advanced technical topics
Bachelor's degree or equivalent work experience, MS or PhD a strong plusBenefits
- Unlimited PTO, with a company-mandated minimum of ten days of vacation time taken per year.
- 100% healthcare (health, vision, dental) premium coverage for employees; 50% premium coverage for families
- For NYers, access to "Graphikafé," our NYC small office setup with bookable hotdesks, meeting rooms, and phone booths
- Remote personal office setup stipend + 20% of home internet costs covered
An important note about joining Graphika during this extraordinary time:
Graphika is growing! Despite the downturn and accompanying reductions in other sectors and companies, Graphika is retaining current employees and looking to hire more.
On March 12, 2020, Graphika moved to a fully-distributed model, and we've been working together as a company to respond to the changing realities due to COVID-19. As a result, we are happy to consider applicants who are located anywhere in the US, with the caveat that the team currently works on Eastern time and begins their day at around 10am.