JavaScript front-end development
Nextcloud
- Location
- United States
- Job Type
- full-time
- Salary
- Unknown
- Posted
- January 9, 2026
Job Description
We’re looking for developers with experience in Javascript/front-end development to join our server team!
You would work with the engineering team to bring new features and improvements to the server user interface like our File management app or one of the many other applications like Calendar and Contacts, Announcements and more. You ideally have open source experience, know your way around git and Github.
Responsibilities:
- Front end development (JS, PHP)
- Cross platform testing
- Quality assurance
Required skills:
- Deep technical experience with Javascript
- Experience with TechStack Canvas is desirable
- PHP experience a plus
- Teamworking capabilities
- Independence and self-reliance
- Knowledge around open source technology
What we offer:
- A distributed, open team with a passion for working on and within the open source community
- Developing a product which pushes the boundaries of technology and with a global user and contributor community
- A competitive salary
- Flexibility for a healthy work-life balance
- Time for personal growth and education
We are looking for somebody with ambition and drive who would like to grow and learn. That means that if you don’t fulfill the requirements yet but want to learn, apply!
Contact us at jobs@nextcloud.com with your resume if you are interested in this role.
π― Who is this job for?
This role is well suited for a JavaScript-focused frontend developer who enjoys building user-facing web applications, contributing to open source projects, and collaborating in a distributed team. It will appeal to engineers comfortable with Git and GitHub, interested in working across JavaScript and PHP, who value code quality, cross-platform testing, and autonomy, and who are motivated to grow their skills while helping improve widely used server-side applications such as file management, calendars, and collaboration tools.
π¬ Potential Interview Questions
-
What is your experience building complex front-end features in vanilla JavaScript (without heavy frameworks)?
I’ve built several production features in plain JavaScript, focusing on modular architecture, ES6+ features, and browser APIs. I’m comfortable managing DOM updates, event delegation, state handling, and performance optimizations without relying on large frameworks, which makes it easier to integrate into existing codebases or mixed PHP/JS templates. -
How have you worked with HTML5 Canvas or similar tech stacks to build interactive interfaces?
I’ve used Canvas to implement custom visual components such as file previews, simple drawing tools, and data visualizations. I handle coordinate systems, event mapping (mouse/touch), rendering loops, and performance considerations like batching draws and minimizing re-renders. I also ensure Canvas-based UI elements integrate cleanly with the rest of the DOM, keyboard focus, and accessibility where possible. -
Describe your experience with PHP in the context of front-end development.
I’ve worked with PHP to generate server-side rendered views, pass data into JavaScript via templates or JSON endpoints, and build small REST-like APIs for the front end. I’m comfortable reading and extending existing PHP controllers/views, adding routes, and making sure front-end and back-end contracts stay in sync. -
How do you organize and structure front-end code in a larger PHP/JS application like a server UI?
I prefer a modular structure with clear separation of concerns: small JS modules for business logic, dedicated files for UI components, and shared utilities for things like API calls or formatting. On the PHP side, I keep templates focused on markup and simple data binding, while pushing logic into controllers or services. I rely on consistent naming, code style, and linting to keep the codebase maintainable. -
What is your workflow with Git and GitHub when contributing to an open-source project?
I typically fork the repo, create feature branches for each change, and keep them focused and small. I write clear commit messages, rebase onto the main branch when needed, and open pull requests with a detailed description, screenshots or GIFs for UI changes, and tests where applicable. I respond to review feedback quickly and keep discussions transparent so maintainers and contributors can follow the context. -
How do you approach cross-platform (browser and OS) testing for a web application?
I identify the most-used browsers and platforms first (e.g., Chrome, Firefox, Safari, Edge on Windows/macOS/Linux/mobile) and verify critical flows in each, focusing on layout, performance, and functionality. I use tools like browser devtools, responsive mode, and sometimes BrowserStack or similar services. I also rely on automated tests for regression coverage and keep a small manual test checklist for features that are sensitive to platform differences. -
Can you describe a time you improved the usability or performance of a file management or similar UI?
In a previous role, I optimized a file listing interface that was slow with large directories. I introduced lazy loading and pagination, reduced DOM nodes by using virtualized lists, and debounced expensive operations like filtering and sorting. On the UX side, I added clearer loading indicators, keyboard navigation, and context menus. This significantly improved responsiveness and reduced user frustration with big directories. -
How do you ensure quality in your front-end code before it reaches users?
I rely on a mix of automated and manual checks: unit tests for logic, integration or E2E tests for key flows, and linting/formatting to enforce consistency. Before opening a PR, I manually verify the feature, test edge cases (empty states, errors, slow network), and check that translations, accessibility basics, and responsive layouts are correct. I also read my diff carefully and keep changes scoped to make reviews easier. -
What attracts you to working on an open-source server product like this one?
I enjoy the transparency, collaboration, and long-term impact of open source. Working on a server product that thousands of people self-host or rely on daily is motivating, because improvements immediately help a global community. I also like the culture of code reviews in public, receiving and giving feedback, and learning from contributors with different backgrounds and use cases. -
How do you manage your work and communication in a fully distributed team?
I work with clear priorities, break tasks into small milestones, and share progress updates asynchronously via issues, PRs, and short written summaries. I’m proactive about asking clarifying questions early, documenting decisions, and keeping discussions in shared channels. I’m comfortable with flexible time zones and make sure I’m reachable during agreed overlap hours while staying independent and self-driven the rest of the time.
π Job Summary
This position is a strong match for a JavaScript-focused frontend engineer who wants to work on Nextcloud’s server UI apps (File management, Calendar, Contacts, Announcements, etc.) in a distributed open-source team, using JS on the front end, some PHP on the server, TechStack Canvas, git/GitHub, and cross-platform testing/QA, with plenty of autonomy, flexible work–life balance, time for learning, and the chance to grow while shipping features used by a global community.