Leadership in Software Engineering: An Interview with Tapan Behera
Today, we have the pleasure of interviewing Tapan Behera, a Technical Architect with over 16 years of experience in software engineering.
Tapan is a highly skilled software architect specializing in Process Automation – Integration, Microservices, Machine Learning, and Hadoop.
He is a certified Open Group Architecture Framework (TOGAF) architect. He has critically analyzed, designed, and developed distributed applications across various domains.
Tapan is also an author of book chapters, research articles, and patents, an editorial board member, a judge in International Award programs, and a reviewer of reputable journals.
Today, we will discuss Tapan’s career path, leadership, and expertise in AI/ML.
Contents
- 1 How did you first get interested in software engineering?
- 2 Could you tell us about a project you worked on that you are particularly proud of?
- 3 What qualities do you believe make a great technical architect?
- 4 What was a time when you had to make a difficult decision as a leader?
- 5 How do you stay current with your field’s latest trends and technologies?
- 6 What is the biggest challenge facing the software engineering industry right now?
- 7 Could you tell us about your research on Root Cause Analysis using Machine Learning Techniques and Master Data Management using Machine Learning: MDM Bot?
- 8 What inspired you to build the RCA and MDM Bot, and how have they impacted the industry?
- 9 Please tell us about your experience with Blockchain Technology, Smart Contracts, and DAPP, and how you believe they will shape the future of software engineering.
- 10 What tools and software do you use in your work as a Technical Architect, and how have they helped you in your career?
How did you first get interested in software engineering?
I’m passionate about software engineering because it allows me to apply my problem-solving skills to create innovative solutions and positively impact businesses and society.
I enjoy leveraging technology to automate manual processes, streamline operations, and drive efficiency.
By improving the effectiveness of organizations through software, we can improve business outcomes and contribute to creating a better world for everyone.
Software architects are responsible for designing software systems that support marketing goals and objectives. They work with Business and Marketing teams to understand their needs, create scalable and flexible systems, integrate with marketing tools, and ensure security and compliance.
Architects can help organizations drive business growth and create a positive customer experience by creating systems that support marketing campaigns.
Could you tell us about a project you worked on that you are particularly proud of?
Throughout my professional career, I’ve had the opportunity to work on various challenging projects.
One such project I am particularly proud of is the “Alert System,” which sends emails to millions of customers worldwide whenever a document of interest is published.
Designing this alert system required careful consideration of several factors, including the need for the job to complete within a specific time range, the ability to handle future scalability when new customers are added, and the provision to support multiple document types.
Additionally, we faced the challenge of latency due to the distributed nature of the database, which resided on an On-Prem server while the applications were on the cloud.
From this project, there is much learning. I’ve researched a lot to build the Alert System, a highly scalable system, exploring the cloud capabilities and selecting suitable tools and resources for cost optimization.
Overall, it was a great learning experience and a rewarding project.
What qualities do you believe make a great technical architect?
A great architect possesses strong technical skills, analytical thinking, communication, and leadership abilities.
To foster these qualities in themselves and their team, they prioritize continuous learning and improvement, encourage open communication and collaboration, set clear goals, provide regular feedback, and recognize team members’ achievements.
By prioritizing these qualities, technical architects can lead successful software projects, collaborate effectively with other teams and stakeholders, and drive innovation within their organizations.
And he should be a good learner and upgrade his skill sets, so he can bring many capabilities to the system while designing.
What was a time when you had to make a difficult decision as a leader?
In the fast-paced world of software engineering, there may be situations where a project launch is behind schedule, and there are cross-team dependencies on critical functionalities.
As a Software Architect, I have faced such challenging scenarios and made difficult decisions to meet deadlines.
In such situations, I believe in gathering all the necessary information, analyzing the risks and benefits of various options, and consulting with the stakeholders and the team to understand their perspectives and potential impacts.
Once I comprehensively understand the situation, I propose a short-term and long-term architecture plan that maximizes benefits while minimizing risks.
With the short-term plans, we are trying to meet the deadline and replace them with long-term design solutions.
How do you stay current with your field’s latest trends and technologies?
To stay up-to-date with the latest trends and technologies in software engineering, Software Architects need to learn and keep themselves updated continuously.
Attending industry conferences and workshops is an excellent way to network with peers and learn from experts about the latest trends and technologies.
I also read industry publications and follow influencers on social media platforms, such as LinkedIn, Medium, Blogs, etc. In addition, online courses and certifications can help Software Architects gain in-depth knowledge of new technologies and tools.
What is the biggest challenge facing the software engineering industry right now?
One of the biggest challenges facing the software engineering industry today is the need to constantly adapt and keep up with the latest technologies and trends.
This requires a continuous learning mindset and a commitment to professional development. Companies and individuals must invest in training programs, attend conferences and workshops, and seek new learning opportunities to stay current. Failure to do so could result in becoming outdated and losing competitive advantage in the market.
Another significant challenge is cybersecurity.
With the increasing number of cyber threats and data breaches, software engineers must prioritize security throughout development. This requires implementing robust security measures such as encryption, regular vulnerability assessments, and security testing. Failure to address cybersecurity issues could lead to costly data breaches and loss of customer trust.
Could you tell us about your research on Root Cause Analysis using Machine Learning Techniques and Master Data Management using Machine Learning: MDM Bot?
Root cause analysis (RCA) using machine learning techniques: RCA Bot is a growing area of research and application.
The goal is to leverage machine learning algorithms to identify the root causes of a problem or issue in complex systems, such as those found in IOT Systems, Smart Cities, Enterprise applications, manufacturing, and healthcare.
This can help organizations reduce downtime, improve efficiency, and prevent future issues from arising.
Master Data Management (MDM) using machine learning technique: MDM Bot uses algorithms and statistical models to manage master data.
MDM is creating a single, consistent view of an organization’s critical data assets, such as customer and product information. Machine learning can automate and streamline this process, making it more efficient and effective.
The research shows how MDM System communicates with many other applications through event-driven architecture and helps to make the golden records of the industry. In addition, MDM Bot can help with data quality checks, cleansing, and enrichment tasks.
What inspired you to build the RCA and MDM Bot, and how have they impacted the industry?
Throughout my career, I have specialized in middleware integration of applications and found it challenging to identify the root cause of failures within complex, distributed systems.
In enterprises with multi-tier architecture systems and numerous third-party applications communicating with each other, failure prevention is difficult, making root cause analysis cumbersome.
As a result, it is necessary to perform extensive investigation and analysis, causing a significant hindrance to the organization’s productivity. Therefore, an intelligent system could assist in performing Root Cause Analysis, which led to development of an RCA Bot.
Further research revealed that this approach could help address various industry problems, including Smart cities, IoT systems, and the Healthcare industry.
I do also notice that Master Data Management is a complex process that often involves coordinating with multiple teams and systems to centralize customer data in one place.
However, this can lead to synchronization issues, inconsistent data, poor data quality, and duplicate records. To address these challenges, I used an intelligent solution – an MDM Bot – to streamline the data management process.
With the help of artificial intelligence and machine learning, an MDM bot can automate various tasks such as data cleansing, validation, integration, conflict resolution, and deduplication, ultimately improving data accuracy, consistency, and quality.
Implementing an MDM bot can help organizations optimize their Master Data Management processes, reduce manual effort, and provide valuable insights to support data-driven decision-making.
MDM Bot research can be helpful for organizations looking to build and optimize their Master Data Management processes, particularly in the healthcare industry where there are numerous departments and patient data needs to be accurately and securely managed.
In the healthcare industry, having a patient’s unique and complete record is essential to ensure that healthcare professionals can access all relevant medical information to make informed decisions about their care.
MDM bots can help eliminate data inconsistencies, duplicate records, and other data quality issues when managing patient data across multiple systems and departments. This can improve patient safety, reduce medical errors, and improve patient outcomes.
Additionally, MDM bots can help healthcare and other organizations comply with regulations such as HIPAA and GDPR, which require the secure handling of sensitive patient and customer data.
MDM bots can assist with data governance, access control, and audit tracking, providing an additional layer of security and compliance.
Please tell us about your experience with Blockchain Technology, Smart Contracts, and DAPP, and how you believe they will shape the future of software engineering.
I came to know about Bitcoin and Blockchain technology in the year 2017. I was very impressed after learning about the architecture, the benefits, and the capability it provides to the world, which brings transparency and security and solves the double spending problems.
Blockchain technology is a distributed ledger system that provides a secure and transparent way to store and share data. Smart Contracts are self-executing contracts with the terms of the agreement between buyer and seller being directly written into lines of code.
DAPPs (Decentralized Applications) run on a blockchain network and use smart contracts to interact with the blockchain.
In my research, “How Blockchain solves the supply chain problem using RFID Techniques,” I proposed a model that utilizes Blockchain to track products from farmers to retail stores via RFID with a geo-tracking system.
This information is stored in the blockchain distributed ledger, and the geolocation information of the products is continuously captured during every phase of their movement.
This allows us to determine the authenticity of the item and the geolocations it has been carried out by checking their location information.
Using blockchain technology in the Supply Chain will reduce corruption, increase transparency and customer satisfaction, and improve the country’s economic situation.
These technologies can significantly impact software engineering in the future, enabling new levels of security, transparency, and innovation in software development.
What tools and software do you use in your work as a Technical Architect, and how have they helped you in your career?
Many tools and software have been used in my Software development and Architect carrier. Some of them are:
- Unified Modeling Language (UML) and Business Process Model and Notation (BPMN) are used for modeling and documenting system architecture and business processes.
- Design and Architecture Tools like Microsoft Visio, Lucid Chart, and Enterprise Architect create diagrams and visualize system design and architecture.
- Source Code Management Tools like Git, Bitbucket, or Subversion manage source code version control and collaborate with other developers.
- Cloud Computing Platforms such as Amazon Web Services (AWS), Microsoft Azure, or Google Cloud Platform are used to deploy, manage, and scale applications in the cloud, and so on.