Tooling Software Engineer (Remote)

Veridise is seeking a Tooling Software Engineer to join our team and play a pivotal role in the development of cutting-edge tools for automated security analysis of blockchain smart contracts.

This role offers a unique opportunity to work at the intersection of security and blockchain innovation, collaborating closely with a dedicated team of engineers to build tooling and testing infrastructure.

As a Tooling Software Engineer at Veridise, you will be an integral part of a small, highly skilled team, contributing to the design and development of tooling that pushes the boundaries of blockchain security. This role involves working extensively with Python3 in a distributed work environment and requires strong problem-solving skills to address novel challenges.

Responsibilities

  • Serve as a Independent Contributor to a pre-existing codebase.
  • Develop and enhance tools for automated security analysis of blockchain smart contracts.
  • Collaborate effectively with a global, multi-time-zone team to deliver high-quality solutions.
  • Write comprehensive tests for all code contributions, including end-to-end (E2E) testing frameworks.
  • Independently tackle complex technical challenges with minimal guidance.

Required Qualifications

  • Educational Background: Bachelor’s degree in Computer Science or a related field, or equivalent professional experience.
  • Professional Experience: Minimum of 2 years working with established codebases in a professional setting.
  • Technical Expertise:
    • Proficiency in Python3 for large-scale projects.
    • Hands-on experience with version control systems like Git and project management tools like JIRA.
  • Blockchain Familiarity: Basic understanding of smart contracts and the Ethereum Virtual Machine (EVM).
  • Independent Problem Solver: Ability to work in a remote setup and deliver results.
  • Adaptability: Demonstrated ability to learn new technologies rapidly and assess their trade-offs.
  • Communication Skills: Proficient in written and verbal English, with a strong focus on technical documentation and reporting.

Optional Qualifications

  • Familiarity with ANTLR or other parser generators.
  • Experience with Rust.
  • Knowledge of fuzz testing methodologies.
  • Understanding of programming language implementation.
  • Awareness of concepts like Büchi Automata and Temporal Model Checking.