What Makes A Good Code — Interview With A Back-End Developer
Published: 2023-02-17 11:11:23

What does a back-end developer do? It’s easier to explain with the example of a Swiss watch. If a Swiss watch is a web platform or web application, then UI/UX and frontend is its design. But such watches are in demand not only because they represent your status through luxurious looks. Swiss watches have the most reliable mechanisms. They never break. A backend developer in a digital project is a person who creates and designs a reliable mechanism, so that the website works flawlessly. 

An ‘official’ explanation of the term is that a back-end or backend developer is responsible for the internal and computational logic of a website or web application, as well as other software and information systems.

Because Shakuro specializes in complex and large [projects](https://shakuro.com/works/?utm_source=dev.to&utm_medium=interview-with-a-back-end-developer-what-makes-a-good-code&utm_campaign=content_distribution&utm_id=content_distribution), we, of course, have our own backend development department. Their primary tool is [Ruby on Rails](https://shakuro.com/ror/?utm_source=dev.to&utm_medium=interview-with-a-back-end-developer-what-makes-a-good-code&utm_campaign=content_distribution&utm_id=content_distribution).

We interviewed one of our backend developers, a professional with over 25 years of experience in IT, to learn everything you need to know about backend in a global digital agency. 

## — Is programming an art, craft or engineering? 
It’s everything you said. Programming is an art because, to the trained eye, good code looks aesthetically pleasing. It’s a craft because it’s well-paid, and it’s engineering because programming follows strict rules, and every web project has an architecture. 

## — What’s the thing you’re most proud of about your team?
Our knowledge base, for sure. We have accumulated a lot of experience throughout the years. Positive and negative. There is no shame in writing down all of it. So we do. We have created an obscurely extensive library of best practices with pictures, comments and code, examples of unique features and functions. 

The knowledge base serves 2 purposes: saves time and money for our [clients](https://shakuro.com/testimonials/?utm_source=dev.to&utm_medium=interview-with-a-back-end-developer-what-makes-a-good-code&utm_campaign=content_distribution&utm_id=content_distribution), and creates a certain unity, or uniformity, if you like. The knowledge base makes it much easier to carry out different projects. Digital products we get involve not 10, or 100, but 1 000, and 10 000 files… coding from scratch every time is difficult to deal with. We stay creative for the most part, but making our work more “formal” with the help of the library is essential in our deadline-heavy environment.

## — Do back-end developers communicate with designers?
Yes, of course. We’re not just “hammers and nails” that do nothing but code. We care ‌about aesthetics too. Sometimes, the ready-made elements of the mockup that designers draw up turn out to be too cumbersome to implement. In that case, we [communicate](https://shakuro.com/blog/meaningful-client-communication-in-agile-projects/?utm_source=dev.to&utm_medium=interview-with-a-back-end-developer-what-makes-a-good-code&utm_campaign=content_distribution&utm_id=content_distribution) with the UI/UX team to explain to them the difficulties with the mockup, so they change some things in a way that they will work. However, that happens ‌rarely nowadays. Experienced designers know how to create efficient [concepts](https://shakuro.com/works?utm_source=dev.to&utm_medium=interview-with-a-back-end-developer-what-makes-a-good-code&utm_campaign=content_distribution&utm_id=content_distribution). 

## — Describe what you do in a week.
The team has morning calls every day, where we discuss our current projects and plan our day. We synchronize our progress, discuss problems, and prioritize tasks. Meetings often involve front-end developers, project managers and designers. We write action items for every call: they involve infographics, pictures, comments. 

After that? Hard work. At the end of the week, on Fridays, we organize “happy hours” calls.

## — Shakuro is an outsourcing company that uses an agile development system. How does it reflect on your work?
I think agile development [principles](https://shakuro.com/blog/10-principles-of-our-development-process?utm_source=dev.to&utm_medium=interview-with-a-back-end-developer-what-makes-a-good-code&utm_campaign=content_distribution&utm_id=content_distribution) are very useful for back-end development. One of the common practices in agile development is that some of our team members conduct code review. There is a number of benefits to do it:

- Early debugging.
- The code stays with the company.
- We can learn from each other.
- Teamwork is taken to another level.
- “Truth is sprout in discussion.”

## — What are “happy hours” calls in agile development?
Every development department in Shakuro has their own “happy hours”: it includes frontend, and mobile developers too. Each group meets separately to discuss what problems there were during the week, what interesting technological trends and news they learned about. It’s usually a relaxed talk, but often over-prepared people… like me, *chuckles* show presentations along with their speech.

We share things ‌we think are important, fueling our interests in technology. That helps with burnouts a lot. “Happy hours” exist to break the ‌monotonous working cycle.  

## — Are developers afraid of change?
I wouldn’t say so. Sometimes, it’s the opposite: when we discover a new way to build a web platform or a web app, for example, a new library we could use, an urge to try it out immediately comes out. Experience says it’s not always healthy. Trying new things takes more time and consideration. We never experiment before discussing the risks. It’s hard work, balancing between creativity and formal brick-and-mortar processes. However, even if you do the same thing for the 100th time and it still works without complaints, you feel good about your job.

## — What new things have you tried lately?
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zdktisbech867frpqpjb.png)
Proko web platform

With Proko, an [e-learning web platform](https://shakuro.com/works/proko/?utm_source=dev.to&utm_medium=interview-with-a-back-end-developer-what-makes-a-good-code&utm_campaign=content_distribution&utm_id=content_distribution), we implemented online streaming rooms. It’s kind of like a private Discord. A teacher can organize a video call inside the web platform, add students and other administrators, and interact with the screen, adding texts, videos and pictures. It’s like a private TV, but with the ability to stream your class on YouTube, Twitch, Facebook, etc. The technology is still new, so it causes stress, because not everything works as it should at once. Stress is rewarded by the feeling that 99% of people don’t do the things that we do. 

## — What makes a good code?
Good code has 3 solid characteristics: you can read it easily, understand it, and enhance it. A professional developer remembers that the primary audience for the code is not the computer, but another human being. Our back-end department aims to write code that will serve businesses for a long time. Good code can be reused as a base for future enhancements. 

So, the ability to read, understand, maintain and enhance code makes it good.

## In conclusion
![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/857kymozg3rbfp99k3el.png)
Illustration by Nino Bedijn

To remain afloat and profit in the current changing situation business owners have to be open to new ways to control costs and increase business efficiency. Companies must rethink their businesses and invest in adaptability and resilience. Choosing an outsourcing agency with a [professional back-end department](https://shakuro.com/web-dev?utm_source=dev.to&utm_medium=interview-with-a-back-end-developer-what-makes-a-good-code&utm_campaign=content_distribution&utm_id=content_distribution) is a smart thing to do.  Contact our agency to learn more about our services and discuss your ideas.