Dilshod Inomov

Senior Software Engineer | Solution Architect

About

Software engineer with a focus on backend and middleware development. In general, colleagues know me as a highly motivated person who is passionate about creating unusual solutions in a more efficient and scalable way. I would love to be considered for a role where I can utilize my skills to build exceptional software that has a big positive impact.

Expert in developing backend, middleware, and web applications in fast-paced, deadline-driven environments, with a strong background in Java/SpringBoot/Quarkus, React, Angular, JavaScript, Node.js, Oracle, PL/SQL, MySQL, Couchbase, MongoDB. Led multiple projects as a team lead, ensuring high-quality and scalable solutions.

  • Website: https://dinomov.uz
  • Phone: +641 233 9601
  • City: Fairfield, Iowa, USA
  • Degree: Master in Computer Science
  • Email: dinomov@gmail.com
  • Freelance: Available - W2 / Willing to relocate

My relationship with teammates is built on trust, respect, and a shared passion for crafting exceptional software. I am not just seeking a job. I am pursuing a collaborative adventure where I can contribute to solving real-life problems that have a big positive impact on people’s lives

Facts

+

Happy Clients

+

Projects

+

Hours Of Support

Continents

Skills

Software Design and Architecture • Design Patterns • Database Architecture Problem-Solving • Data Structures • Team Collaboration • Leadership • Code Review Multithreading • Reactive and Functional programming • Clean Code • TDD • CI/CD

Java 100%
Spring Boot 100%
Oracle/MySQL 100%
Docker 100%
AWS 80%
JavaScript 100%
React 100%
PHP 90%
Angular 80%
C# / Node.js70%

Resume

Sumary

Dilshod Inomov

Innovative and deadline-driven Software Engineer with 10+ years of experience designing and developing software solutions, polished deliverable.

  • 1000 north 4th street, Fairfield, IA
  • +1 (641) 233-9601
  • dinomov@gmail.com

Education

Master of Science

2023 - 2025

Maharishi International University, Fairfield, IA

Computer Science

Master of Science

2004 - 2006

National University of Uzbekistan, Tashkent, UZB

Applied Mathematics

Bachelor of Science

1999 - 2003

National University of Uzbekistan, Tashkent, UZB

Applied Mathematics

Professional Experience

Senior Java Software Engineer

2022 - 2023

Sofia, Bulgaria

  • Built Microservices and supported legacy middleware.
  • Decomposed the monolithic travel software into microservices, such as searching, booking, and payment using Java, Quarkus, JAXB, RabbitMQ. This improved scalability and maintainability.
  • Integrated gRPC and Protocol Buffers (protobuf) to facilitate Remote Procedure Calls (RPC) between microservices, ensuring efficient communication and interoperability.
  • Proposed and designed integration tests using test containers for microservices with RabbitMQ and Couchbase. This saved 60% of the time in development and running the integration tests.
  • Enhanced bridge application between IBM and RabbitMQ message brokers using Go programming language which allowed testing of microservices against the legacy system.
  • Developed a gateway that mirrors messages from the legacy system to the new microservices architecture using Google Guava, IBM MQ, and design patterns (Multithreading, Singleton, Strategy, Template). Facilitated testing for the microservices replacing the legacy back-end.

Team Lead / Senior Full Stack Developer

2015 - 2022

Soborg, Denmark

  • Integrated a telemedicine web app with an ADFS server for Single Sign-On (SSO) using SAML and SimpleSAMLphp. This effort attracted three new customers and boosted company income by 10%.
  • Developed a video call feature in a telemedicine web app using socket.io, Node.js, and JavaScript, successfully meeting the requirements of 80% of customers.
  • Implemented a module to monitor psychiatric patients with PHP/Yii, AngularJS, HTML5, and CSS3. This initiative brought in one new customer and increased company income by 3%.
  • Performed an analysis of customer requirements and issues, created tickets on GitLab, and delegated tasks to other developers, resulting in streamlined issue resolution and enhanced team efficiency.
  • Enhanced patient care through the implementation of rehabilitation and observation monitors, a calendar, call center, and other modules using PHP, Node.js, MySQL, REST, and AngularJS.
  • Implemented push-subscription functionality across multiple modules using Node.js and Socket.io, significantly reducing server loading and eliminating the need for HTTP polling. This optimization resulted in enhanced real-time data updates, improving overall system performance and user experience.
  • Seamlessly integrated with government systems and partners' servers using PHP, SOAP, XML, and Cron, facilitating efficient data exchange.
  • Optimized database performance through enhancements such as query restructuring, indexing, and caching, achieving REST services response time under 3 seconds, and enhancing query performance and system scalability.

Java Developer

2011 - 2015

Pilsen, Czechia

  • Developed various telematics applications for a telematics platform using Java OSGi, Maven, EclipseLink, Oracle, ADF, Android Programming, and MQTT. These applications gained widespread adoption among bus and truck companies in Hong Kong and Europe.

Java Developer

2008 - 2011

Prague, Czechia

  • Designed and implemented multiple web applications for both internal and customer use, utilizing Java/Struts, JSP, Apache Tiles, Oracle, PL/SQL, Apache Axis, SOAP, and Jasper Reports. This initiative enhanced internal processes and improved customer interactions.

Web Application Developer

2014 - 2014

USA

  • Contributed to developing a web application using PHP, Slim, MySQL, JavaScript.

Web Application Developer

2012 - 2013

Omaha, NE, USA

  • Participated in developing auction software SaaS using Java, Spring, MyBatis, MySQL.

Portfolio

This website flow:

Blogs

Sorting algorithms

     Sorting algorithms are fundamental tools in computer science, serving as the backbone for various applications and systems. While the concept of sorting might seem straightforward, the algorithms behind it are diverse, each with its own set of characteristics, efficiency, and elegance. In this blog post, we embark on a journey through the world of sorting algorithms, exploring their inner workings, efficiency, and the beauty of their design.

     The Importance of Sorting: Sorting is ubiquitous in computer science, finding applications in databases, search algorithms, numerical analysis, and more. Whether it's organizing a list of names, arranging data in ascending order, or optimizing search operations, sorting algorithms play a crucial role in streamlining computational processes.

     The Classification of Sorting Algorithms: Sorting algorithms can be classified based on various criteria, such as their time complexity, stability, adaptability, and internal workings. We delve into the different categories, including comparison-based sorting algorithms like Bubble Sort, Insertion Sort, and Merge Sort, as well as non-comparison-based algorithms like Counting Sort and Radix Sort.

     Efficiency: Big O Notation and Time Complexity Analysis: Efficiency is a key consideration when evaluating sorting algorithms. We introduce the concept of Big O notation and delve into time complexity analysis, exploring how different sorting algorithms perform under various scenarios. From the O(n^2) complexity of Bubble Sort to the O(n log n) efficiency of Quick Sort and Merge Sort, we uncover the trade-offs between simplicity and performance.

     The Beauty of Design: Elegance in Sorting Algorithms: Beyond efficiency, sorting algorithms exhibit elegance in their design and implementation. We admire the simplicity of Insertion Sort's incremental approach, the divide-and-conquer strategy of Merge Sort, and the partitioning technique of Quick Sort. Through visualizations and code snippets, we showcase the beauty of these algorithms in action.

     Real-World Applications and Optimization Techniques: In addition to theoretical analysis, we explore real-world applications of sorting algorithms and optimization techniques. From optimizing memory usage with in-place sorting algorithms to leveraging parallelism and multi-threading for enhanced performance, we uncover strategies for maximizing efficiency in practical scenarios.

     Beyond Traditional Sorting: Exploring Modern Approaches: As technology evolves, so do sorting techniques. We introduce modern approaches to sorting, including external sorting for large datasets, parallel sorting algorithms for distributed systems, and hybrid algorithms that combine the strengths of multiple techniques. By embracing innovation, we pave the way for future advancements in sorting technology.

     Sorting algorithms represent a fascinating intersection of theory and practice in computer science. From the simplicity of Bubble Sort to the sophistication of modern sorting techniques, each algorithm offers unique insights into the art of computation. By understanding the inner workings, efficiency, and elegance of sorting algorithms, we gain valuable knowledge that empowers us to tackle complex computational challenges with confidence and creativity.

Testimonials

Kenneth Thorman

Ceo & Founder & CTO at Appinux, June 6, 2023

Dilshod is an exceptional software engineer who seamlessly embodies the roles of team lead and architect. His technical expertise drives our projects forward, while his leadership skills foster collaboration and innovation within the team. His strategic vision ensures our solutions are not only robust but also aligned with our long-term goals. Working with Dilshod has been an absolute privilege and has significantly elevated the quality of our work.

Oleg Ivanov

Architect at Amadeus, November 10, 2023

I've been working with Dilshod for a year. He's a nice clever person, with good technical skills. Dilshod has been a part of a large ambitious project, complex and really challenging, and it's difficult to overestimate his contribution. Thank you Dilshod, keep it up!

Velina Nanova

Development Team Lead | Java developer | Travel enthusiast at Amadeus, November 16, 2023, Velina managed Dilshod directly

I have worked with Dilshod for a year. He is a very outgoing person with good technical ground. Dilshod always took his tasks seriously. He is very adaptive in working with different people. I am sure that Dilshod will be a valuable team member for any team!

Dušan Juhás

Agile Master at ZF Engineering Pilsen, December 20, 2014, Dušan managed Dilshod directly

Dilshod is a valuable developer. He patiently looks for a technical solution even when it seems unreachable. He always stays unruffled even when the others lose their head.

Martin Ponocný

Manager of Software Development Teams at ZF Engineering Pilsen, August 31, 2015, Martin managed Dilshod directly

I have been in a same team with Dilshod for more than two years. He is definitely one of the developers who should be part of each team. When something needs to be developed and there is no obvious way how to do that, Dilshod simply finds the solution. It was a pleasure to have him in my team.

Contact

Location:

1000 north 4th street, Fairfield, IA 52557

Call:

+1 641 233-9601

Loading
Your message has been sent. Thank you!