Senior/Staff Software Engineer - Smart Contracts Team

Swirlds Labs

Swirlds Labs

Software Engineering
Remote
Posted on Nov 8, 2024

About Hashgraph:

Hashgraph is a fast-growing software company committed to supporting, developing and servicing Hedera, an open source, proof-of-stake platform. Hedera is EVM-compatible and has been specifically built to meet the needs of enterprise and Web3 applications, which require speed, security, stability and sustainability. Hedera’s public network is governed by industry-leading organizations, spanning 11 sectors and 14 regions who oversee the development and direction of the decentralized platform.

About The Role:
The Smart Contracts team is looking for a seasoned engineer who can contribute to the development of the Hedera services in both the Java and the web3 APIs in JS/TS that process smart contract transactions across the network submitted using varied web3 tools.
You may find yourself doing all of the following:
  • Staying connected with the EVM ecosystem, bringing vital learnings, discussions, and applicable explorations on Hedera back to the team to improve EVM DevEx
  • Implementing and enhancing the Java-based smart contract services on the Hedera network that parse byte code and process transactions submitted to the network via an EVM client
  • Designing, developing, and maintaining server-side logic for back-end solutions with public APIs involving TypeScript, SQL, data ingestion, REST, GraphQL, and Web Sockets
  • Applying Web3 knowledge of Solidity and EVM transactions life cycle
  • Writing efficient, reusable, and reliable code to optimize for maximum speed, scalability, and system efficiency
  • Exploring and unblocking web3 tool and DApp integration capabilities on Hedera, ensuring devs can continue to use their familiar tools when migrating to Hedera from other EVM chains
  • Continuously discovering, evaluating, and implementing new technologies to maximize development efficiency and effectiveness
  • Developing various aspects of the Hedera Hashgraph Distributed Ledger Ecosystem
  • Being a strong and proficient hands-on programmer
  • Spending 80% of your time designing, coding, and testing

Qualification Requirements:

  • Experience with distributed open-source application development
  • Excellent debugging, critical thinking, and interpersonal skills
  • Knowledge of the blockchain technology ecosystem, particularly the EVM
  • Expertise in the Java and JS/TS programming language and its ecosystem of libraries and tools
  • Experience with smart-contract development with Solidity/Vyper, Foundry, Web3.js / Ethers.js frameworks, JavaScript/TypeScript
  • Experience with Ethereum Development Suites (e.g., Harhat, Foundry, Truffle, Ganache, Tenderly)
  • Experience writing secure, efficient, and gas-optimized smart contracts for decentralized applications (DApps) on EVM-compatible networks
  • Understanding of Ethereum ecosystem ERC20s, ERC721s, ERC1155s, on-chain and off-chain
  • Experience with Wallet integrations (MetaMask, WalletConnect, etc.): Tools and libraries for connecting Web3 applications with users' cryptocurrency wallets
  • Strong understanding of RESTful API design and development
  • Familiarity with test-driven software development processes and continuous integration tools and systems
  • Experience with web3 tools that support development, indexing, and transaction management, such as TheGraph
  • 7+ years of software development experience
  • Master’s degree in Computer Science or a similar field or equivalent work experience

Other skills that are great to bring with you but that we can help you develop:

  • Knowledge of the Hedera network
  • Deep knowledge of and experience with the Java VM, covering its strengths and weaknesses
  • 5+ years of Java experience
  • Deep knowledge of and 5+ years of experience with Node JS, covering its strengths and weaknesses
  • Strong grasp of Computer Science fundamentals including concurrency, performance optimization, and reusability
  • Strong engineering principles and processes aimed at developing simple, modular, testable, and high-quality code
  • Familiarity with security principles, cryptographic tools and libraries
  • Familiarity with high-performance architectural systems and design patterns