Beyond the Code: Thriving as a Developer at Sprend

At Sprend, we're not just building a file transfer service; we're crafting an experience. Our vision is to be the most loved file transfer service, always working in harmony with society. For us, this begins with a deep commitment to excellence, driven by our approach to developer teamwork and growth. We’re not unique in that approach, but that is also not the goal.

Disclaimer: Yes, I have AI-enhanced this text. If it seems too polished, I apologize. It does however get the message across.

You're Not Just Working for Sprend – We're Working for You

We believe in a fundamental shift in perspective: Sprend isn't just a company you work for. Instead, we see Sprend as a platform designed to empower you. We provide the environment and resources to help you leverage your skills and creativity, enabling you to build truly great things. Your time and ambition are priceless to us, and we're committed to working together to create a product that's more than the sum of its parts.

The Art of Balance: Speed, Quality, and Lasting Impact

In the fast-paced world of product development, the tension between speed and quality is a constant presence. While our owners naturally want us to deliver value quickly, our development team is focused on ensuring that short-term gains don't compromise our long-term goals. We don't strive for quick, sloppy solutions. Our philosophy is to deliver partial, useful features with solid, excellent code. This approach allows us to get early feedback from customers, ensuring we're always building what truly matters. It’s not only possible but essential to align the goals of individual developers with those of our customers and owners.

Innovation with Purpose: New Technologies and Architectural Excellence

We're not chasing shiny new trends just for the sake of it. Every new piece of technology comes with a cost, and our focus is on solving real problems. When a new technology offers a clear solution, the decision to adopt it becomes easier. We introduce new technologies step by step, ensuring seamless integration and stability within our system. Our architectural standards are so high that any part of our system could be the subject of a technical talk at a developer conference. We also believe in empowering you with the tools of your choice; whether you prefer Linux, Windows, or Mac, we care about enabling you to work effectively.

Sprend office with Nikola Tesla and Pula harbour

Sparks are flying when we are working together at Sprend

Crafting Code, Together: A Culture of Continuous Improvement

Excellent developer experience (DX) is paramount. We continually refine our development environment and processes to make setup, coding, testing, and building as effortless as possible. We encourage a "love refactoring" mindset, embracing it during development rather than as an afterthought. For us, code readability is even more crucial than working software, because readable code is fixable code. We champion the "Boy Scout Rule"—always leave the campground cleaner than you found it. Collaboration is key: we encourage explaining solutions to teammates, inviting others to refactor your code, and writing tests for new code. We're also curious about the growing potential of AI tools to enhance our workflow.

One of our core practices is task mates, where two developers tackle each task. Note that I am not referring to pair programming, where two developers sit at the same workstation.

The task mates approach offers significant advantages:

  • It enhances quality in UX, code readability, and test coverage.

  • It helps us catch more bugs.

  • It fosters continuous learning among team members.

  • It builds resilience, as at least two individuals understand each module.

  • It helps harmonize our coding style.

We actively encourage developers to step into different areas of the system, whether it's switching between frontend and backend tasks or having taskmates write tests. Our communication is open and frequent, both before, during, and after a task is completed. We ensure that every part of our system is well understood by at least two developers, fostering shared knowledge and resilience.

A Space and Time for Focus and Collaboration?

Sadly, not all great engineers reside in Pula, Croatia. I would have preferred it. Nothing beats a physical office supporting both dedicated focus time and effective communication. The reality is that our team is distributed, but we try to inhabit the same point in the space-time continuum as often as makes sense.

Working remotely places high demands on an individual’s communication skills.

Responsibility and Independence: Owning the Feature

At Sprend, a new feature isn't complete until the user gives it a thumbs-up. Even if a developer contributes to only a small part of a feature, their work isn't done until that feature is in the user's hands. We empower every developer to design solutions based on user needs and to encourage their teammates. We also limit work-in-progress (WIP) to prevent tasks from getting stuck and to reduce dependencies. The feedback from released features directly informs our next steps.

The Core Principle: We Care

Ultimately, everything we do is rooted in a simple but powerful principle: we care. We care about ourselves, our colleagues, our users, the community, and deeply, profoundly, about our code. To write code is to create life. To me anyway. 😄

If you're a skilled and ambitious developer looking to make a significant impact in a collaborative and excellence-driven environment, we invite you to explore opportunities with us. We're building something great, and we'd love for you to be a part of it.

Previous
Previous

Sprend.com Tech Stack Overview

Next
Next

The bike thief?