FTP and SFTP Server Developer (Java)

Files


1 week ago

08/07/2019 10:21:23

Job type: Full-time

Hiring from: US only

Category: Software Dev


Are you an expert in the inner workings of the FTP protocol or SFTP protocol? Would building a server that achieves perfect compatibility with the RFC while still managing to support buggy clients make you smile?

If so, we’d like you to learn about Files.com!

Files.com is one of the largest providers of commercial FTP and SFTP server hosting in the world. Our service was originally launched as BrickFTP, and even though we’ve grown beyond FTP in our service offerings, we have thousands of businesses that rely on our services 24/7 for reliable FTP and SFTP server hosting.

Our FTP and SFTP server code is primarily written in Java and leverages open source code from the Apache foundation (that we have considerably extended).

We’re looking for a rare unicorn who knows FTP and/or SFTP at a protocol level and knows Java to help us modernize our FTP and SFTP server code and implement many new exciting features.

Read on to learn more!

About Files.com

Files.com is the new name for BrickFTP, a cloud storage service that has existed since 2009 and has over 1,700 paying business customers.

Our company consists of 20 (and growing to 30 by the end of 2019) USA-based remote employees who work from home.

Our products and services are used by over 2,000 enterprises and SMBs, including Target, Canonical, UPS, Leica, DirecTV, GoPro, Marriott, and more.

We’re Bootstrapped, Profitable, and Growing

Our success comes from building a great service that solves problems for our customers, and our growth comes from expanding and improving our products as quickly as we can.

We believe that great products can only be built by great people. So we’re on a quest to find the smartest, most creative, and most motivated people, and create an environment in which they thrive.

We Are A Remote Company

You will work from home and have some flexibility to choose your working hours, allowing you to make time for family, recreation, vacations, or anything that is important to you.

You’ll take off 11 company-wide holidays per year as well as 20 days of PTO for vacations. You’ll have the time to take longer vacations and have fun.

Every quarter, you’ll travel to an in-person meeting with the entire team to meet and work together face to face. These meetings are in cities that are fun to visit. In the last few years, we’ve been to Austin, Orlando, New Orleans, San Diego, Las Vegas, and New York City.

We think that these in-person meetings are vital to the success of a remote team.

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.

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.

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.

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 $2,500 signing bonus to purchase a new computer, 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.

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

  • About us

    1 Second Everyday is a video diary app that makes it easy to create the movie of your life. In a couple of minutes, parents can relive the first year of their child's life, look back at their last family vacation, or see their entire journey together. It gives anyone the power to reflect on school, friends, projects, and adventures. From our humble Kickstarter beginnings, we've grown into an award-winning app with millions of downloads.


    About the Senior Android Developer position

    We are a small but growing company looking for a Senior Android Developer to join our 100% distributed team. You will be an integral part of our Android team and will work with our product design team to help us make a great app, and also a great Android app. As you’ll be joining a small Android team of one, you will help shape our culture which includes code review and efforts to increase automated testing.


    The details:

    •     This is a full-time, remote position.
    •     We’re offering between $80,000-$123,000 USD per year for this role based on your experience and cost of living
    •     No share options or equity
    •     This position requires travel to our semi-annual retreats (Last one was Peru and allowed families to come too!)

    Senior Android Developer responsibilities:

    •     Drive software development in all parts of our Android app including new features, fixing bugs, refactoring, etc.
    •     Write well-designed, testable, and efficient code
    •     Faithfully implement UI designs (with the understanding that it's a 2-way dialogue)
    •     Bring up junior and intermediate developers in the future
    •     Make an app that is a good citizen of the Android platform by embracing OS features and UI conventions
    •     Work with our support team to help explain and resolve problems as they arise
    •     Help determine the scope of projects and break them down into smaller tasks
    •     Work with our services team on API changes and backwards compatibility

    Senior Android Developer requirements:

    •     Experience working on a distributed team
    •     Ability to work well with other people and communicate professionally
    •     Willingness to help others learn and grow without judgement
    •     Excellent written and verbal communication skills in English
    •     Proficiency with git
    •     5+ years of experience of building and shipping native Android apps
    •     Expert knowledge of Java and a strong knowledge of Kotlin
    •     Experience with technical writing such as documentation and specifications
    •     Share and embody our company values
    •     Travel to our semi-annual retreats

    Bonus skills & attributes:

    •     Experience with RxJava (or Reactive Extensions in another language)
    •     Experience with jUnit, Mockito, and Hamcrest (or other automated testing tools)
    •     Experience with dependency injection frameworks like Dagger
    •     Making network requests with Retrofit

    Benefits & perks:

    •     Paid open vacation policy - We offer a MINIMUM of 2 weeks off each year. This isn't a vague policy where open vacation means no vacation.
    •     Healthcare benefits (currently only available in the United States.
    •     Travel Bonus - $500 per year for a NO WORK vacation on your anniversary.
    •     Wellness Bonus - $50 a month for a gym membership, yoga class, book club, or whatever makes you happy.
    •     2 weeks paid parental leave.
    •     Conferences of your choice.


    Why work at 1SE?



    We are an equal opportunities employer. We are a diverse team and welcome all walks of life. 1 Second Everyday is an equal opportunity employer and values diversity. We don’t discriminate on the basis of race, religion, color, gender, sexual orientation, age, marital status, veteran status, or disability status.


    We are continuously expanding our hiring capabilities in other geographies. However, at this time we are unable to hire employees and contractors who reside and have to be paid in the specified countries below:


        Argentina

        Brazil

        Crimea

        China

        Cuba

        Egypt

        France

        Iraq

        Iran

        Italy

        Japan

        Nigeria

        North Korea

        Spain

        Sudan

        Sweden

        Syria


    We encourage you to continue to check back with future postings as we continue to expand our operational abilities in these countries.



    Don't think this position is the right fit? Check out our other open positions!

  • Our goal at Nash is to make trading, holding, and interacting with cryptocurrencies accessible to everyone. We are looking for quality assurance engineers (remote) to help deliver the best possible products. You should be well versed in Java and Swift, testing methodologies, and have a passion for testing.

    Requirements

    • Automated and manual testing of products developed by Nash.

    • Development of internal testing frameworks.

    • Ability to read and modify application code to obtain desired results.

    • Development support.

    • Work asynchronously with a fully remote team.

    We are looking for

    • 3+ years of testing experience.

    • Strong knowledge of Java and Swift.

    • Familiarity with Android and iOS.

    • Experience with CI tools (GitLab).

    • Experience with mocking, stubbing and modifying requests.

    • Good oral and written communication skills.

    • Sharp attention to detail.

    We prefer but don't require

    • Experience with Kotlin.

    • Experience working in remote teams.

    • A history of contributing to open-source software.

    • Experience working with functional programming languages (e.g., Elixir, OCaml, Haskell)

  • MetaLab (+/- 3 hours Pacific timezone)
    2 weeks ago

    We're looking for a Senior Android Engineer to join our talented engineering team. You will work with a team of highly skilled developers and designers to build world-class products for our clients. As a Senior Android Engineer, you will be responsible for providing technical and career leadership to a small team of Android engineers.

    What We’re Looking For

    • You have 5+ years of Android development experience

    • You have experience leading a team of software engineers

    • You have experience at building relationships across teams

    • You have at least one app in the Google Play Store you can tell us about

    • You're obsessed with the user experience and understand how to bring a design to life without compromising fidelity

    • You're passionate about ensuring high performance and responsiveness of applications because it leads to the best user experience

    • You love to collaborate with a team to define, design, and ship

    • Good understanding of software development best practices with experience working in an agile environment

    • You think that having your code reviewed and reviewing others code is key part of developing software to the highest quality

    The Must-have Technical Skills

    • Built apps in Java and Kotlin

    • Strong git & GitHub skills

    • Up-to-date with the latest and greatest Android patterns and best practices

    • Vast knowledge of the Android API, e.g.: activities, fragments, services

    • Understanding of the differences between versions of Android SDKs

    • You have experimented with various architectural patterns (MV*, Reactive, Clean) and are comfortable explaining the pros and cons of each.

    • Experience writing multi-threaded/asynchronous code; solid understanding of process and thread model in Android applications, e.g.: AsyncTask, RxJava, Coroutines

    • Deep working knowledge of Google's Material Design

    • Extensive experience with Continuous integration, unit testing and build processes

    Extra Credit

    • Flutter

    • GraphQL

    • Previous agency experience

    • You have experience working as a part of a large engineering team

    •  If you have a Github profile or similar, we’d love to see it.

    Remote candidates within +/- 3 hours of the Pacific timezone are welcome to apply.

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!