Taking ownership of the code

Miki, our Vue developer with ten years of experience in the field, debuted in article writing. He shared his experience and advice on approaching a client, building effective relationships, and immersing himself in a project.
AS_KRK_337 (1) AS_KRK_293 (1)

Miki enjoys streamlining code and development environments. He is also geared towards user-focused programming. In his article, he focuses on his steps when starting a new venture with a client. Besides that, he covers the importance of basic UX knowledge for project improvement and describes how he invests himself in projects. 


Being involved brings many benefits and encourages developers to own a project, not just be voiceless executors of tasks.

What does taking ownership of your code mean?

As Miki puts it: “Stop being a programmer with horse shades on your eyes. Get a feel for your project; get it all over you.” By that, he encourages developers to be fully involved in a project they are working on. That investment brings a lot of return.

Steps to take in a new venture with a client

Step 1: Know your project

The first thing you need to do when starting to work on a new project is to understand its purpose, imagine its potential, and all the benefits it will deliver when it becomes successful. In other words, place yourself in the shoes of its inventor and focus on the direction your client is heading towards.


Learn from & listen to your clients, understand where they came from and what they want to achieve. Don't treat your client as a machine that just distributes tasks on JIRA.


Once you know the project and all its ins and outs, you can submerge yourself in it. Be the one that notices bugs, imperfections, underperformance or any other issue that can be fixed. No matter if it’s something needed right now or a "nice to have" in later stages of development.


Step 2: Get involved

The level and the specifics of your involvement are highly dependent on you - on your general approach to work and your relationship with a client. The crucial aspect here is to possess a proactive approach.


How can you do that? Ask questions if you have any doubts and offer solutions if you have a better idea of doing things. This can be about tasks, about the order of deploying things, or in general, you might have an easier or more refined idea that achieves the same or even better results.


Sometimes asking something as simple as: "Is this functionality for both logged-in and guest users?" starts to spark new edge cases and possibly things the stakeholder didn't realise.

Step 3: Don't overdo it, be a friend

Being kind and polite is a crucial part of building interpersonal relationships. Try to find the right tone of voice with all the parties involved. To do so, monitor your managers' or colleagues' behaviour and responses. Another piece of advice is to balance the number of positive reactions with improvement recommendations. Just being nit-picky and pointing out a whole load of things can become frustrating to your audience. You'll be labelled as obnoxious and a pain in the ass. Make sure you are using constructive criticism, not just complaining (even if its a National Sport).


Obviously, you have to treat your clients with professionalism, but adding a sprinkle of personal friendship into the mix can improve your communication. Having a balanced professional, but friendly relationship creates a less stressful environment.


Step 4: Become a UX persona

In the world of user experience, when designing for a new project, firstly, we create personas. In short, we define who our potential users are and group them regarding specific needs or their expectations of a website or app. Each persona represents people with similar characteristics, behaviour, or goals. As UX designers and developers, our ultimate goal is to create an easy to use product. We should put ourselves “in our user’s shoes” and build a product for them to enjoy. A user-focused approach pays off in the long run.


Yes, being user-centred means you do those time-consuming and boring tasks like displaying a custom error notification depending on what the user did wrong instead of a general "Error occurred" or building a search filter for select.


Your hard work and user-centered changes will improve the user experience of the product and, as a result, give the project you are working on an even higher chance for success!

Step 5: What to do if you (or another person) messed up?

So you mess up! You made the dumbest typo ever, deployed to live and shut down the app for a few minutes or hours. Your client is upset, counting the thousands of dollars he's lost during this time. Or maybe it wasn't your code that spoiled the release. Does this matter? Right now, when everything is in flames?


This is not the time to go bounty hunting, trying to blame the world. The only thing you need to do right now is to find a solution. Even as simple as using a bit of silver duct tape to stop the problem while you work on a proper fix will help. What's done is done. Focus on solving problems and preventing future issues instead of blaming yourself and those around you.


If it's your fault, just step up and own it. "I made a mistake. I'm sorry. Here's my solution". People usually show empathy when you admit to being wrong.


After the dust has settled and emotions are low, open a dialogue with your client or teammate who screwed up. Suggest ways to avoid such failures in the future. If it's not the first time this has happened, try reaching higher up to team leaders, managers, CEOs to make changes on a higher level.


Main takeaways

First, be proactive, and get fully involved in your projects. Secondly, find a good balance of friendly, professional communication with the clients and your teammates. This has proven to facilitate communication and relationships for everyone involved. The client will trust you when he knows that you think things ahead, supply ideas, and are genuinely engaged in product development and success. When something goes wrong, do not escalate the problems. It’s super easy to start blaming or looking for flaws in others, but in a team, we support each other and work on the best solutions and common goals in a team.
Written by: Miki, on June 8, 2022
Developer Experience