Experience of over a million pound project that never went live.

As a tech professional, you complete many projects in your career, and some projects leave a lasting impact for some strange and unique reasons. In my career, I have had experience with a project like this, which was a massive project for a blue-chip client. This project despite years of effort and significant investment, never saw the light of day.

The Idea of a Platform to Revolutionize Dealership Incentive and reward Process

The project was for one of our big blue-chip clients, a well-known name car manufacturing company with hundreds of dealerships across the country.

They needed to build a platform that would connect their dealerships with product information, training materials, incentives, and rewards. The goal was to make things easier for the dealers, help them learn more, and motivate them to sell more. It was a big, exciting project, and we were thrilled to be part of it.

The Development Phase: Ten Months of Hard Work

Our team worked hard for eight months from the vision to build the platform. We made sure it had everything the client wanted. It was designed to be easy to use and packed with features to help dealerships work better. Both our management and development team worked really hard to ensure that every feature met our client’s requirements. The function design covered all the functionalities that could empower dealerships to operate more efficiently, connect to each other, share knowledge and get rewards for their sales. From product selection for rewards to training modules, tracking mechanisms, and reward systems, we completed building the solution within a year of time.

The First Hurdle: IT Restrictions and Access Issues

As we approached the testing phase, we hit the first significant problem. The client’s IT team had very strict rules about who could access their network and hosting environment. For example, setting up a test environment took several months, far longer than anticipated, as we had very limited input in the process. Once the servers were ready, the most frustrating challenge was getting a daily token to access the server where we were supposed to host the staging version of the platform. Every morning, we had to put in a request to their IT team for access to the servers, and by the time it was granted, half the day was already gone. As they did not have any automated process to raise a ticket, we had to email a shared email address to get a token. This delay slowed down our process dramatically and tested our patience. We suggested setting up a staging environment in our infrastructure that could speed up the process, but the client wanted to host everything within their servers. In the end, it took over 6 months to complete the staging part.

Staging to Live: More Restrictions, More Delays

After overcoming many many challenges, we finally completed the user acceptance testing in their staging environment. And we were ready to set up the live environment. However, this process brought even more restrictions. The client’s IT team had additional security procedures that further delayed the access to the live environment. What should have been a simple and quick process turned into a months-long struggle. After several months of meetings and discussions, we finally got access to the live servers, and we started setting up the platform. Even though we had the same difficulties of getting server access permission every day, we managed to set up everything as quickly as we could.

The Final Blow: A Corporate Move and Changing Priorities

Just as we were planning and getting ready to launch the platform, the client dropped a bombshell: their headquarters was relocating to a new location. The live environment was within a data centre of our client’s headquarters, and the moving of the headquarters meant that the launch had to be postponed. The client’s IT team had to work with the logistics of the move, prioritising their core platforms to remain operational during the transition. Even though it was initially expected to be completed within 6-8 months, it stretched into more than two years. During these 2 years, the project was updated many times to accommodate some new requirements and went through a few other changes.

The Cost of Delay: Over Half a Million Pounds and Counting

By this point, the development cost of the project had already reached over half a million pounds. On top of that, our company was paid over another quarter million pounds to manage and maintain the platform during the two-year delay. A third-party company was also involved in supplying physical pre-paid master cards that were branded for our client. We ended up with hundreds of Mastercards with our client logo on them but could not use them for anything else. It was a tremendous amount of money, and the platform, which could have helped the client so much, was sitting there, unused.

The End of the Road: A Change in Leadership and a Scrapped Project

After nearly four years(1 year of development, 1 year of modification, testing and setting up a live environment and 2 years of hibernation with some modification), the client underwent a change in leadership. The project’s cost was over a million pounds by that time. The new stakeholders, who had not been involved in the project’s development, took another 6 months to review the platform and decided that it no longer aligned with their vision. Even though the product was fully developed and ready to launch, the project was scrapped. The decision to scrap the project was very hard to digest for us. After five years of hard work, countless challenges, and a significant financial investment, the project was finally thrown to the bin without ever going live.

Lessons Learned and Lingering Questions

This unusual experience taught me some important lessons. A fully built, working platform that was thrown away after nearly five years showed me how crucial it is to have clear goals and the ability to adapt when things don’t go as planned. The final decision left me feeling disappointed as I believed the project had a lot of potential that was wasted. I could not understand how a company could spend so much money and time on something and walk away without getting anything out of it. And it also made me wonder how big companies could afford to spend so much without making sure the project would actually be useful in the end.

Even though the platform never went live, I hope the lessons I learned will help me in future projects. After all, even failed projects can teach us something valuable. As for the client, I can only hope they find some way to use the product, even if it’s for something different than originally planned.

The Disappointing End of the Choice Platform: A Journey of Passion, Success, and Letting Go

In November 2018, we launched GiftChoice, the first product in what we envisioned as the Choice Platform—a revolutionary gift card concept(Introducing GiftChoice for Ultimate Gift Card Experience – A Product I am Proud to Lead), ). Over the next 18 months, we introduced StyleChoice, SocialChoice, GroceryChoice, and FitnessChoice, making Choice one of the market-leading gift card brands in the UK.(Choice is now one of the most popular brand in the UK Gift card market: New Challenges with the Platform)

Our products were widely recognized, and we had built a loyal customer base. The platform was not just a business—it was a testament to our team’s hard work, creativity, and dedication. In 2020, we began receiving interest from various parties looking to acquire the Choice Platform. It was a testament to our success, but it also marked the beginning of a difficult chapter. For reasons that were never fully clear to me, our CEO decided to sell the business.

By the end of 2020, Blackhawk Network acquired the Choice products.

Mixed Feelings About the Sale

On paper, this should have been a great moment. The sale meant success, and I was even offered a bonus for my contributions. But deep inside, I wasn’t entirely happy.

When we started Choice, the goal was long-term growth—a roadmap filled with exciting new products. So, knowing that the brand would continue under new ownership was somewhat reassuring. Plus, my team and I were contracted to manage and support the platform for three more years.

It felt like a win-win. Or so I thought.

The Shocking End

Just a year later, at the beginning of 2022, we received some unexpected and heartbreaking news—Blackhawk decided to shut down the Choice Platform completely.

Why? Because they had their own branded gift card that competed directly with Choice, and they didn’t want to keep both running.

And just like that, Choice was gone.

What It Felt Like

For my team and me, this was more than just a business decision. From its launch in 2018 to its peak as a market leader, it represented the best of what we could achieve as a team. Its sale and eventual closure were a reminder that not all stories have happy endings, but every experience shapes us in profound ways. It felt like watching something we built with so much passion disappear overnight.

We had spent years perfecting the platform, overcoming technical challenges, and working relentlessly to make it a success. And now, instead of expanding and growing, it was being wiped out.

But in business, as in life, not everything goes the way you hope. As I look back, I’m proud of what we accomplished. And who knows? The next big idea might be just around the corner.

My School fund – Leading a High-Stakes Project on a Tight Budget and Timeline

Some projects start with a well-laid-out plan. Others? Well, they land on your desk when things don’t go as planned. That’s exactly what happened with My School Fund—an exciting initiative designed to help schools and nurseries earn cashback through everyday spending.

Initially, the plan was to hire contractors to build the project due to the internal development team’s other commitments. But finding the right contractor at the right time is difficult. By the time it became clear that external help wouldn’t work, we had already lost valuable development time. That’s when the project was handed over to our internal team—with even less time and an even tighter budget.

Now, here’s the thing about me: I don’t like saying no to a challenge. Some might say it’s a weakness, but I call it drive. But I had the luxury(I would say hard work to nurture them) of saying yes as I had a team that I had been leading for some time, whom I could trust, and they delivered some projects with challenging time frames. When you trust your team, know each other’s strengths, and push in the same direction, you can make magic happen.

What is My School Fund?

In simple terms, My School Fund(https://www.myschoolfund.org/) connects schools, nurseries, and parents in a win-win cashback scheme.

👉 Parents sign up and link their credit card.
👉 When they shop at Argos or Sainsbury’s, they earn cashback—2% for themselves and 1% for their child’s school or nursery.
👉 Schools use that cashback to boost their budgets.
👉 Parents redeem their cashback as e-gift cards.

Sounds simple, right? Not quite.

Behind the Scenes: A Complex Process

Making this work required seamless coordination between multiple parties:

ESPO (our client) visits schools to explain the program.

Schools promote the initiative to parents.

Parents sign up with the program and link their credit cards. The web portal was developed by us https://www.myschoolfund.org/

Transactions happen at participating retailers (Argos, Sainsbury’s).

A third-party provider (Fidel) collects the transaction data, and we collect these data through API.

Receive data sent to Sainsbury’s for verification through an automated file transferring process.

Sainsbury’s filters out ineligible purchases (e.g., alcohol, cigarettes), and we collect the filtered data through another file-transferring process.

Verified cashback is allocated to parents and schools through an automated process.

Parents and schools can redeem their cashback for e-gift cards.

We issue and supply the e-gift cards by connecting to retailer APIs .

    A lot of data movement, API calls, file transfers, and verification processes were involved—meaning a lot could go wrong if not handled carefully.

    Making It Work Against the Odds

    With time already lost, we had to be smart, efficient, and focused. There was no room for delays, no budget for mistakes. So, how did we pull it off? With the clock ticking and the budget stretched thin, my team and I rolled up our sleeves and got to work.

    Clear ownership: Having worked together for years, we knew each other’s strengths and weaknesses. This allowed us to allocate tasks efficiently and trust one another to deliver. Each team member knew exactly what they had to deliver.


    Quick decision-making: No red tape, no endless meetings—just solutions. We focused on simplifying workflows and automating repetitive tasks to save time and reduce errors.

    Collaborating with Stakeholders: Constant communication with ESPO, retailers, and third-party providers ensured that everyone was aligned and working toward the same goal


    Trusting the team: Knowing who excels at what to move fast.


    Iterative delivery: We built in stages, solving issues as they came. When issues arose—and they did—we addressed them head-on, finding creative solutions to keep the project on track.


    Laser focus on the goal: Most importantly, we weren’t aiming for “perfect”—we were aiming for done, functional, and secure.

    Despite the hurdles, we made it work. We kept refining, fixing, and improving the process until everything ran smoothly. The tight timeline and limited budget made it tough, but that’s what makes success taste even sweeter.

    Choice Platform has a new compititor- LifeStyle: The Battle of the Gift Cards

    When we launched the first product of the Choice gift card series(Introducing GiftChoice for Ultimate Gift Card Experience – A Product I am Proud to Lead), we knew we had something special. A gift card that lets people pick from multiple retailers! Gradually, the choice cards became one of the popular gift cards in the market(Choice is now one of the most popular brand in the UK Gift card market: New Challenges with the Platform) Now, another company has launched their own version, called LifeStyle, and they’ve placed it right next to ours on the store shelves. That’s right—our new neighbor in the gift card section is also trying to win over customers.

    We Knew This Was Coming—So We Moved Fast

    plan came to me in April 2018. The goal was clear: launch the product by November 2018 to capture the Christmas market. With other companies working on similar products, it was a race to be first in the market.

    When the concept of the Choice platform came to me, we already knew competitors were working on the same idea. Our CEO gave us a clear mission: “You’ve got six months. Be the first to market”. By the end of 2018, we launched GiftChoice, just in time for Christmas shopping. Both Choice and LifeStyle do the same basic thing—they let people pick where they want to spend their gift card.

    Competition? Bring It On!

    Honestly, competition is a good thing. It means more people are interested in flexible gift cards, which means this market is growing fast.

    But here’s the thing: we were first, we’re still the best, and we’re not slowing down. While LifeStyle is just getting started, we’re already working on our next big upgrade—on-demand retailer vouchers! Soon, when someone picks a store, we’ll get their gift voucher directly from the retailer, so we don’t have to keep stock. Faster, better, smarter.

    So, am I worried about LifeStyle? Nope. Every time I walk into a store and see Choice next to their cards, I smile. It’s a reminder that we did something great—and we did it first.

    Now, let’s see if they can keep up. 😉

    Choice is now one of the most popular brand in the UK Gift card market: New Challenges with the Platform

    When we launched the first product of the choice platform (Introducing GiftChoice for Ultimate Gift Card Experience – A Product I am Proud to Lead) at the end of 2018, we did not know how the market would respond. As we launched the product at the last minute to catch the Christmas period, it was not easy to put the product in every Sainsbury and Argos shop due to the limited time in the distribution process. But things changed in 2019 as most of the shops had stocks, and sales started to grow.

    It has been a very busy 2019 and 2020 for the choice technology team. After successfully launching GiftChoice, our first product in the Choice Platform, I led the engineering team to launch three more products in 2019 and one more product in 2020. StyleChoice, FitnesChoice and SocialChoice for the B2C market and GroceryChoice for the B2B market. All three B2C cards are now available in all major high-street shops, including Sainsbury’s, Argos, Currys, WHSmith, Wilko, PC World, Shell, and many other high-street shops. When I visit any of these retailers, it feels amazing to see the products that my team and I have developed on the shelf.

    Choice has become one of the most popular gift card brands in the market, and we now supply millions of pounds worth of vouchers every month. StyleChoice offers vouchers for around 30 styling brands, including Adidas, Nike, and Reebok. SocialChoice provides brands from restaurant chains and entertainment spots, making it the perfect gift for social outings.

    Due to the flexibility of the choice product, StyleChoice was also highlighted in the BBC article as a better choice when selecting gift cards.

    New Challenges

    But, bringing more Choice products and brands presented new challenges for us in terms of implementing them within the platform. However, my decision to set up the project as a SaaS model gave us the flexibility to make necessary changes based on product requirements. We kept the flexibility as much as possible when we launched the first product, GiftChoice. Since we did not have enough time to brainstorm the application structure exactly as we wanted, we kept many options open.

    Here are some of the major technological challenges that we faced while launching new products and how we overcame them:

    1. Integrating with Various High Street POS Systems

    Different high-street POS systems work with different providers and technologies. This meant we had to adapt our integration process to comply with various technical requirements. To solve this, we built a modular API system that allowed seamless integration with multiple POS providers. We also collaborated closely with retailers to ensure smooth implementation.

    2. Identifying Different Card Types for Central Verification

    Since all cards go through a central verification process, identifying and categorizing each type was a challenge. To address this, we implemented a prefix process with the voucher code that allowed us to automatically recognize the card type. This allowed for quick and accurate validation without checking it with the database. We also set up a parent website where users can redeem any of the choice products.

    3. Compliance with Different Brand Guidelines

    Each brand we partnered with had its own terms and conditions, as well as a unique colour palette that our platform needed to comply with. To streamline this process, we developed a flexible UI framework that allowed us to customize the branding and terms for each retailer dynamically. This saved us time and ensured compliance with all brand requirements.

    4. Managing Retailer Voucher Stock to Reduce Losses

    Initially, we stocked retailer vouchers in advance, but this approach led to financial losses when less popular vouchers expired. To solve this, we developed a system that connects to the retailer API to get vouchers on demand where possible. I already have an artcile about this project that i published earlier this year. The microservice architecture of the project allows us to integrate with more retailers in future. So, instead of keeping a physical stock, we now integrate directly with retailer APIs to generate vouchers when needed. Unfortunately, not all retailers offer this service, but we managed to set it up for most of the popular brands, eliminating the issue of voucher expiry at a huge level.

    5. Ensuring the Security of Stored Vouchers

    Securing vouchers stored in our database was a critical challenge, as they represent real monetary value. We implemented end-to-end encryption and multi-factor authentication for all transactions. Additionally, we built an anomaly detection system to flag any suspicious activities, ensuring that our vouchers remain protected. I also published an article about this earlier this year.

    6. Different Value Gift Cards

    Another challenge we faced was the varying values of our gift cards. GiftChoice initially launched with a fixed £25 value, and the plan was to launch every new product with the same value. But SocialChoice came with £30 vouchers, and GroceryChoice had £10 vouchers. This meant our platform had to adapt to handle multiple values seamlessly. To address this, we redesigned our system to support dynamic pricing. This allowed us to process and manage vouchers of different values without disrupting the user experience. It was a significant technical adjustment, but it ensured that our platform could scale with the growing diversity of our products.

    Choice Platform Roadmap

    We plan to roll out the choice card to more high-street retailers, including ASDA, in September 2020, one of the biggest supermarkets in the UK. As for the product roadmap, this is how it looks.

    One of my biggest satisfaction

    The Choice Platform has been a huge success, but if you ask me what one of the best outcomes is for me personally, I would say it’s the moment when I see my 8-year-old daughter get excited every time she sees her “Daddy’s card” while shopping. That moment makes me feel proud.

    I’m excited to see where the Choice Platform will take us next. The journey hasn’t been easy, but it’s been incredibly rewarding, and I’m proud of what we’ve built together.

    Challenges of Obtaining and Maintaining ISO 9001 & ISO 27001

    Achieving ISO certifications is a significant milestone for any organization, especially ISO 9001 for quality management and ISO 27001 for information security. When our company decided to obtain ISO 9001 for quality management and ISO 27001 for information security, I knew it would be a challenging journey. These certifications are highly respected and help businesses maintain high standards in process efficiency, security, and customer satisfaction. However, what I didn’t anticipate was the real-world difficulties that came with both obtaining and maintaining these certifications.

    Why ISO 9001 and ISO 27001 Matter

    ISO 9001 focuses on quality management systems (QMS), ensuring that businesses follow a structured approach to delivering products and services that consistently meet customer expectations. Companies that achieve ISO 9001 certification can streamline their processes, reduce inefficiencies, and minimize errors, leading to improved operational performance. Customers and partners also place a higher level of trust in companies that adhere to these globally recognized quality standards.

    On the other hand, ISO 27001 is crucial for information security management systems (ISMS). With increasing cybersecurity threats and growing regulatory requirements, businesses must take stringent measures to protect sensitive data. ISO 27001 provides a framework to identify, assess, and mitigate security risks, ensuring that confidential information remains protected against breaches, leaks, and cyberattacks. In industries handling sensitive client data—such as finance, healthcare, and technology—ISO 27001 certification is often a requirement rather than a choice.

    While both certifications offer immense benefits, the process of obtaining and maintaining them comes with its own set of challenges.

    Challenges in Obtaining ISO Certifications

    One of the biggest challenges I faced was the sheer amount of documentation required. When we started the process, we realized that many of our internal procedures were not properly documented. We had processes in place, but they were mostly in people’s heads, not on paper. The auditors required clear, well-documented policies for everything—from customer handling processes (ISO 9001) to incident management and risk assessment (ISO 27001). Writing these from scratch was time-consuming and required constant back-and-forth with teams.

    Another major hurdle was getting employees on board. When you introduce new compliance requirements, people naturally resist change. Some of our engineers and managers felt that the certification process was just “extra paperwork” that didn’t bring value to their daily work. This slowed down implementation because employees were not following the new processes properly. I had to conduct multiple training sessions, explain why ISO matters, and show how it benefits the company and them personally. Eventually, we gained their support, but it took months of effort.

    Security compliance for ISO 27001 was another nightmare. One major challenge was password policies and access controls. Our development team had been using shared credentials for some internal services, which was a big security risk. ISO 27001 requires strict user authentication policies, access logs, and encryption, so we had to completely restructure how we handle credentials. This caused temporary disruptions, as developers had to adjust to the new system.

    Challenges in Maintaining ISO Certifications

    After we successfully obtained our certifications, I thought the hard part was over. I was wrong. Maintaining compliance turned out to be just as difficult—if not more—than obtaining it.

    One of the biggest issues was passing yearly audits. During our first annual surveillance audit, the auditor flagged outdated risk assessments in our ISO 27001 compliance. The problem? Some security controls that were documented hadn’t been updated to reflect changes in our infrastructure. We had migrated part of our system to the cloud, but the documentation still reflected our old setup. This put our certification at risk.

    Another recurring challenge was handling security incidents. As part of ISO 27001, you must have an incident response plan and report all security breaches. At one point, we had a minor internal phishing attack where an employee accidentally clicked on a suspicious email. While it didn’t cause major damage, we had to document the entire incident, conduct a review, and demonstrate to auditors how we improved security awareness. This process felt frustrating at times, but in hindsight, it helped us strengthen our security.

    On the ISO 9001 side, one of the biggest struggles was process consistency. The certification requires that you follow documented procedures every single time, but in reality, employees sometimes take shortcuts. During one audit, we discovered that some team members were handling customer complaints differently than what was documented. This inconsistency led to a non-conformance report, forcing us to retrain staff and reinforce our processes.

    Obtaining and maintaining ISO 9001 and ISO 27001 is a difficult but rewarding journey. It improves quality, security, and operational efficiency, but the process is far from easy. Documentation gaps, employee resistance, security incidents, and process inconsistencies are all real-world challenges that companies must overcome.

    Through my experience, I learned that compliance is not just about getting a certificate—it’s about continuous improvement. By making ISO a fundamental part of our company culture, automating tasks, and staying proactive in audits, we managed to turn challenges into opportunities for growth.

    My Challenges of Managing Remote Team

    COVID-19 has transformed the way we work and the way businesses operate. Working from home or a remote location become more common that offers the flexibility of accessing the global talent pool. However, with the changed mindset of working from home as a common thing, managing the remote team brings some unique challenges that the organisations never faced. From the communication barriers to maintaining the employee’s mental health and fear, remote team management requires a strategic approach to ensure a solid amount of productivity and employee satisfaction.

    Throughout my career, I have had the opportunity to manage remote teams at almost every stage. But my experience of pre-COVID was different than the post-COVID era. My long experience of managing a remote team has allowed me to encounter both the challenges and benefits of remote work. Interestingly, I have found the difficulties vary depending on the size of the team. Some might disagree with me; I felt the requirement of taking different approaches based on the team size. When managing remote teams for medium to large-sized companies, I faced certain types of challenges, while managing smaller teams for smaller organizations presented a different set of challenges. Having said that, there are some common challenges I’ve encountered across all team sizes and organizational contexts that I would like to highligh today.

    Communication Gap

    One of the big challenges that I have faced was the communication gap. Without the facility of in-person interactions, I found that casual conversations have their own benefits, and without them, misunderstandings can become more frequent. I realized how much we relied on casual conversations to clarify ideas and resolve issues. If you work in an open-plan environment, you can clarify something quickly if your team is sitting nearby. I have experienced many times that a misunderstanding happened because a team member misunderstood/misinterpreted a message or task that delayed the delivery of a project.

    On many occasions, I have implemented the structured communication channels using some tools like Slack, Zoom, or Microsoft Teams to ensure everyone had a clear and consistent platform for collaboration. But if you are working for a small organisation, you might not have a budget for this type of tools. But it is very important to have something in place to communicate with each other. Even having a skype group for each project can be beneficial. This approach can resolve many of the communication gaps that we face. Personally, I prefer using Slack for this type of communication due to its flexibility. However, Microsoft Teams is also an excellent alternative, especially if your organization already uses Microsoft technologies. Having said that, it’s not necessary to rely solely on Slack or Teams to bridge communication gaps. A combination of tools can be highly effective. For example, you can use slack/teams for instant messaging, Zoom for video calls, and Trello or Asana for task tracking or project management. There are many other tools and these tools serve a distinct purpose. When we use them together, it can create a better ecosystem to eliminate any communication gap and increase productivity.

    So what should we consider to eliminate communication gaps?

    Communication Process – It is crucial to have a process in place about how and when team members should communicate. Specify preferred communication tools, response time expectations, and meeting schedules to reduce confusion.

    Multiple Communication Tools – Find out which tools can be beneficial for your needs and budget. You can use Slack for instant messaging, Zoom for video calls, and project management tools like Trello or Asana for task tracking. Each tool serves a unique purpose and ensures smooth collaboration.

    Consider Timezone – If your team members are in different time zones, a set rule should be set to allow responses at convenient times. Utilizing shared documents and recorded meetings can be beneficial for the team members working from different time zones.

    Schedule Regular meetings – Hold weekly or biweekly one-on-one meetings to discuss progress, address concerns, and offer support. If you are using SCRUM, it might be challenging to have daily stand-ups for the team working in different time zones. Having weekly or monthly virtual stand-ups can also keep everyone aligned. Once a month, a town hall meeting can be arranged to update the time about the overall progress of the company.

    Transparent Environment – A transparent and fearless environment can bring a lot of value in this case. If you can encourage team members to speak up and share their ideas, it can bring a lot of benefits. Creating a culture of transparency also builds trust between the team members and strengthens team relationships.

    Document Everything – Documenting everything, most importantly, the key discussions, decisions, and project updates in a centralized location, such as a shared location, is essential to eliminate misunderstanding. This prevents miscommunication and ensures accessibility.

    Organize Team Bonding Activities – Strengthening relationships inside/outside of work can improve communication within the team. Hosting a regular team activity, virtual coffee chats, game nights etc can help to eliminate some gaps.

    Fear and Mental health issues

    Fear in remote teams can create significant challenges. Hesitation to communicate, reluctance to share ideas, or a lack of engagement can lead the employee to fear and mental health issues. In my experience, I have seen two types of fear.

    First is the isolation from the office environment, which can create insecurity about the job that leads to a constant fear of losing their jobs. It is the perfect fit of the phrase “Out of Sight, Out of Mind“. When employees work remotely or in an isolated environment, they may feel invisible to their managers and colleagues. This can make it harder for them to show their contributions, which leads to concerns that their efforts are not being recognized or valued.

    The second is not raising a voice due to a lack of team bonding or connection with other team members for the remote setup of the team. Many times, I have experienced the members of my remote team being afraid to ask questions. Even when they need to clarify tasks, they worry about being perceived as incompetent. This leads to misunderstandings and errors in the work, which can bring more significant problems. But, this could be easily avoided with open communication and without a fearless culture. Similarly, I have seen the team members hesitate to raise their voices about unrealistic deadlines, fearing being seen as uncooperative. Yes, there will be some team members who will raise their voice every for a realistic deadline. But you will definitely find the quiet one who will not speak out about unrealistic deadlines, and this silence can only bring problems.

    These fears and the lack of social interaction and support in an isolated work environment can lead to increased stress and anxiety. And if you have stress and anxiety, it affects your mental health. In most cases, the isolation amplifies feelings of self-doubt, making employees question their competence and worth, even if their job is not actually at risk.

    From my experience when you are managing a remote team, I found a regular one-to-one conversation with the team member is very effective in keeping them organised and focused on their work. Obviously, it is not easy to do the regular one-to-one when you have a large team, but it can be done on a group basis. As a manager, you can either sit with an individual or a group of employees to understand any concerns or to have a general conversation. I always believed and focused on fostering a culture of psychological safety that gave me a good return on the time that I spent on it. I encourage open dialogue by regularly checking in with team members one-on-one and creating anonymous feedback channels to ensure everyone feels comfortable sharing their thoughts. Additionally, I emphasize that mistakes are part of the learning process and celebrate transparency and collaboration. Over time, this approach helped me to build trust with my team, reduce fear and enable the team to communicate more effectively and work more cohesively.

    To address these concerns, organizations should:

    1. Foster regular communication and feedback.

    2. Ensure remote or isolated employees feel included in team activities and decision-making.

    3. Provide clear performance metrics and recognition for contributions.

    4. Offer mental health support and opportunities for social connection.

    5. Be transparent about organizational changes and job security.

    Productivity and Focus

    Productivity and accountability are also significant concerns. Some employees can thrive in a remote setting, while others can struggle to maintain focus. Without direct supervision, it is difficult to assess individual performance accurately. So, it is essential to set clear expectations and goals. That includes defining work expectations, deadlines, and key performance indicators (KPIs) to help employees stay on track. Using project management tools like Jira/Trello or Asana to track progress is one of the essential steps. Regular one-on-one check-ins also provided an opportunity to offer support, address challenges, and ensure everyone remained on track.

    Technical issue

    One of the common excuses that I find when managing remote teams is technical issues. Unstable internet connections, software glitches, and cybersecurity concerns occasionally disrupt workflow. A lot of team members can take advantage of the issue. So, it is important to ensure that the team have access to the necessary resources and support. Investing in reliable tools and providing training on security best practices helped minimize these disruptions.

    Having a remote team offers incredible opportunities when managed effectively. The flexibility of allowing employees to work in ways that suit their lifestyles leads to higher job satisfaction. A well-structured remote work environment can also increase productivity and creativity, as team members can focus without the usual office distractions. By prioritizing clear communication, promoting a strong team culture, and leveraging the right technology, it is not rocket science to turn challenges into opportunities. The key is to find a balance between flexibility and structure.

    Automating Our Product Feed Distribution System with Azure

    As one of our group of companies supplies products to other businesses, mainly insurance companies, we manage a vast network of suppliers and clients. Each supplier provides us with product feeds containing stock and pricing information in different formats such as Excel, CSV, and text files. Similarly, our clients require customized product feeds with specific margins and delivery charges.

    Previously, this entire process was manual/semi-auto, requiring significant effort to collect, process, and distribute feeds. Recognizing the inefficiency and scalability challenges, I designed and implemented an automated Azure-based solution to streamline the entire workflow.

    Challenges of the Manual System

    – Suppliers sent product feeds in different formats, requiring manual processing.

    – Product data had to be categorized and updated manually in our database.

    – Each client had unique pricing and delivery rules, making feed generation time-consuming.

    – The entire process was prone to human errors and delays.

    The Azure-Based Automated Solution

    To eliminate inefficiencies, I built an end-to-end automated system using Azure services. The solution handles the entire workflow, from file ingestion to client-specific feed distribution, with minimal manual intervention.

    Architecture Overview

    Data Ingestion

    Azure Blob Storage: Suppliers upload product feeds to a designated Blob Storage container. Blob Storage acts as the central repository for all incoming files.

    Data Processing

    Event Grid: Automatically triggers when a new file is uploaded to Blob Storage. Initiates the processing workflow by invoking Azure Functions

    Azure Functions (Serverless): Processes uploaded files based on their format (Excel, CSV, Text). Validates and standardizes the data into a consistent format (e.g., JSON or CSV).

    Data Storage

    Azure SQL Database / Cosmos DB: Stores standardized product data in a structured format.

    Data Enrichment

    Azure App Service: Azure Functions or App Service applies business rules:

    1. Categorizes products based on predefined rules.

    2. Applies client-specific margins and delivery charges (stored in a configuration table or database).

    3. Stores the enriched data back in the database.

    Feed Generation and Distribution

    Azure Function: Azure Functions or Logic Apps generate customized feeds for each client according to client requirements (e.g., CSV, JSON, or Excel). It also stores the generated feeds in a separate Blob Storage container.

    Finally, it sends feeds to clients via email or SFTP based on their preferences.

    Automation and Orchestration

    Azure Monitor and Log Analytics: Tracks system performance and logs errors for troubleshooting.

    Security and Compliance

    Azure Active Directory (AAD): Authenticates and authorizes users and applications accessing the system.

    Azure Key Vault: Securely stores sensitive information like API keys and connection strings.

    Data Encryption: Encrypts data at rest (Azure Storage Service Encryption) and in transit (TLS).

    By transitioning to an Azure-based solution, we can automate the entire product feed distribution process, significantly improving efficiency and scalability. The architecture leverages serverless components, ensuring cost-effectiveness and flexibility, while Azure’s robust security features guarantee data protection. This solution not only addresses our current challenges but also provides a foundation for future growth and innovation.

    When you have the responsibility to keep multi million pound worth of vouchers secured.

    Imagine being responsible for safeguarding millions of pounds worth of digital vouchers. That is what I have been experiencing for the last one and a half years. With the growing popularity of our Choice products, the demand for stocking vouchers is getting higher. So, it is not just about protecting data—it’s about safeguarding money. Digital vouchers are essentially liquid cash, and if they fall into the wrong hands, the consequences can be devastating. At every management meeting, this was one of the common topics to discuss.

    Every time I see our vouchers being used by customers, I’m reminded of the responsibility to keep them safe. It’s not just about technology—it’s about trust. Digital vouchers are as good as cash, and losing control of them could cost the company millions. And, it is my responsibility as a Head of Technology to keep them secure. However, beyond the financial impact, a security breach could damage customer trust and the reputation of the Choice Platform.  I had to consider all aspects of protecting the vouchers from internal and external threats.

    To manage the vouchers, we developed a microservices-based platform that connects to multiple retailer APIs, collects digital vouchers, and stores them securely in our database, which is powered by SQL Server. There are facilities to store and collect non-API-based vouchers on the platform. At any given time, our system can hold up to a million pounds worth of vouchers. These vouchers are then distributed to customers through our Choice Platform, which integrates with our system to fulfil voucher requests.

    Given the high financial stakes, the key elements that I have implemented to secure the whole process are –

    Securing the Database

    Since our SQL Server database holds digital vouchers, it is one of the most critical components for security. Here’s how we ensure its protection:

    • All vouchers are stored using strong encryption. Even if someone gains access to the database, they won’t be able to use the vouchers without decrypting them.
    • Only authorized services and users can access the database. We use role-based access control (RBAC) to ensure that even internal employees have minimal permissions. SA account is disabled, and a strict policy is implemented to create a user and password. Only trusted persons can access the vouchers in the database to avoid any misuse.
    • We conduct regular security audits to check for vulnerabilities and ensure compliance with security policies.
    • Sensitive data is masked in non-production environments to prevent unauthorized exposure.
    • Backups are stored securely and encrypted to ensure data recovery in case of an attack or failure.

    Securing Connections between the Systems

    • All communication between our microservices and external APIs must be protected to prevent interception and unauthorized access.
    • All communication between our platform and external systems is encrypted using HTTPS and TLS (Transport Layer Security). This ensures that data can’t be intercepted or tampered with during transmission.
    • Every API request is authenticated using secure tokens. These tokens are time-limited and can only be used by authorized systems. If a token is compromised, it expires quickly, minimizing the risk.
    • To prevent API abuse and attacks, we enforce rate limiting to control the number of requests made by external services.

    Securing Vouchers in the Database

    Even within the database, taking extra steps is necessary to prevent unauthorized access to stored vouchers:

    • We use tokenisation, where the actual voucher code is stored in a separate, highly secure environment, while the token is used in the central system for processing and transactions. In our platform, when we collect voucher codes from retailers, we don’t store the actual codes directly in our central database. Instead, we replace each voucher code with a token. Imagine a customer redeeming a £30 SocialChoice voucher for a popular restaurant. We connect the relevant API that sends us the voucher code, say ABC123XYZ. Our system replaces ABC123XYZ with a token, like TKN789456. The token TKN789456 is stored in our central database, while ABC123XYZ is securely stored in a separate location. When the customer redeems the voucher, our system uses the token TKN789456 to retrieve the actual code ABC123XYZ from the vault and complete the transaction.
    • Voucher details are only accessible for a limited time. If they are not used within a set period, they become inaccessible until explicitly requested again. We also move the vouchers that are delivered to an archive location after a certain period of time to minimize the load of the database and reduce risk. If the user requests to redeliver a voucher after that(unlikely), the application connects the archive database to redeliver the voucher.
    • We log every access to the voucher data and monitor for any unusual activity. Suspicious access attempts trigger automatic alerts.

    Securing from External Threats

    Hackers and fraudsters continuously attempt to exploit digital systems, so we have implemented additional security layers to protect against external threats:

    • Our network infrastructure includes firewalls and IDS to detect and block unauthorized access attempts. We use Rapid7 and Crowdstrike Falcon.
    • Any user or system accessing sensitive voucher data must go through multi-factor authentication.
    • We regularly monitor and analyze transaction patterns and flag suspicious activity.
    • We do regular penetration tests to identify potential vulnerabilities and patch them before attackers can exploit them. We regularly use various tools from Qualys to check the security of our infrastructure and applications.

    Securing from Internal Threats

    While you are dealing with the external threats, you can not ignore the internal threats. You will have some colleagues who will have direct access to the database. You will also have colleagues who will have admin access to the platform who can download or redeliver the voucher. So we ensure

    • Everyone on the team undergoes regular security training to stay updated on the latest threats and best practices.
    • All the activities of the admin procedure are logged and monitored.
    • Limit database access with Vouchers to only the necessary users.

    Securing a system that manages multi-million-pound digital vouchers is a challenge, but with the right security strategies in place, it is possible to minimize risks. Unfortunately, the security is never a one-time task. It’s an ongoing process, and we constantly refine our security measures to stay ahead of potential threats.

    Challenges of Managing a Complex Hosting Setup with a Managed Hosting Partner

    Managing a complex hosting environment is never easy, especially when you rely on a managed hosting partner to handle critical infrastructure. While outsourcing hosting can offer benefits like reduced operational overhead, it also comes with its own set of challenges. I experienced this firsthand in a situation that caused consistent application downtime for nearly two years. Here’s what happened, the challenges we faced, and how we ultimately resolved the issue.

    The Setup of the Hosting Environment

    Our hosting setup was designed to support multiple client applications with high availability and reliability. It included:

    – A redundant pair of firewalls for security.

    – A redundant pair of Load balancers to distribute traffic efficiently.

    – Golden IP addresses are the ones that client applications are pointed to.

    – SSL offloading at the load balancer level to handle encryption.

    This setup required precise configuration, especially when it came to SSL certificates. Since SSL offloading was handled at the load balancer level, the SSL certificates needed to be installed correctly on the load balancers with the right IP addresses.

    The Problem

    The biggest challenge was that we didn’t have direct access to the firewalls or load balancers. Everything had to go through our managed hosting partner. Here’s how the process worked:

    We need to place the order for a new SSL certificate and go through the application validation process. After that we need to raise a ticket with the hosting partner’s support team to install the SSL certificate.

      This seemingly straightforward process became a recurring nightmare.

      The Root Cause

      The hosting partner had a large support team, and every time we raised a ticket, it was handled by a different engineer. This led to several issues:

      Lack of Familiarity with the Setup: Each engineer was unfamiliar with our specific configuration, leading to mistakes like installing the SSL certificate in the wrong place or assigning the wrong IP address.

      Missed Documentation: After the first incident, we had a call with the hosting partner and agreed to add a note in the system for engineers to double-check the setup. Unfortunately, the note was overlooked during subsequent incidents.

      Repeated Downtime: Every time the SSL certificate was installed incorrectly, it caused application downtime, frustrating both our team and our clients.

        The Impact

        For two years, we faced the same issue repeatedly. Each incident required hours of troubleshooting, communication with the hosting partner, and damage control with our clients. The lack of control over our own infrastructure made it difficult to resolve the problem proactively.

        The Solution

        After enduring this cycle for far too long, we decided to take matters into our own hands. We migrated our setup to the cloud, where we could manage the infrastructure ourselves. This gave us full control over our Firewalls and Load Balancers so we could configure and troubleshoot them directly. We can purchase our SSL certificates and no longer had to rely on a third party to install them correctly. We also implemented robust monitoring tools to detect and resolve issues before they impacted clients.

          The move to the cloud not only resolved the SSL certificate issue but also gave us greater flexibility, scalability, and peace of mind.

          Lessons Learned

          This experience taught me several valuable lessons about managing complex hosting setups with a third-party partner:

          Control is Critical: When dealing with complex infrastructure, having direct access and control is essential. Relying entirely on a third party can lead to unnecessary risks and delays.

          Documentation is Key: Even with detailed documentation, human error can occur. It’s important to have fail-safes in place to ensure critical steps aren’t missed.

          Communication Matters: Clear and consistent communication with your hosting partner is crucial. However, it’s not a substitute for having control over your own environment.

          Know When to Change Course: If a setup isn’t working despite repeated efforts, it may be time to explore alternative solutions.

          While managed hosting partners can offer convenience, they may not always be the best fit for complex setups. In our case, moving to the cloud and taking ownership of our infrastructure was the turning point that resolved years of frustration. If you’re facing similar challenges, consider whether having more control over your environment could be the solution. After all, when it comes to your applications and clients, you deserve the ability to act quickly and decisively—without relying on someone else to get it right