Table of Contents
We are continuing with our interview series (previously we had interviewed Diego Ojeda – Android Lead at Apiumhub, Serhii Zabolennyi – QA Automation engineer at Apiumhub, Javier Gomez – backend developer at Apiumhub, Cuong Le – Backend developer at Apiumhub, Oriol Saludes – Fullstack Developer at Apiumhub & David Suárez – Data Scientist at Apiumhub. Today we interview Ileana Diaz – Backend Developer at Apiumhub and talk about key lessons learned in Backend Development.
What are the top 3 challenges in backend development?
- Time limitations play a vital role in software development. When there is no sufficient time for the development, times the product doesn’t meet the quality standards as the developers work under pressure and output decreases. Our main challenge is to agree with the client on a scope of the project that fits the time we have for development.
- Changing Requirements during the development process brings challenges for the software developers
- Getting Defects or Errors in the product during its last stage creates an unwanted challenge for the software developers
When a new developer lacks proper Communication and Coordination with the other developers of the same development team it creates a problem at some point. Our main challenge is to achieve the mechanism for communication that fits all team members.
What advice would you give for junior developers who are hoping to grow professionally as a backend developer
- Don’t ignore the world around your work
- Tests are your safety net, and your compass
- Separate your concerns
- Areas of responsibility in the code
- Areas of focus in the code
- Or a particular ‘job’ the code is doing
- Write short methods and use good method/variable names instead of comments.
- Find a mentor.
- Seek constructive criticism.
- Pair program with more experienced developers.
- Listen to and respect more senior developers around you, as well as other juniors.
- Expose your ignorance, daily.
What are the top 3 responsibilities of a backend developer?
Implement algorithms and solve issues related to the system
Support the frontend development with clear communication and even better documentation.
Keep the web applications updated, safe, and fast
Develop the architecture of a system (and make it logical and functional across devices)
Do you have any favorite books or authors?
During my career I have read lot of books about application development, but I think that there are books that all junior developer should read, for example:
- Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
- Clean Architecture: A Craftsman’s Guide to Software Structure and Design by Robert C. Martin
- Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Grady Booch
- Algorithms by Robert Sedgewick
How important is the culture of technology to you?
Technology affects the way individuals communicate, learn, and think. It helps society and determines how people interact with each other on a daily basis. Technology plays an important role in society today. It has positive and negative effects on the world and it impacts daily lives.
Modern technology has paved the way for multi-functional devices like the smartwatch and the smartphone. Computers are increasingly faster, more portable, and higher-powered than ever before. With all of these revolutions, technology has also made our lives easier, faster, better, and more fun.
The main advantages are:
- Ease of Access to Information.
- Saves Time.
- Ease of Mobility.
- Better Communication Means.
- Cost Efficiency.
- Innovation In Many Fields.
- Better Learning Techniques.