Software Engineer, Distributed Storage

Canonical


1 week ago

01/14/2020 10:22:57

Job type: Full-time

Hiring from: Americas or Europe

Category: Software Dev


Keywords:  ceph, swift, block storage, c++, open source, storage replication, distributed object storage, distributed block storage, and distributed file storage, remote job, software development, software engineering

Reports to:  OpenStack Product Engineering Manager

Job location:  Remote, home-based, Americas or Europe

Job Summary

Canonical and Ubuntu are at the heart of cloud computing, distributed computing, and scalable software systems. Whether public or private clouds, bare metal, or virtualized in a container, Ubuntu is there.

In this role, you’ll be building and modeling software to drive distributed storage systems.  You’ll be engineering solutions to scale in production. You’ll work with our field and product teams to ensure we’re meeting the needs of customers who are looking to adopt cutting-edge technology to solve real-world business challenges.

Applicants should be passionate about the future of the software-defined datacenter, distributed storage systems, and open source. Canonical is a globally-diverse team of engineers who share that passion, and you will need to work well in that context.  Engineers who thrive at Canonical are mindful of the dynamics of the open source ecosystem, and equally aware of the needs of large, innovative organizations.

You will travel internationally 4 to 6 times per year for team engineering sprints, industry events, and strategic planning sessions, generally for 1 week at a time.  Recent locations include: Montreal, Malta, South Africa, Berlin, Ghent, Brussels, Vancouver, Salt Lake City, New York City, Budapest and Shanghai.

Key responsibilities:

  • Develop high-quality, extensible, and reusable software (Python, C++).
  • Display strong technical leadership in feature definition, feature delivery, code review, and backlog management.
  • Interact with stakeholders, product owners, including field teams and customers, to define new features and to resolve issues.

Required skills and experience:

  • Professional track record (2+ years) of software engineering using Python, C++, Golang or similar.
  • Advanced working knowledge of cloud computing and distributed storage systems.
  • Degree-level education in a technology field.
  • Experience with agile software development methodologies.
  • Experience with Linux and the free software world.
  • Excellent communication skills in the English language, both verbal and written, especially in online environments such as mailing lists and chat systems.
  • Ability to effectively interact with a diverse group of people (both technical and non-technical).
  • Ability to be productive in a globally distributed team through self-discipline and self-motivation, delivering according to a schedule, and to motivate and mentor others to do the same.

Desirable skills and experience:

  • Demonstrated track record of open source code contributions and community participation.
  • Experience with one or more Linux package distribution technologies (deb, snap, rpm).
  • Experience with Ceph, Swift, and/or DRBD as a developer or as an operator/administrator.
  • Experience with container technologies and platforms (LXC, LXD, Docker, Kubernetes, or similar).

Please mention that you come from Remotive when applying for this job.

Help us maintain Remotive! If this link is broken, please just click to report dead link!

similar jobs

  • Xapo is a fast-growing, global fintech company with a mission to build a safe and global way to use money. We’re a fully distributed team, with 250+ Xapiens working from 50+ countries. 

    We’re seeking a collaborative, proactive problem-solver to join us as Senior Crypto Currency Developer at Xapo. This full-time position is planned to be remote, meaning you can work from anywhere!

    BALANCE FOR BETTER

    At Xapo, we embrace our differences and actively foster an inclusive environment where we all can thrive. We’re a flexible, family friendly environment, and we recognize that everyone has commitments outside of work. We welcome applications from all qualified candidates, including women and minorities. Diversity is not a tagline at Xapo; it is our foundation.

    RESPONSIBILITIES

    In this role, you will be responsible for:

    • Building high-quality software components that fulfill defined functional specifications and fit within architectural designs.

    • Working autonomously, following a defined plan and achieving goals according to schedule.

    • Working with a highly specialized, multidisciplinary team that handles the complete development lifecycle of a product, from envisioning to production deployment. 

    • Participating in the design, testing, and deployment of your code.

    REQUIREMENTS:

    • 7+ years’ experience in software development

    • Excellent proven Python development skills

    • Experience programming Bitcoin Blockchain

      • Good understanding of how transactions and blocks work
      • Experience with bitcoin RPC interface
      • Experience creating transactions, selecting utxos and calculating fees
      • Experience with multisig, hd wallets and segwit
    • Experience programming Ethereum/RSK Blockchain

      • Good understanding of how transactions, blocks and events work
      • Experience with RPC interface
      • Experience with ERC-20 smart contracts
    • Experience building and consuming REST APIs in Python

    • Good SQL development skills

    • Platforms and libraries:

      • Experience with Linux and Docker
      • Experience using Git, Stash, Jira
    • Self-motivated, with initiative and enthusiasm, willing to work hard within a remote team

    • Experience working by plan and objectives in autonomous mode

    • Good communication skills and remote teamwork experience

    • Strong communication skills in English is a must

    • Experience within Fintech would be ideal

    OTHER REQUIREMENTS

    • A dedicated workspace. 

    • A reliable internet connection with the fastest speed possible in your area.

    • Devices and other essential equipment that meet minimal technical specifications.

    • Alignment with Our Values.

    WHY WORK FOR XAPO?

    • Shape the Future: Improve lives through cutting-edge technology, work remotely from anywhere in the world

    • Own Your Success: Receive attractive remuneration, enjoy an autonomous work culture and flexible hours, apply your expertise to meaningful work every day

    • Expect Excellence: Collaborate, learn, and grow with a high performance team

    ABOUT XAPO

    At Xapo, we’re building a way for users all over the world to send, receive, spend, and store their money globally and safely. We're firm believers that no matter who you are or where you're from, you deserve easy access to digital financial services. 

    Launched in 2014 by Wences Casares (CEO) & Federico Murrone (COO), Xapo has made an unparalleled investment in security infrastructure, assembled a renowned advisory board, and raised $40M from top venture capital firms in Silicon Valley & the world.

    Xapo is an Equal Opportunity Employer. We believe a team that represents a variety of backgrounds and perspectives is critical to our success as a global company. A diverse, inclusive workplace enables us to create products that best serve our customers all around the world. It is the foundation of Xapo. 

  • On being a Team Happiness Engineer at balena

    At balena, we spend a lot of time working to ensure that our team is cared for. As our team grows, we want to make sure that this is the case, which means working on interesting and rewarding challenges!

    One of our priorities in terms of team happiness is to optimise team scheduling. We’re a remote-first company distributed across many continents, and as a result, scheduling meetings and ensuring we always have engineers available to support our users is a difficult challenge.

    We believe it’s important to ensure that every member of the team is able to choose their working hours and maintain a healthy work-life balance, which means taking these parameters into account when scheduling.

    As you may have read on our blog, we achieve this through the use of advanced constraint programming algorithms. This turns a task which would be tedious and inefficient to do by hand into a rewarding mathematical challenge which simultaneously results in a better and more flexible outcome for our team.

    Algorithmic scheduling is of course just one example of pain reduction for the team. We have more ideas on how tools like constraint solvers can be applied to boost team happiness and success, for example the optimisation of team activities and professional development.

    We are looking for a full stack “team happiness” engineer to join us in this venture by innovating and implementing engineering solutions to reduce discomfort and friction across our team. We can’t wait to see what you can come up with!

    Requirements

    • Extremely good problem-solving abilities. You know how to split a complex problem into incremental pieces.
    • The software engineering skills to implement these solutions programmatically.
    • The ability to execute and complete software projects.
    • Good understanding of software engineering practices and how to apply them (e.g. version control, tests, descriptive commit messages).
    • Self-motivation to find the best possible outcome from a myriad of options.
    • Desire to make yourself and others more effective; you’d be bothered by an inefficient process.
    • Excellent written communication skills, and fluency in English.
    • The ability to work remotely, with a remote team around the world.
    • The candour to question the status quo.

    Nice to have:

    • Experience with Linux, TypeScript, JavaScript frameworks, Python, HTML/CSS and databases
    • Experience with Google Sheets, Google Apps Script, and managing projects on the Google Cloud Platform.
    • A good understanding of git and GitHub.
    • An interest in mathematical modelling, optimisation and constraint solvers.
    • A sample of your work (URL or attached sample).
    • Experience in a full stack developer role.
    • Having worked remotely before.

    About working at balena

    We come from 15+ countries, and we embrace a remote culture with flexible hours. To us, this means being highly productive while still maintaining a healthy work-life balance. You need to be able to work remotely, and have a dependable internet access available so you can join video calls.

    We are an equal opportunity employer and value diversity. We value knowledge and initiative more than educational and personal backgrounds, age, or location. We maintain a work environment in which team members are treated with respect at all times and in which thoughts and ideas can be shared openly.

    We communicate proposals, discuss with others in the team and accept feedback if it makes the result better. We value the ability to learn, which is more important to us than knowledge of specific technologies. We know that learning fast means being outside our comfort zone, which is OK — we'd rather learn than let our assumptions get in our way.

    Benefits

    • Work with an extremely talented, diverse team
    • Equipment of your choice
    • Remote-friendly
    • Flexible working hours
    • Generous vacation policy
    • Annual company gathering in an international location
    • We send you hardware for side projects!
  • 2 months ago
    To our future Senior Embedded Engineer
    At Density, we build one of the most advanced people sensing systems in the world. The product and infrastructure is nuanced and one-of-a-kind. Building this product for scale has been an exercise in patience, creativity, remarkable engineering, laser physics, global logistics, and grit. The team is thoughtful, driven, and world-class.


    Why this is an important role
    Last week our DPUs detected a million humans walking through doors. A number that increases every week.

    As engineers, we think it's pretty cool to be capturing events at this volume. Especially when it's done anonymously, accurately, and in real-time. Although counting people is a DPU's top priority, it needs to do so much more.

    Our system must efficiently and reliably:
    - Receive and process improvements through command and control functionality
    - Seamlessly interact with our network of partner products (building automation and security integrations)
    - Push diagnostic data to allow remote monitoring and troubleshooting.

    Our DPU has a growing set of responsibilities. We need an experienced hand to help us imagine, build, and maintain these mission critical systems and functionalities. Are you up for the job?

    This role reports to our Director of Software Engineering.


    Requirements:

    • Deep understanding of modern C++
    • Exceptional comfort with networking, specifically in enterprise environments (this is big for us)
    • Strong experience with the Linux system level APIs, placing an emphasis on designing AsyncIO/event loop based embedded user space daemons.
    • Experience integrating with custom hardware via standard Linux interfaces.
    • Strong understanding of TLS based communication (ideally using OpenSSL).
    • Experience interfacing with large scale cloud based backends.
    • Experience with an embedded Linux build system (Yocto, Buildroot, Linux from Scratch)


    • Bonus Points for:

    • Computer Vision
    • Machine learning and machine learning hardware
    • Experience with building automation. Specifically Bacnet protocol.
    • Python 3 AsyncIO
    • AWS lambda
    • Nomad/Terraform
    • ZMQ
    • Kafka
    • BLE
    • 802.11 
    • CDP or LLDP
    While we have offices in Syracuse (NY), San Francisco, and NYC, we embrace and have built a culture around remote work.

Remotive can help!

Not sure how to apply properly to this job? Watch our live webinar « 3 Mistakes to Avoid When Looking For A Remote Startup Job (And What To Do Instead) ».

Interested to chat with Remote workers? Join our community!