πArgentina
Senior Software Engineer

Input Output
πRemote - United Kingdom
Please let Input Output know you found this job on JobsCollider. Thanks! π
Summary
Join IOHK as a Senior Software Engineer and contribute to improving software development and maintenance processes. You will be responsible for ensuring high-quality engineering practices within your team and across the organization. This role involves mentoring junior engineers, leading technical initiatives, and collaborating on multiple codebases and languages. You will actively participate in problem-solving, debugging, and implementing new practices. As a senior member, you'll be a go-to resource for technical expertise and guidance. The position requires significant software engineering experience and specific technical skills.
Requirements
- Have 7+ years of software engineering experience in the required language (Haskell, Javascript, Scala, Rust)
- Have experience working with Git and Git workflow
- Have practical experience with Agile software development methods
- Have knowledge of functional and object-oriented programming paradigms
- Have the ability to understand project needs, objectives, and timescales to feed into planning and setting deadlines for a specific stream
- Clearly articulate new issues and suggest changes to management for implementation
- Write idiomatic code that satisfies the acceptance criteria of a given task
- Write tests (unit tests, property tests) that provide sufficient and non-superfluous efficient code coverage
- Document code and APIs concisely and unambiguously
- Provide detailed guidance on the work to be done, assist with task assignments and deliver deep reviews and feedback on the work
- Pragmatically adhere to software engineering principles (modularity, incremental development, no premature optimization, no feature creep, no speculative generality, ...)
Responsibilities
- Advocate for and model great quality with proactive actions and tackle difficult and subtle system issues
- Use systematic debugging to diagnose all issues within a set of related domains and lead in fostering a culture of observability and monitoring across several teams
- Regularly work across teams to build a culture for iterative, autonomous development and future scaling
- Be a technical and prioritization leader across a set of related team domains, consistently pushing boundaries and exploring gaps in understanding
- Be a go-to within the team and the broader organization across multiple codebases and languages
- Be proactive and require minimal supervision or mentoring to complete tasks
- Review specifications produced by architects and formal methods specialists
- Lead the design of components and their interactions
- Be available for emergency fixing of severity 1 issues on deployed products
- Integrate software components and third-party libraries
- Verify and deploy programs and systems
- Write documentation for the code
- Write technical user manuals
- Be knowledgeable of distributed and concurrent computation
- Be knowledgeable of the basics of cryptography
Preferred Qualifications
- Have a Degree in Computer Science
- Have basic knowledge of Kotlin and TypeScript
- Have skills relevant to SSI the domain knowledge
- Have knowledge of W3C DID specification (DID peer, key, etc.)
- Have knowledge of W3C Verifiable Credential and Verifiable Presentation standards
- Have knowledge of Issuer/Holder/Verifier trust triangle
- Have advanced knowledge of the Scala type system
- Have familiarity with frameworks such as Shapeless, Scalacheck & Scalatest
- Have practical experience in the use of profilers, VM, and GC tuning
- Have familiarity with cryptographic signing systems, Zero Knowledge protocols, Multi-Party Computation (MPC)
- Have familiarity with blockchain cryptography and construction
- Have practical experience with the implementation of cryptographic primitives
- Have security sensibility related to cryptographic implementation
- Have experience writing or working (cross) compilers, object formats, linkers, build systems, IDEs, and IDE integrations
- Have experience and enthusiasm for working with large legacy code bases, across multiple languages
- Have experience reaching agreements with upstream developers
- Have knowledge of software development methods such as agile programming and test-driven development
- Have HTTP API understanding as well as accessibility and security compliance
- Have experience in developing cryptography protocols
- Have Blockchain experience
Benefits
- Remote work
- Laptop reimbursement
- New starter package to buy hardware essentials (headphones, monitor, etc)
- Learning & Development opportunities
- Competitive PTO
Share this job:
Disclaimer: Please check that the job is real before you apply. Applying might take you to another website that we don't own. Please be aware that any actions taken during the application process are solely your responsibility, and we bear no responsibility for any outcomes.
Similar Remote Jobs
πUnited States
π°$175k-$210k
πUnited States
π°$175k-$210k
πUnited States
π°$175k-$210k
πUnited States
π°$175k-$210k
πUnited States
π°$165k-$195k
πWorldwide
π°$175k-$225k
πWorldwide
π°$185k-$223k
πUnited States
πUnited States