A typical day at JetThoughts

Photo by Jon Tyson on Unsplash

In this article, I want to tell you about a typical day at JetThoughts: culture, values, and the way we communicate and develop. This article will cover our working day and the process by which we deliver the best experience to our clients.

JetThoughts is about team, passion, and culture. It is highly qualified Ruby on Rails developers, designers, and managers. It is Agile consulting, Web, and Mobile development. It is all about our principles and values: Self-Management, Trust, Fulfillment, Efficiency, Passion.

We have been doing highly-competitive software for 10 years, delivering our products to the USA, Europe, and Australia markets, providing a broad variety of services. Besides Rails, we use Golang, React.js, and React Native.

Flexibility

We all work remotely, so in JetThoughts we have a flexible schedule. Everyone can work when it is comfortable for them to work. Everyone has a different schedule. Here is a rule of thumb: your teammates count on you, so they need to know your availability status, whether you are working or not.

The advantage of working remotely 一 you don’t need to spend the time to go to the office, wake up early and wait for a bus. You can wake up when you feel comfortable and just work. The only thing you need is the Internet.

Triage

Triage is a process for making decisions about the need, priority, timing, and assignment of work requests. Say “Hi!” to your teammates when you start working. Check out Slack and Email notifications. Read through the new issues and last GitHub changes, so you could understand what was done and the status of other tasks. Confirm that there are no problems with error tracking services. When you catch an error you need to create an issue.

Give feedback and make decisions if it’s needed. Also, make sure to use a call to action. People often talk about problems but rarely offer a solution to eliminate them. Each request must contain an explicit action by someone who is expected to get help.

Async Standups

To work remotely, you need to support some kind of connection with your team regularly. We are using text-based, asynchronous standups every day. We create a channel that is dedicated to our #project-name. We don’t have a specific time to post there, usually, we do it, when we start our work session. When you are writing a standup message it is important to think about the others — what can they get from it by reading your status?

*Example* of a good status report:

Photo by Ryan Chartrand on X-team

Say “Bye!” when you are done for the day. Also, don’t forget to notify your colleagues about your plans for tomorrow. Maybe you are going to start working later than usual or plan to have a shorter day.

Development

After triage, we get to code. We put on Ambient or Chill music, sit at our desks, and dive into programming. We are using the *Kanban* board by assigning stories that correspond to project features. We approach this one by one. In the order prioritized by the client, requesting clarification, exploring edge cases, and finally writing tests and implementation. It is a part where you can learn something new and take joy from it.

We write Ruby and a lot of JavaScript code. One of the benefits of development is that we see tons of languages, frameworks, libraries, databases, code styles, and design decisions. This is an unlimited field for learning. Every new project is like a child — unique in its own way. It’s an infinite walk through the many levels of software development.

Our motto: Experiments! Fun! Experiments!

When you get interrupted during work, you just need to notify the channel about it. This way team can count on you. It’s a principle of transparency. Also, we push notifications as often as possible. So a client can see progress in real time every day and trust more.

Mondays

On Mondays, we are running weekly sprint kick-off sessions. Prioritize and schedule issues. Post our goals on project channels to share our expectations with the whole team including *stakeholders*. Also, make sure that things are properly categorized and issues on the board are fully descriptive.

Thursdays

Every Thursday we are discussing with the team what was done this week. It’s called *Retrospective*. What issues were done and how much time was spent on them. Pluses, minuses, and improvements.

Fridays

On Fridays, we have JetThoughts contribution day. On this day we are working on the company’s internal projects and other related stuff.

We are:

Conclusion

In this article, we have covered a lot of things about JetThoughts. Culture, our principles/values, and the way we communicate and develop. That’s all, eight hours of speaking, thinking, and listening passed very quickly. I hope this gives some insight into JetThoughts, and how we work.

Paul Keen is an Open Source Contributor and a Chief Technology Officer at JetThoughts. Follow him on LinkedIn or GitHub.

If you enjoyed this story, we recommend reading our latest tech stories and trending tech stories.