Behaviour and protocol

Code Code reviews Consulting 101 Feedback Good meetings practices How to facilitate team meetings Inclusive language Values


360 review Continuing education policy Engineering manager career ladder Roles Software engineer progression framework Technical skills sheet

Employee manual

Abtion's pomodoro Employee benefits Internal days & community Intro Parental leave policy Safety and security Schedule, time tracking & calendar Sickness & unplanned absence Travelling Vacation & planned time off Work from anywhere policy

Project management

Technical setup when starting a new project Client discontinuing hosting or sla Converting projects from development to maintenance mode Estimating Estimating project maintenance Go live checklist Handoffs Invoicing guidelines Procedure for traffic


Audio setup Create amazon bucket Database backup setup Gpg signing Pairing setup

Technical practices

Bug triaging Css How and why we do design research Kick off meeting Pair programming Tdd testdriven development Workflow



Tools and services

Access and permissions Purchasing licenses and memberships Sharing sensitive information Stack and services Wordpress

Behaviour and protocol

Consulting 101

At Abtion, we work with our clients to create world-class solutions that provide value to their businesses. As a consulting company, we are fortunate to have collaborated with a wide range of companies over the years from solo entrepreneurs to large Danish corporations. Key to this success is that we acknowledge that every client is different and has different needs.

If you are coming from a product company, it can be unclear what consulting is, and what your new role as a consultant requires. Our goal with this document is to provide a clearer overview of consulting, dos and don’ts, etiquette, etc. We believe that training people and bringing them closer to the client ensures that we can give clients better advice and products. As a reminder, please note that the following are guidelines and not strict rules.

Client communication

  • Recognize the client’s style of communication. You should not aim to mirror it but it gives you a sense of the tone that they might expect from you.
  • We use a digital project management tool (Asana is our default one) as our collaboration platform for prioritizing work with the client. We prefer our clients to be engaged in this collaboration but it is ultimately your responsibility to add and prioritize tasks. Asana is primarily available for the client to provide transparency and as a communication channel. As Asana is public to the client, we expect you to communicate professionally in comments, task descriptions, etc.
  • We want everyone independent of their role to participate actively in client communication both during meetings but also in Slack, Asana, e-mails, or wherever the communication happens. Remember to chat with your team before you reach out to the client. Your colleague might already have asked the same question, and we want to avoid spamming the client with questions. For a more in-depth introduction to how we facilitate team meetings at Abtion, please have a look at this document.
  • Respond to messages from clients in a timely manner, and forward them to the relevant PM if you are no longer involved in the project. Keep a professional tone, read your messages before you hit send, and give notice if you are unable to provide answers the same day. As much as possible, aim to keep the client conversations in the open/external Slack channel where your colleagues can also see the messages.
  • Always summarize a plan with the client (or team) at the end of the meeting. The aim is to ensure that expectations are aligned. After the meeting, update relevant tasks in Asana with the new information either in the description or as comments, so people have a clear overview of what to do.

Technical advice and communication

  • Learn to recognize your audience. - As developers, technical details and optimizations can be hugely important and fascinating but it is crucial that you understand your audience. The client may not know that upsert is not a misspelled version of upset and that a page size could refer to an OS-related term and not the paper that you would use in a printer.
  • When working with estimates, provide the client with an overview of the technical challenges without diving too much into the technical details. The goal is that the client understands what is necessary even if they might not understand how it works. You may want to ask the client how many technical details they want since some clients are highly technical and may want deeper insights about the implementation.
  • When explaining an issue that occurred in the system, explain the challenges that the team went through, and why it occurred despite our test coverage, pair programming efforts, etc.
  • When estimating, your job is to be realistic. A common error among inexperienced consultants is to make the client believe that the task is easy and therefore making them happy. This leads to going over budget and over the defined deadline. Share your concerns so that the client can identify what are their possibilities. Help them brainstorm to overcome the possible problems. Sales should be informed when your concerns might have larger implications, and you are working with a potential client.


  • Arrive on time and be prepared.
  • Remember time tracking in the correct project.
  • When you call a meeting, always have an agenda, and for longer meetings, make sure you take notes.
  • Always listen but don’t be afraid to take the lead.
  • Dress appropriately whether the meeting is in-person or handled remotely, but remember that you can be professional without wearing formal attire.
  • For remote meetings, have the camera on, make sure that the background is presentable, and conduct the meeting in a quiet room with no disturbances. Mute yourself if there is any background noise or disturbances.
  • Remember to be aware of your digital presence. Remain professional throughout the process whether this means in Asana, Git, your Harvest comments, or the codebase.