For many employees, the culture of growth and development is no longer viewed as simply “nice to have.” Plenty of hires would reject a job simply because it doesn’t give them sufficient learning opportunities, no matter how well it pays.
But putting “growth opportunities” on a job description and actually having a great development culture are two very different things. How do you actually tell the difference and choose the company that will give you what you seek?
That’s what I’m going to talk about today. I’ll cover the key aspects of building and maintaining a great development culture. Many of these tips come from the experience of our product teams at Railsware. From the early days, we made development culture the core of our business. It paid off big time, both with employee retention and the quality of our projects. Stay with me to see how we’re doing it.
Why is a development culture so important?
There are many reasons why millions of employees around the world put so much value on development opportunities in the workplace. Many of these reasons are just plain selfish, and that’s perfectly fine.
As an employee, you probably seek a place that will move you forward. You’ll be more competitive in the job market, you’ll have a better shot at getting a promotion and a higher paycheck. With multiple strengths on your resume, you’ll have more flexibility in choosing the path you want for yourself.
For many engineers, marketers, product managers, HRs, and others, it’s simply the motivation coming from constantly moving forward that’s a driving force. You enjoy your daily routine more, you’re more engaged, and approach your daily tasks with more enthusiasm. You find creative ways of solving problems and take satisfaction from doing so.
Without realizing it, you spread your enthusiasm onto the entire team, boosting their performance as a result. Smart managers and business owners immediately spot that and will find a way to reward you.
Key aspects of a great development culture
Let’s talk now about what really makes a great development culture. If having one is vital to you, this may be a good indication of what you should be looking for at your future workplace.
Quantity < Quality
If you ask people why they joined Railsware, you’ll often hear the word “quality” as one of the core reasons. And many of them have some pretty compelling stories to justify this choice.
For many companies, an engineer’s performance is assessed by the amount of code they can ship. So developers tackle long lists of tasks and ship tons of features, sprint by sprint. They hardly have any time to think about the big picture or try a different, potentially more successful approach.
Similar things happen in other professions. Employees are constantly told to deliver more, to work faster, to always meet the monthly quota (and preferably, to exceed it). These numbers are often the sole factor impacting their salary and promotion possibilities. As a result, employees deliver just what they’re asked for and move on. They end up getting frustrated.
In my previous jobs, we were often aiming for 80/20 quality. We wouldn’t have time to do the proper refactoring. Overall, code was good but it had weaknesses here and there. This resulted in a tech debt that we had to pay down when it became a roadblock.
During my first project at Railsware I was told to slow down and think about the best solution I could find. I had time to reflect on a feature, discuss it with colleagues and pick the best and most suitable solution for a product. This allowed me to gain a deeper understanding of products and architecture. It inspired me to deliver my best work and helped me grow a lot in the process!
Anton Sivakov
Full-stack Engineer
Many successful companies are built by world-class specialists who know exactly what their peers seek. As a result, these companies don’t just push for the highest results. They also aim for the highest quality of work and give people the time they need to get there, while taking steps to measure employee engagement throughout the process.
This creates an environment where everyone is striving to not just deliver the job but to deliver it well. The organization benefits, and when challenges are tackled, the employees’ engagement is also on the rise. It’s a win-win for everyone.
Artur Hebda
Full-stack Engineer
I no longer need to wonder if spending an extra hour or two polishing a solution is the right thing to do. At the end of the day, with smarter planning and a pursuit of the right approaches, we’re constantly able to deliver on time without sacrificing even a tiny bit of quality.
Want to work in such an environment? Apply for one of our open positions.
“Do what makes sense” principle
In some companies, things are done the way people used to do them many years ago. They call it “well-established processes”. When small changes are introduced, these processes break down blocking all involved. Such rigidity only harms companies and slows down their progress. And if you try to update these processes, you often face a wall of resistance from management and others.
At Railsware, everything can and should be questioned and challenged. We optimize our processes but never preserve them. Everyone is welcome to offer a better way to do things.
In daily life, it means you can spend less or more time on a task. You can choose how to tackle it. You can decide to refactor a piece of code now if you think in the future it’ll take a lot of resources to be fixed. You can call a product manager and discuss the feasibility of a feature or change if you feel like it’s necessary. It takes a lot of trust in your people to let them do what makes sense and not do what doesn’t.
Collective leadership
In companies with a traditional strict hierarchy, many engineers find it difficult to think outside the box and find creative solutions to modern problems. To implement your ideas, you’ll need to first discuss them with your manager, persuade them to give it a try, and only then start the experiment. At the same time, after you were given a green light, great results are expected to be delivered. Knowing all that very few dare to speak out.
In our company, we trust in our specialists and in the team as a whole. By hiring less than 2% of all applicants, we ensure all the team members are self-driven, motivated, and mature enough to make their own decisions.
All engineers on the team take the lead on their tasks and work without lots of oversight. When questions arise, we gather, discuss the matter, and justify our decisions. Not all of them are always right, to tell you the truth, however, the risk is worth the reward. At the end of the day, we get a team of autonomous engineers, who are not scared of taking responsibility and driving projects forward.
I love the fact that I can publicly share my thoughts on virtually anything going on in the company and know it will be appreciated. Getting challenged this way by people working on completely different projects guarantees diverse inputs and often leads to a better outcome.
Artur Hebda
Full-stack Engineer
Freedom to choose how you want to grow
Traditional workplaces often rely on sequences of formal training that employees undergo, whether they want to or not. These are still instructor-led, classroom-style trainings that many employees view negatively and treat as a necessary evil.
They make a lot of sense from the company’s financial standpoint, but I bet they’re far from the type of learning you seek in the workplace.
A great development culture focuses on your individual learning needs, allowing you to choose how you want to grow and offering many options to do so.
At Railsware, you’re not confined to the “box” of your position or formal “responsibilities.” Whether you prefer to focus solely on QA, contribute to customer support, or enhance your coding skills, the choice is yours. Just show your interest, apply it to a product, and share your results with the team. You’re free to select the tools and approaches you think are the best. While your colleagues will undoubtedly challenge you, this freedom is a guaranteed pathway to personal and professional development. It is actually why and how I changed a QA position to PdM.
Daria Molochenko
Product Manager
At Railsware, if you’re a Ruby developer, you may want to pick up some frontend skills or get familiar with a new library. Or maybe you’re up for some UX expertise. Perhaps some product management knowledge would greatly contribute to your skillset. There are endless possibilities, and the last thing you need is an employer to choose the development path for you.
Working in a single context was never enough for me. While I started as a recruiter, I got to grow in several new areas that I didn’t know much about before. After becoming an Operations Director, I now have a chance to work with various business functions such as Finance, Data Analytics, Legal, Procurement and many more.
Anastasiia Avramenko
Operations Director
We’ve tried several approaches at Railsware and now use an Individual Development Plan for each specialist on the team as a guide to their dream job. Three or four times a year, a Railswarian meets with their teammates and a people operation specialist to discuss their interests, current activities, and areas they want to grow and contribute to. There is no single career path for engineers, recruiters, or marketers. The path will depend on what the project has to offer and what the person is interested in.
This is how many developers, HRs, and product managers get involved in completely new contexts – internal events, community building, or office hacks, to list just a few of the many examples.
I began my journey at Railsware as a full-stack engineer, where I experienced a level of freedom unlike anything in my previous roles. Here, I was free to choose the specific areas I wanted to develop. Engaging in diverse projects allowed me to not only enhance my coding skills but also to improve my project management and team communication abilities. As I progressed, I naturally transitioned into a leadership role, where I mentored newcomers and participated in strategic decision-making. This journey ultimately led me to my current position as Associate Director.
Artur Terminji
Associate Director
By the way, we are hiring. Check out our job openings.
For all of this to work, the company needs to have mature, self-driven employees on board. That’s what we also focus on when recruiting talents. They need to be capable of mindfully setting their goals and consistently pursuing them.
At the same time, they’re not on their own. More experienced colleagues are actively involved and help their teammates set and monitor goals. This kind of guidance, in our opinion, is the key to quick, efficient growth.
Olexander Paladiy
Product Director
I started as a full-stack developer, focusing on a client’s product. Now, as the Product Director of Coupler.io, our in-house product, I’ve transitioned into a role that includes a broad range of responsibilities and requires me to lead and drive multiple teams across marketing, sales, analytics, partnerships, and product development. My background in engineering built a strong foundation that helps me effectively scale product processes and activities.
Constant learning and knowledge-sharing culture
There’s an abundance of learning opportunities freely available today. Some people love going to conferences, others will harvest tons of knowledge from books or online courses. Many employees would rather spend their free time with families or friends and find learning outside of work to be difficult.
Smart companies encourage learning both in and out of the office, giving their employees the means to do so. We, at Railsware, go beyond that. Not only do we encourage our teammates to learn where and how they want but also share gained knowledge with the team.
For external learning, we provide a dedicated budget to each Railswarian. When mapping an Individual Development Plan, Railswarians choose domains they want to explore and can freely pick the materials and tools to gain the desired knowledge. They can use the payment to purchase a book, course, or participation in a conference they believe is the best instrument for the purpose.
At work, we motivate Railswarians to experiment and question conventional wisdom daily. Any experience is valuable either as a propeller for growth or as a lesson we should learn. Every month, we gather within company-wide guilds (i.e. product management, marketing, writing, design, etc.) and tell about our discoveries, trials and errors, and everything that we learnt along the way. We speak openly about both wins and failures to help others learn from our experiments. This way we nurture the spirit of experimentation and a culture of open knowledge and feedback sharing within the team.
Ask yourself how you would prefer to learn a new skill: from a long, detailed tutorial or from a senior colleague who knows it inside out and can help you get there, too. With the abundance of knowledge available online, you can learn virtually anything with hardly any effort. Yet each person we talked to said they would pick the latter every single time.
Smart companies embrace this situation. They recruit open-minded specialists who are willing to contribute to their colleagues’ development. And they give extensive opportunities for spreading valuable knowledge throughout a company.
Having so many different opportunities doesn’t make me look for new ones outside of the company. A person can never “outgrow” a company. There will always be something new to learn.
Aleksandr Kunin
Full-stack Engineer
For instance, we work in pairs and groups way more often than other teams. Pair programming and pair work is a perfect opportunity to solve a task faster, better, and more creatively. Two heads are always better than one!
Imagine you need to create a landing page for your solution. A product manager knows all about the product, a marketer knows how to promote it, and a content writer knows how to write about it. By working in a group, this team can create a draft of a landing page in a several-hour session without back-and-forth communication, constant consultations on the purpose of each feature, and endless discussions of the page content.
And let’s face it, there’s a lot of knowledge worth sharing. It could be an innovative approach to a problem, a valuable resource someone found, or just a piece of news that colleagues should find useful (or amusing).
At Railsware, we have dedicated Slack channels for each of our in-house guilds and for our hobbies, pets, investment, construction, book club, and other interests. There, we share our experiences, exchange opinions, share useful resources, and inspirations. Everyone’s always welcome to chip in with their own findings and ideas.
And if Slack isn’t enough, Railswarians can share their knowledge by writing a Wiki tutorial for our knowledge base or a post for our blog.
Apart from that, Railsware strives to give back to the community and share knowledge with them too. As our mission suggests, we want to influence the way companies are managed through the proven approaches and products we build. In 2023, Railswarians participated in HackYeah 2023, several Dou product meetups, DEVWorld, Warsaw Ruby Conference, Web Summit 2023, Jira Day 2023, and many other cool events, where we spoke about our products and shared tools and approaches created at Railsware.
Railswarians are also active speakers on various podcasts and mentors and lecturers who love to share secrets about their craft.
The culture of experimentation is embraced, not criticized
In general, the culture of startups and tech companies comes with a lot of uncertainty. There’s just no obvious way of doing things and even if there is, it might not be the best for your company.
Smart companies encourage their employees to figure out solutions to problems rather than giving them lists of tasks to complete. And they do it for a reason.
Many (if not all) of the best employees thrive in uncertain conditions. They love challenges and find joy in tackling them creatively. And they learn a lot in the process. At the same time, they get frustrated when they’re blocked by procedures, finances, or decisions that are not theirs to make.
The role of a company in such an environment is to simply empower their employees by giving them all the tools and permissions they need and encouraging them to experiment with their bold ideas. And even if something doesn’t work out, the company must appreciate the efforts and teach employees how to learn from their mistakes.
Actually, this is how all our products were created. Mailtrap.io – our platform to test, send, and control emails was initially an email testing tool we created after we accidentally sent test emails to real users. Our data analytics and automation platform Coupler.io began as an Airtable importer. And Titan Apps – a set of productivity tools for Jira and monday.com grew from a simple checklist that we made for Jira because there was no good one at that time. Today, all our products are commercially successful and have more than 3 million users worldwide.
Experimentation is basically the bread and butter of our team. Without a strict hierarchy, everyone takes responsibility for the product’s success. Collectively, we decide what needs to be done, but it’s up to each individual team member to figure out how exactly it will happen.
Of course, employees can get the help they need from teammates and can consult more experienced Railswarians, no matter the current project. But at the end of the day, they’re responsible for delivering the job, and it’s up to them to know how to do it.
Sharing and learning from each other is key
How would you prefer to learn a new skill—from a long, detailed tutorial or from a senior colleague that knows it inside out and can help you get there, too? With the abundance of knowledge available online, you can learn virtually anything with hardly any effort. Yet each person we talked to said they would pick the latter every single time.
Smart companies embrace this situation. They recruit open-minded engineers who are willing to contribute to their colleagues’ development. And they give extensive opportunities for spreading valuable knowledge throughout a company.
Aleksandr Kunin
Full-stack Engineer
The crucial thing for me was to surround myself with people I can constantly learn from. This way, I can quickly catch up and improve myself by working with them every day.
A feedback culture is essential
For a development culture to really work, the company needs to be built on feedback. And it can’t be just a buzzword that might attract talent but is hardly present on a daily basis.
I’m talking about the joint commitment to support and help each other grow, no matter one’s position or amount of experience. This is a culture where no one is afraid to share feedback and is eagerly waiting to receive it. Feedback is the foundation of growth, after all, and many engineers look for places that genuinely live by these rules.
At Railsware, we implement feedback on many different aspects of our employees’ work. There are one-on-ones where teammates share their thoughts with each other and can thus resolve issues. There are regular retrospectives that allow a lot of feedback to be shared and discussed, helping improvements be made on the spot.
A lot of feedback is given casually while working together or reviewing each other’s work. It can be a quick Slack message or a brief watercooler chat in the kitchen. No matter the form, you can be sure that your feedback will be taken into consideration. This encourages people to share more constructive thoughts without the worry of being misunderstood.
And during our regular offline gatherings, we socialize and share our thoughts and ideas on how to better do what we love doing – building damn good products!
Recently I shared a story about the formation and evolution of Railsware in the podcast. Watch it to find out even more about our history, culture, and future goals.
Wrapping up
These are, in my opinion, the key aspects of a great development culture that I think we have managed to build at Railsware. As a matter of fact, the best indicator of a healthy culture for me is talent retention. As of now, on average Railswarians stay with the team for about 5 years, which is a high bar on the market.
Of course, there is still much to learn and introduce, and we’re already looking forward to the team’s input.
If you’re interested in some more insights into how things work at Railsware, our article about Holacracy should be a valuable read. Also, check out how remote work culture works so well for us.
That’s it, until next time!