< Back to results

Full Stack Engineer, Developer Tools


Hiro Jobs / US - Remote / Engineering & Modelling
Job Overview

We're looking for an experienced engineer to help build our main products: developer tools, libraries and SDKs. You'll collaborate with a team and work independently to architect and deliver feature upgrades and improvements on the platform. In this role, you will build critical features for our developer community. You must be comfortable working in diverse development ecosystems and have worked independently in a rapidly scaling startup. OSS experience is preferred as we are an open source project.

What You'll Do

  • Build open-source developer tools for the Stacks blockchain, including but not limited to SDKs, APIs, command line tools and services
  • Build developer tools and services for the Hiro Platform: this is a greenfield effort and a unique opportunity to participate in building a new product from the ground-up
  • Work on stacks.js: a collection of Javascript libraries for building apps on Stacks, collectively exceeding 20K downloads weekly
  • Work on stacks-blockchain-api: a rich and developer-friendly set of APIs for Stacks blockchain data, including full support of the Rosetta specification. Currently serving > 10M queries daily
  • Collaborate with blockchain engineers and product engineers to help create a compelling developer experience
  • Help shape the product & technical strategy for developer tools in the Stacks ecosystem

What We're Looking For

  • 3+ industry experience as a software engineer(or equivalent)
  • Experience building open-source developer tools(APIs, SDKs, services)
  • Passion for building delightful developer experiences and pride in your craft
  • Experience working on production services, with CI/CD tools and with cloud providers like AWS and GCP
  • Proficiency in at least one language or framework for building tools and services(e.g. NodeJS, Express, Rust, Go etc)
  • Good understanding and comfort with storage / caching solutions ranging from SQL databases(e.g. Postgres) to NoSQL systems(e.g. Redis)
  • Excellent communication and collaboration skills
  • Experience working being on or with remote / distributed teams
  • Bonus, but not required: Experience in the crypto/blockchain space or a deep curiosity about the landscape

  • We’d love to hear from you even if you don’t have experience or interest in every bullet. There’s no perfect candidate and we want to find the right fit, even if it’s different than we imagine. We especially would like to meet underrepresented/underestimated candidates.

What We'll Offer

  • Salary Range (regardless of location, benchmarked annually) $150,000 - $165,000.
  • Company equity and Stacks (STX) tokens--STX is the native cryptocurrency of the Stacks network
  • $500/mo co-working space reimbursement
  • $1,200/yr budget for learning and development stipend
  • $1000/yr of charity donation matching to an organization of your choosing
  • Daily Lunch Reimbursement(even if you’re remote!)
  • Open Vacation Policy, take the days you need
  • Family-Friendly Health Benefits
  • Free Life and Disability Insurance
  • Health and dependent care(FSA)
  • Up to 16 weeks of paid parental leave
  • Pre-tax commuter benefits
  • 401k with 3% match
  • Your choice of technical setup and equipment

More Jobs at Hiro


Hiro Overview

Hiro builds developer tools for Stacks, the network that enables apps and smart contracts for Bitcoin. Hiro is a core entity within the Stacks Ecosystem, a collection of independent entities, developers and community members working to create a user-owned internet on Bitcoin. Hiro empowers developers with the tools they need to innovate and build on Bitcoin, in ways previously not possible.

Website Twitter LinkedIn Job Archive


Visit Hiro Careers Page (opens new tab)
Hiro Jobs by Location

Check below to see all of the open Hiro jobs organised by office location.

New York (1)

US - Remote (4)

Hiro Jobs by Team

Check below to see all of the open Hiro jobs organised by team.

Engineering & Modelling (4)

Product & Design (1)


Fatal error: Uncaught GuzzleHttp\Exception\ClientException: Client error: `GET https://api.twitter.com/2/users/by/username/hirosystems` resulted in a `429 Too Many Requests` response: {"title":"Too Many Requests","detail":"Too Many Requests","type":"about:blank","status":429} in /home/rzs3wdhqozru/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php:113 Stack trace: #0 /home/rzs3wdhqozru/vendor/guzzlehttp/guzzle/src/Middleware.php(69): GuzzleHttp\Exception\RequestException::create() #1 /home/rzs3wdhqozru/vendor/guzzlehttp/promises/src/Promise.php(204): GuzzleHttp\Middleware::GuzzleHttp\{closure}() #2 /home/rzs3wdhqozru/vendor/guzzlehttp/promises/src/Promise.php(153): GuzzleHttp\Promise\Promise::callHandler() #3 /home/rzs3wdhqozru/vendor/guzzlehttp/promises/src/TaskQueue.php(48): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}() #4 /home/rzs3wdhqozru/vendor/guzzlehttp/promises/src/Promise.php(248): GuzzleHttp\Promise\TaskQueue->run() #5 /home/rzs3wdhqozru/vendor/guzzlehttp/promises/src/Promise.php(224): GuzzleHttp\Promise\Promise->invokeWaitFn() #6 /home/rzs3wdhqozru/vendor/guzzlehttp/promises/src/Promise.php(269): GuzzleHttp\Promise\Promise->waitIfPending() #7 /home/rzs3wdhqozru/vendor/guzzlehttp/promises/src/Promise.php(226): GuzzleHttp\Promise\Promise->invokeWaitList() #8 /home/rzs3wdhqozru/vendor/guzzlehttp/promises/src/Promise.php(62): GuzzleHttp\Promise\Promise->waitIfPending() #9 /home/rzs3wdhqozru/vendor/guzzlehttp/guzzle/src/Client.php(187): GuzzleHttp\Promise\Promise->wait() #10 /home/rzs3wdhqozru/vendor/coderjerk/bird-elephant/src/Request.php(78): GuzzleHttp\Client->request() #11 /home/rzs3wdhqozru/vendor/coderjerk/bird-elephant/src/Users/UserLookup.php(73): Coderjerk\BirdElephant\Request->bearerTokenRequest() #12 /home/rzs3wdhqozru/vendor/coderjerk/bird-elephant/src/Users/UserLookup.php(85): Coderjerk\BirdElephant\Users\UserLookup->getSingleUserByUsername() #13 /home/rzs3wdhqozru/vendor/coderjerk/bird-elephant/src/ApiBase.php(75): Coderjerk\BirdElephant\Users\UserLookup->getUserIdFromUsername() #14 /home/rzs3wdhqozru/vendor/coderjerk/bird-elephant/src/Tweets/Timeline.php(70): Coderjerk\BirdElephant\ApiBase->getUserId() #15 /home/rzs3wdhqozru/vendor/coderjerk/bird-elephant/src/Tweets/Timeline.php(43): Coderjerk\BirdElephant\Tweets\Timeline->getTimeline() #16 /home/rzs3wdhqozru/vendor/coderjerk/bird-elephant/src/User.php(263): Coderjerk\BirdElephant\Tweets\Timeline->getTweets() #17 /home/rzs3wdhqozru/public_html/aa-sites/cryptojobs.co/modules/twitter.php(23): Coderjerk\BirdElephant\User->tweets() #18 /home/rzs3wdhqozru/public_html/aa-sites/cryptojobs.co/job.php(305): include('/home/rzs3wdhqo...') #19 {main} thrown in /home/rzs3wdhqozru/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php on line 113