How to build products with a business mindset – meet our Full-Stack Developers
How to succeed as a full-stack developer? Why is prioritization crucial for this role? What other skills are worth developing on the full-stack career path? Find the answers to these questions in the following article, where I describe my experience at Boldare.
Table of contents
It was supposed to be an internship
I remember starting my first internship after college. It was eight years ago! At that time, I started working at Boldare as a front-end developer. Since then, a lot has happened, the company has grown, and I have furthered my various developer skills. I focused on developing in Scrum, working with designers, co-operating with clients, and developing business reasoning. It wasn’t long before… back end came into my life.
Currently, I am a senior software developer in the JavaScript/Node.js area. I also work as a technology solution architect in the business team, where I design technology solutions for clients at the early stage of a sale. If you are interested in the highs and lows deeply rooted in the role of full-stack developer, keep reading.
Development and business go hand in hand
What is fundamental at Boldare? Close cooperation with clients – and this is routine for me. I help them with any issues connected with problem analysis. It’s a long and winding path that begins with analyzing the problem from a business and technology perspective and ends with incremental development, building architecture, ideas, and solutions.
On a daily basis, I support the development team in delivering increments. I design back-end solutions and integrate them with the front end. While I work as a full-stack developer, I am slightly more focused on the back end, but I also have front-end knowledge and can help out in this area. My duties include actively participating in code review meetings and iteration review tests. I support clients in clarifying their requirements and expectations, and constantly learn about the business domains of their problems.
What is permanent is the closeness within the team. Together we devise a plan of action, deciding how to solve a specific client’s issues. In the next step, we go through a standard development flow and build new increments. Pair programming, code review, and collaborative problem-solving at brainstorms are standard for us.
Lots of my time is taken up with conceptual work in the business team, where we focus on the domain and business context of the client’s problem together with other team members. Thus, we prepare a tailored offer for the client and an initial outline of the solution to their problem. Thanks to the fact that I have an overview of both front end and back end, I can prepare an initial proposal for the client for both areas. My full-stack skills help me to plan the proposed architecture more effectively and to select appropriate technologies.
Two pillars: transparency and agility
My teams work remotely, so we rely on online communication through tools such as Slack and meetings via Google Meet. To make this communication effective (both with the client and within the organization) we emphasize transparency and feedback. Thanks to our transparent communication of progress, I always know who is doing what, who is responsible for what, and who to turn to with a particular issue. Transparency helps us when a team member needs help. This approach supports smart planning. A culture of feedback and airing tensions helps maintain team spirit and boost self-development.
Speaking about the working methods at Boldare, we use theLean Startup methodology. We perform our daily responsibilities in an agile fashion. Therefore, it will not surprise you that we work in Scrum. We operate according to a cycle of Scrum events, including daily, review, planning, retro, and refinement meetings. We place an exceptionally high emphasis on this last one, because it is during refinement that we acquire product knowledge and tackle customer problems, planning their solutions.
I also very much appreciate the close communication with the client, which makes me feel that together we form one close-knit team. This helps us treat the client’s business concerns as if they were our own, and we analyze them very carefully, from various angles, to solve them efficiently. At each stage of solution iteration, we think about whether the new steps could have any negative impact on the client or their business – by doing so, we spot problems where the client doesn’t yet see them.
The phase defines the technology
At Boldare, we build digital products in Full Cycle Product Development phases. In my opinion, this is a natural approach that allows for healthy and smart product development. In this way, the selection of solutions, technologies, and architecture is based on the product’s stage of development. The phasing approach guides our decisions – we know which solutions are best to use at a given stage and in a given case. For example, products at an early stage of development (e.g. prototype or Minimum Viable Product (MVP)) are just settling into their markets. Therefore, when selecting technologies at these stages, it is important to make sure that the cost of implementation is low and the first increments can be implemented and validated fast. The demand for maintenance at this stage is negligible. As the product develops, it scales up. This may mean going into other markets or increasing the user base. The solutions at this later stage help the product become more scalable. The architecture becomes more advanced and processes need to be optimized – the complexity of the whole system increases. Then we can use microservices, for example.
Basic principle: learn to balance
Working as a full-stack developer, I have learned to define my involvement in specific areas. When I start working on a new product, it’s crucial for me to properly lay out my activities and clarify what I will focus on. Sometimes I put more emphasis on developing the back-end part of the product, and other times I delve into the front-end elements of the system. Full-stack developer is a distinctive role because it requires a wide range of knowledge and tools. You must be familiar with the entire stack used to build products in the company. This is why a full-stack developer is required to keep up with both front-end and back-end trends. It is worthwhile in this role to acquire knowledge in both, not closing off one area of technology. This balancing between back end and front end and focusing on the higher priorities for an application will impact both the product’s success and your self-development.
Self-development path? I choose a horizontal one
If you ask me why join Boldare, I would say: multidirectional self-development. In Boldare, self-development at work is fostered by a culture of feedback, double checks, and knowledge sharing. There are chapters here (innovation hubs) that bring together people with similar passions and allow them to exchange knowledge and develop specific skills. I appreciate this multi-threading and the opportunity for horizontal growth. As a full-stack developer, I get involved in many areas – I don’t close myself off to the front end or the back end. I improve my competencies in infrastructure, such as CI/CD, and automation. I also put a lot of emphasis on business development: communicating with clients, solving their problems, and working together as a team. Recently, I’ve been heavily honing my ability to match technology to the type and scale of the client’s problem. As a result, I feel I know what options to choose to ensure that the chosen solutions are usable and support the product’s development.
Curious about new opportunities at Boldare? Check out our career site and find your dream job now, or join our talent pool!
Share this article: