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.
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.
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.
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.
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.
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.
Almost 12 years ago, my home was burglarized. Among the items stolen was a 40-inch LED TV, a Valentine’s gift my wife had lovingly purchased for me. Back in 2007/2008, such a TV was a luxury, and its loss hit us hard. My wife was particularly upset, not just because of the financial value but because of the sentimental meaning behind the gift.
That day, I called my office to take leave, explaining the situation. To my surprise, the managing director of the company, Malcolm Railson, called me back shortly after. He didn’t just ask about the incident; he took the time to speak to both me and my wife, ensuring we were okay. His genuine concern was a small but meaningful comfort during a difficult time.
But the story didn’t end there. The next day, when I returned to the office, I found the exact same TV waiting for me in my room. Malcolm had replaced the stolen gift without hesitation. It was an act of kindness that went far beyond professional courtesy—it was a gesture of compassion and humanity that I will never forget.
Over the years, technology has advanced, and most of the TVs in our house have been replaced with sleeker, more modern models. But that 40-inch LED TV still holds a special place in our home. It’s not just a television; it’s a reminder of generosity, kindness, and the impact one person’s actions can have on another’s life.
Today, when I see my children watching their favourite shows on that TV, I feel a sense of gratitude. They may not know the story behind it, but in a way, they’re experiencing a bit of the same warmth and care that my wife and I felt all those years ago.
Malcolm Railson, you are a wonderful person and the kindest boss I’ve ever had. Your actions taught me invaluable lessons—not just about leadership, but about how to treat others with empathy and respect. That TV is more than a piece of technology; it’s a symbol of kindness and a constant reminder of the kind of leader—and person—I aspire to be.
Some gifts are meant to last a lifetime. This one certainly has.
As the CTO of a group of companies, I’ve faced many challenges in managing multiple teams across different projects. One of our core strategies is to acquire companies with potential at reduced prices, digitize their operations, and turn them into efficient, profitable businesses. While this approach has led to many successes, it often comes with tight deadlines, limited budgets, and high-pressure environments. Motivating teams under these conditions is never easy, especially when financial rewards aren’t an option.
One of our most successful projects was with ICS(Intelligent Card Solutions) to launch our Choice products (Introducing GiftChoice for Ultimate Gift Card Experience – A Product I am Proud to Lead), a company we acquired and transformed. The engineers on my team worked tirelessly to launch the product, often going above and beyond to meet the challenging timeline. However, as the project neared completion, the team was on the verge of burnout, and there was no budget left to reward them for their hard work.
This was especially tough for my remote team in India, who had dedicated countless hours to the project. I knew a simple “thank you” or a gift card wouldn’t be enough to show my appreciation. So, I decided to do something unconventional—and some of my colleagues say, a little crazy.
The Idea: A Weekend Getaway
I took the initiative to sponsor a weekend holiday for the team and their families, paying for it out of my own pocket. Many of my colleagues thought I was mad, but as a leader, I knew how much the team had sacrificed to make the project a success. They deserved more than just words of gratitude—they needed an experience that would help them recharge and feel valued.
I flew to Delhi, where our office was based, and organized a weekend trip to Jaipur, a beautiful and historic city known for its vibrant culture, stunning architecture, and rich history. It was just an hour’s flight from Delhi, making it the perfect destination for a short but meaningful getaway.
The Trip: A Time to Reconnect and Recharge
The trip was a huge success. The team and their families enjoyed every moment—exploring Jaipur’s famous landmarks, sharing meals, and simply relaxing together. It wasn’t just a break from work; it was an opportunity for the team to bond, celebrate their achievements, and return to work with a refreshed mindset.
For me, it was incredibly rewarding to see the smiles on their faces and hear their laughter. It reminded me that leadership isn’t just about hitting targets or delivering results—it’s about caring for the people who make those results possible.
Why It Mattered
This trip wasn’t about putting the company in a negative light or suggesting that they didn’t value the team. It was about recognizing that sometimes, as leaders, we need to go the extra mile to show our teams that their hard work and dedication don’t go unnoticed.
In a world where remote work can sometimes feel isolating, gestures like this can make a huge difference. They remind teams that they’re not just cogs in a machine—they’re valued individuals who contribute to something bigger. As leaders, we often focus on metrics, deadlines, and budgets. But at the end of the day, it’s the people who drive success. When budgets are tight and rewards are scarce, it’s up to us to find creative ways to motivate and inspire our teams.
For me, the Jaipur trip was a reminder that leadership is about empathy, connection, and sometimes, taking a leap of faith. It’s about understanding what your team needs and finding ways to support them, even when the resources aren’t there.
Motivating a team isn’t always about money or bonuses. Sometimes, it’s about showing up for them in ways that matter most. The Jaipur trip wasn’t just a thank-you—it was a statement. It said, “I see you, I appreciate you, and I’m willing to go the extra mile for you.”
To all the leaders out there: don’t underestimate the power of small, heartfelt gestures. They can make a world of difference to your team—and to you.
Here’s to leading with heart, even when the budget doesn’t allow for much else.
Migrating from one dedicated hosting provider to another is a complex task that requires careful planning. Whether you’re moving to a new data center or a different hosting provider, missing even a small step can lead to downtime, data loss, or performance issues. Based on my experience handling multiple hosting migrations, I’ve compiled this comprehensive checklist to help ensure a smooth transition.
Planning
✅Document existing server configurations, applications, and dependencies. ✅Ensure the new hosting environment supports your software stack, OS, and required services. ✅Take full backups of databases, applications, and configurations before starting the migration. ✅Notify stakeholders about potential downtime and plan for minimal disruption. ✅Notify clients or managed partners for a plan to add the new IP address for any whitelisting. ✅Ensure that the new hosting provider meets your security and compliance requirements.
Infrastructure Preparation
✅ Configure the new hosting environment, including OS, storage, and networking. ✅ Set up web servers (IIS, Apache, Nginx), databases, security tools, and dependencies. ✅ Ensure firewalls, DDoS protection, and security policies match the old setup. ✅ Install and configure SSL/TLS certificates to avoid security warnings. ✅ Maintain access control for applications, services, and databases.
Data Migration
✅ Use database replication or backup/restore methods to transfer SQL, NoSQL, or other databases. ✅ Copy all web application files, configurations, and static content to the new server. ✅ Update environment variables, API keys, and connection strings. ✅ If the hosting provider manages emails, transfer email accounts, DNS records, and backups. ✅ Ensure all background tasks, reports, and scheduled scripts are set up correctly.
Domain Configuration
✅ Modify A, CNAME, and MX records to point to the new hosting provider. ✅ Ensure traffic routing in load balancer and failover mechanisms work properly. ✅ If using a CDN, update settings to reflect the new server location. ✅ If specific IPs are whitelisted for API access, update them accordingly. ✅ Ensure outbound emails work correctly after migration.
Testing
✅ Test web applications, APIs, and backend systems for issues. ✅ Ensure that data consistency and relationships remain intact. ✅ Validate firewall rules, authentication mechanisms, and SSL configurations. ✅ Ensure logs are being collected and monitoring tools are configured correctly. ✅Prepare the holding page. ✅ Have key users validate the application before the final switchover.
Final Cutover
✅ Plan for an off-peak cutover to minimize business impact, ideally the weekend if you are migrating corporate projects. ✅ Keep a close eye on CPU, memory, database queries, and server load. ✅ Ensure new backup processes are working correctly. ✅ Once everything is verified, cancel the old hosting subscription to avoid extra costs. ✅ Note any challenges faced during migration to improve future processes.
Things to Consider Outside Technology
✅ Take regular breaks to keep your mind fresh. Do not try to do everything in one go. ✅ Migration is stressful, so boost your energy level with a beverage or other essential boosting process(as you can see my boosting process below).
Migrating hosting can be a high-risk, high-impact process, but a detailed checklist ensures nothing gets overlooked. By carefully planning, testing, and monitoring every step, you can minimize downtime, prevent data loss, and ensure a seamless transition.
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 sowe 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