FTP and SFTP Server Developer (Java)

About the Role

As an FTP or SFTP server developer at Files.com, you’ll take ownership of our FTP and SFTP server code, helping us keep it modern, fast, and maintainable, while implementing exciting new features.

These codebases are currently written in Java, and we want applicants to be comfortable in Java, but we are also interested in rewriting these in more modern languages such as Go or Elixir, especially if we can leverage existing FTP or SFTP libraries.

Minimum Qualifications:

  • 5+ years of directly applicable experience.
  • Deep understanding of the FTP and/or SFTP protocols at the protocol level. Having written an FTP or SFTP client or server in the past would be a strong indicator of this.
  • Strong Computer Science background and understanding of algorithms and data structures.
  • History developing and supporting actual applications that have seen production usage with a large userbase.
  • Complete understanding of how to write secure code and an awareness of common web application security vulnerabilities.
  • Solid experience with Java, ideally the new features in Java 8 and Java 10.

Preferred Qualifications:

  • Participation in open source projects, including ideally being the maintainer for a package that sees large usage in the community.

In this role, you’ll work on the following things and more:

  • Keeping our SSH and TLS cryptography up to date, including integrating new ciphers and curating the list of approved ciphers for maximum security.
  • Ensuring that our FTP and SFTP server products are maximally compatible with the wide range of client software in the wild (even the buggy software).
  • Optimizing our FTP and SFTP servers for speed and throughput so our customers get the fastest server experience possible.
  • Integrating new features such as client-side encryption.

Our Core Beliefs

Here are just some of our Core Beliefs:

We believe that the best Engineers tend to be polyglots with a wide variety of programming language experience. We don’t hire for specific programming language skills, but rather look for engineers who are fluent in several programming languages. We want our staff to be adaptable and ready to evolve to what’s next.

We believe in using the right tool for the job. Our core applications are built in Ruby, JavaScript, Java, C++, and PHP. We use Rails, React, Chef, Qt, Jenkins, Github, Honeybadger, CircleCI, Maven, AWS, MySQL, Redis, Memcached, Haml, Sass, and many other exciting open source systems. We don’t want to get stuck in the trap of using a language or a tool just because “that’s how it’s done around here.”

We believe that open-source only works if companies give back. If you work on any open-source projects during the course of your work at Files.com, you are encouraged to submit your improvements as a pull request back to the upstream project. And if you build something from scratch while working here that’s generic and not related to our core products, we want you to release that on GitHub too. We’ll also pay your travel costs to any conference where you can get a speaking gig.

We believe in building products that we actually use ourselves. We are our own toughest critics and we put all of our products through their paces every day.

Salary, Pay, and Benefits

Files.com offers industry-leading salaries based on experience combined with unparalleled flexibility and other benefits to secure top talent.

You’ll take off 11 company-wide holidays per year as well as 20 days of PTO for vacations. Go have fun. Don’t work all the time.

We will provide you a laptop and a $1,000 signing bonus to purchase a new monitor, desk, or anything else that would help build or refresh your home office.

We’ll update your salary annually based on your performance, as reviewed by your peers.

We fully pay base plan health insurance premiums (exact plan details depend on your state of residence), and we’ll pick up the tab for 75% of your spouse or dependents if they wish to join your chosen plan. We want your family to be healthy.

Files.com

Platforms for Organizations.

Technology we use

Javascript
Java
Go
MySQL
Redis
React
AWS
Redux
Docker
Jenkins