How we work

How we work

Basics

We strive for a positive team culture, a relaxed atmosphere, and a bright and friendly workplace. This includes:

  • Fair behaviour and open communication within the team
  • The avoidance of time-consuming meetings and other nonsense
  • Short decision paths and co-creation
  • Asynchronous communication using collaborative tools to support the different ways of working that different people need
  • Last but not least: fair contracts

We are not always perfect, but we try to do our best and learn from our mistakes. 😉

Our Team

Currently (as of July 2018) we are a team of 10, all working on PicDrop.

From left to right: Senait (marketing), Tobias (co-founder, interface-designer & frontend developer), Uwe (backend developer and overall magic), Tino (frontend developer), Johannes (backend developer), Paula (support, joining the photoshoot remotely), Katharina (support), Franziska (assistant to the management), Luise (frontend developer), Andreas (co-founder, marketing)

Our team

Work as a team

PicDrop is not the place for stubborn, egoistic solo fighters. Instead we are trying to help each other to find and understand mistakes, to find even better solutions and to become better together. As communication is key, you can find our communication guide here. (soon) Furthermore, through our regular all hands meetings, we try to find out how we can work better and how we can do better as a team.

Late hours, overtime & other nonsense

We don’t like to work overtime or do all-nighters and so we won’t ask you to do so. In the rare case, you do work overtime, because you want or need to finish something, please make sure to compensate for that time within the next days and weeks. We don’t want you to burn out, so please take your time. Also, make sure to discuss within your team how your colleagues can help you to avoid working overtime in the future.

Also, we won’t contact you on holiday or during weekends. That seems reasonable to you? Same here!

Home office

PicDrop is home-office-friendly. Even though we have that nice office, we believe that the work from home has the same value as working in our office.

And when we say “home-office-friendly” we actually mean remote work in general. You are super excited to join our team but don’t want to move to Berlin? No problem! Feel free to work from Cologne, Munich, Buxtehude or whereever you live. (But still Germany, for now.) Just make sure you find the right space to get your work done and let us know if we can support you in any way.

Even though we are still learning how to implement remote work into our team we invite you to teach, help and learn with us!

Working part-time

We support working part-time. Just talk to us.

How we plan

Our goal is to publish one new user-facing feature at the end of every month. The decision on which feature will be built next is based on user feedback and long-term strategies. The scope of the feature should be realizable within one month. That gives us a chance to try new features fast and to see how they work and if they are accepted before we blow them up “needlessly”.

We discuss all aspects of the planned feature in our team - from Development to Marketing and Support. That’s why it’s important that the details need to be communicated comprehensibly to the whole team.

We try to spent 50% of our time on new features and work on these features in monthly projects. The other half of our time we use for anything else. That may be performance updates, backend stuff, security measures, internal stuff, etc… There’s always more than enough things to do.

At the end of the planning phase we have a couple of user stories to design and implement and put them into our ticket systems (Asana & Jira).

How we design

Based on the user stories an overall concept for the given feature is created. This concept holds all aspects of the feature including those that are not visually expressable.

From then on the different granularities of the design such as wireframes, prototypes or pixel perfect visualizations are iterated and discussed with the stakeholder of the feature and/or the development team.

If necessary the design system will be adapted to new UI Elements and the final visualizations are included in the concept which is finally passed to the development team.

How we develop

When implementing new features or maintaining existing code, we try to find practical solutions between hacks and textbook solutions. We are always on the lookout for new technologies. But we use them to solve our problems, not just because they are the new hip thing. Not to say we never try new stuff and fail from time to time (see Mistakes).

Our review process makes sure all changes are working as intended, the written code is clear to other team-mates and our guidelines (code style, etc.) are followed. We also use the review process to learn from each other and personal development.

Currently we use the Jetbrains IDEs for development. Local development is done using Docker and the code is hosted by GitLab.

Our technologies and infrastructure

Currently we use a mixture of server templates and pure JavaScript views in the frontend. We write our markup in HTML5, style in SASS and script in JavaScript with support from WebPack, Babel and for the time being still jQuery.

In the backend we use PHP with our own framework and different microservices in different languages (Java, Go).

We use… MacOS, JetBrains IDEs, Docker, GitLab, Slack, Confluence, Jira, Asana, the Adobe Suite, Sketch, HelpScout, Terminal and Mailchimp.

Challenges

With PicDrop we develop a WebApp that runs in a browser. It must be able to keep up with native apps in look and feel with the advantage that neither download nor installation is necessary. So in the development phase we are dealing more with larger software structures than with building a website. In concrete terms, this means that enormous amounts of data have to be processed and moved live in the backend, while nothing of this should be noticeable in the frontend.

Mistakes

Of course, no one likes mistakes. We are no different. But we also strongly believe that only a place where you don’t get judged for making a mistake encourages a culture of exploration and finding exciting new ways to solve problems. Also, we are humans. Humans make mistakes. So we try to be open about any mistake we make, get over it quickly, find a way to avoid making that mistake a second time, and continue.