all conversations
Sherali Obidov
Software Engineering · Backend Systems · Java
LinkedIn ↗ May 2026
GoogleSenior Software Engineer · Google
Conversation with Sherali Obidov
Conversation with Sherali Obidov — May 2026
GoogleAbout their work

Sherali is a Senior Software Engineer at Google in Sunnyvale, California, where he builds backend systems for real-time communication products such as Google Fi and Google Voice. He brings over a decade of engineering experience, is an Oracle Certified Java professional with an M.S. in Computer Science, and specializes in Java and Spring backend services, distributed systems, and database optimization across PostgreSQL and MongoDB.

Learning from a Software Engineer: My Conversation with Sherali Obidov

I had the opportunity to speak with Sherali Obidov, a software engineer with strong experience in backend development, Java, distributed systems, and large-scale technology environments. His background stood out to me because it connects several areas I am personally trying to improve: strong programming fundamentals, backend architecture, system design, and long-term career growth as an engineer.

As a computer science student, it is easy to get distracted by trends. One week everyone talks about AI agents, another week about a new JavaScript framework, then another week about cloud, DevOps, or startup ideas. But after speaking with someone who has worked in serious engineering environments, one thing became clear: strong engineers are not built by chasing every trend. They are built by repeatedly solving real problems, understanding fundamentals deeply, and developing the ability to design systems that are reliable, maintainable, and useful.

A major part of our conversation was about backend engineering. Backend work is often invisible to normal users, but it is what makes real products function properly. APIs, databases, authentication, background jobs, caching, message queues, deployment pipelines, and monitoring systems are not glamorous from the outside, but they are the foundation of serious software. A frontend can look beautiful, but if the backend is badly designed, the product will eventually break under real usage.

This was especially useful for me because I am building projects like SejongPulse, where the backend is not just a small detail. A campus platform needs authentication, user data, communities, messaging, notifications, and AI-related features. If the system is not designed carefully, it becomes messy very fast. From this conversation, I understood more clearly that building a real platform is not only about adding features. It is about designing the system so that features can grow without destroying the structure.

Another important lesson was the value of Java and backend fundamentals. Many students treat Java as just another university language, but in real companies, Java is still heavily used for backend systems, enterprise applications, large-scale services, and financial or infrastructure-heavy systems. Learning Java properly is not only about syntax. It is about understanding object-oriented design, concurrency, memory behavior, clean architecture, testing, and long-term maintainability.

We also discussed the difference between small student projects and production-level engineering. In student projects, the goal is often just to make something work once. In professional engineering, that is not enough. A system has to work repeatedly, handle edge cases, be understandable by other engineers, and survive future changes. That means code quality matters. Naming matters. Testing matters. Documentation matters. Deployment matters. These are not optional details; they are part of real engineering.

One point that stayed with me was the importance of consistency. A lot of people want quick results, but software engineering rewards people who keep improving over time. Reading documentation, building projects, debugging difficult problems, studying system design, and reviewing other people's code all compound slowly. There is no shortcut that replaces serious practice.

For my own development, this conversation helped me think more seriously about the kind of engineer I want to become. I do not want to only build websites that look good on the surface. I want to build systems that are structured properly, solve real problems, and can be explained clearly. That means I need to keep improving my backend knowledge, especially in areas like API design, database modeling, authentication, scalability, and software architecture.

The conversation also made me rethink my portfolio. A strong portfolio should not only show screenshots. It should show decisions: why a system was built a certain way, what tradeoffs were made, how the architecture works, and what problems were solved. This is why I want to write more build notes and case studies instead of only listing projects.

Overall, my conversation with Sherali Obidov was valuable because it gave me a more realistic view of software engineering. It reminded me that becoming a good engineer is not about using the newest tool first. It is about building strong fundamentals, learning from real systems, and developing the discipline to create software that lasts.

Key Takeaways

  • Backend engineering is the foundation of serious software products.
  • Java and system design fundamentals are still highly valuable.
  • Real engineering is not just making code work once; it is making systems reliable and maintainable.
  • Good projects should show architectural thinking, not only UI screenshots.
  • Consistency matters more than chasing every new technology trend.