Life as a developer
This is our first attempt to define something like an engineering culture for diesdas. You are invited to change this page! Just make sure to talk about it with your colleagues and Max first. 🙂
We do our best, but mistakes happen. Be patient and ask why something went wrong.
Learn from everyone.
We encourage you to say: I don’t know. Pretending prevents learning. Don’t hesitate to ask multiple times until you get it.
Teaching is as hard as learning. Try to explain it differently every time.
We grow together.
Evaluate new tools.
Don’t follow the hype and do the research before using a new tool. They all have their pros and cons.
Make sure to find the disadvantages, then talk to your colleagues about it.
Not everything labeled as new actually is. Some things are just different. Find objective arguments for a new tool. Remember that easy and fast are relative terms.
Challenge best practices.
Best practices exist for a reason, but this reason might not be valid anymore.
Point out practices that don’t solve a problem and just create unnecessary work. There is no point in following them.
Collaboration requires communication.
The goal of pull requests is not to merge code. It is about finding the best possible solution together.
Not every problem should be solved with code.
Simplicity is not just for beginners.
Never take complexity for granted. It does not justify itself.
Point out things which are hard to understand. It‘s easy to make software complex and hard to make it simple.
Getting better at programming means being able to simplify more things. Experienced programmers can take a complex problem, solve it and make it as simple as possible for others to understand the solution/problem.
Mastering programming means being able to write simple code for complex problems.
Leave the code better than it was.
Quick hacks are no solutions. They mean you don’t fully understand the problem yet. Take the time to figure out what’s going.
It’s better to do it right than to do it right now.
Ask your colleagues, if you get stuck.
Take responsibility for user experiences.
Design is not about how it looks. Design is about how it works.
Developers make it work. We are designers. Point out usability problems and talk to your design colleagues about them.
We learn from each other.
Code is written to be read.
There are worse things than being explicit. Names should be as long as they need to be to convey the necessary information.
Typing fewer characters is not being more efficient. Typing is not programming. Code is the easy part.
These guidelines were inspired by the Elm community and will evolve over time.