From Retrenchment to Full-Stack Developer: Wade Thomas on Learning, Simplicity and Building Software That Matters
Developer Stories | CoderLegion
What happens when a career change forces you to rethink your future?
For Wade Alister Thomas, the answer was to turn a difficult setback into the beginning of a completely different career.
After spending 18 years working in the telecommunications industry, Wade was among approximately 500 employees who were retrenched in November 2018. He had recently started a family and finished building his home, so the timing could hardly have been more challenging.
At that point, Wade had a decision to make: look for another traditional job or take the small coding projects he had been doing on the side and turn them into a full-time career.
He chose the second path.
Today, Wade is a self-taught full-stack developer and consultant based in Trinidad & Tobago. His preferred stack includes TanStack Start, Tailwind CSS and shadcn/ui on the frontend, with Directus, PostgreSQL and Redis running on a VPS through Coolify.
He also works with businesses on their digital presence, builds applications, creates logos and Git templates, and regularly shares what he learns through technical articles.
In this Developer Stories interview, Wade talks about his journey from telecommunications to software development, the challenges of learning without a traditional curriculum, why he prefers simple and sustainable architectures, what attracted him to self-hosting, and why developers should focus on solving business problems rather than simply using the newest technology.
From 2014 to 2018: When a Career Changed Direction
Wade started coding in 2014, initially taking on small projects for friends and family.
At the time, however, software development was still something he was doing alongside his full-time career in telecommunications.
That changed in 2018.
About 500 employees at the telecommunications company were retrenched on November 15, 2018, and Wade was among them.
It was a particularly difficult period because he had recently started a family and had just finished building his home.
"It was a really difficult time, as I had started a family and just finished building our home."
After 18 years in telecommunications, Wade had to decide whether to look for another traditional job or pursue the coding work he had already started doing on the side.
With the support of his wife and after much prayer, he decided to pursue software development full-time.
That decision marked the beginning of a completely different professional journey.
The Challenge of Being a Self-Taught Developer
Being self-taught gave Wade freedom, but it also created one of the biggest challenges many independent developers face: deciding what to learn.
There was no university curriculum, mentor or structured program telling him which technology to choose next.
He initially enrolled with Treehouse but eventually had to stop because he could not afford the monthly subscription.
He began learning JavaScript, HTML and CSS, purchasing discounted courses on Udemy and experimenting with different technologies.
Eventually, he realized that knowing frontend technologies alone wasn't enough.
He needed to understand backend development as well.
The problem was that there was nobody to point him toward a specific path.
Before AI made technical research much easier, Wade had to search through the internet himself, experiment, make mistakes and figure things out through trial and error.
He eventually settled on React for the frontend and Node/Express for the backend.
But the experimentation didn't stop there.
He explored Vue.js, returned to React, and tried several frameworks including Next.js, Remix, Redwood and TanStack.
Then came another area of exploration: headless CMS platforms.
He experimented with Contentful, Strapi, DatoCMS, Sanity, Storyblok, Prismic, Payload and eventually Directus.
Looking back, Wade says deciding what to learn and sticking with it was a major struggle.
What eventually helped was finding a technology stack with a manageable learning curve and, more importantly, enjoying the process of learning.
The motivation shifted from simply trying to reach an outcome to genuinely enjoying the journey.
Finding a Stack That Works
Wade's current technology stack didn't appear overnight.
It evolved through real client work and the practical problems that came with building software as a solo developer.
His first paying client was a travel agency.
At the time, Wade was using React on the frontend and Node/Express on the backend.
That meant manually building many of the pieces required by the application, including forms, APIs and database functionality.
The workload was significant.
He didn't meet the original delivery date, although he ultimately delivered a working product.
That experience taught him something important about working as a solo developer: the technology stack itself can have a major impact on how quickly and sustainably you can deliver.
Instead of simply accepting the complexity, Wade began researching alternatives.
He wanted technologies that worked well together and allowed him to spend more time building the actual application instead of repeatedly wiring infrastructure together.
His current approach focuses on technologies including:
- TanStack Start
- Tailwind CSS
- shadcn/ui
- Directus
- PostgreSQL
- Redis
- VPS infrastructure
- Coolify
The goal isn't to use the most impressive stack possible.
It is to use a stack that works well for the types of clients he serves.
Because Wade primarily works with startups and small-to-medium businesses, he doesn't believe every project needs an enterprise-level architecture.
Instead, he looks for solutions that are affordable, sustainable and fast to deliver.
Why Wade Chose Self-Hosting
Many developers today immediately reach for managed platforms such as Vercel or Netlify.
Wade took a different route.
He initially used Netlify for some of his projects, but eventually became frustrated with aspects of the platform, including pricing, DNS management and deployment errors that weren't always intuitive.
The possibility of unpredictable hosting costs also made him cautious about some managed platforms.
Self-hosting offered a different model.
With a VPS and Coolify, Wade could control the hosting environment while still keeping much of the convenience developers expect from modern deployment platforms.
He could create subdomains, automatically manage SSL certificates, run frontend and backend applications on the same server, and deploy directly from GitHub.
For the types of businesses he works with, this provided a practical balance between flexibility, cost and simplicity.
But Wade sees another important benefit to self-hosting.
It forces developers to understand what actually happens when an application runs in production.
You have to understand the server, deployment process, database and infrastructure.
That knowledge can be valuable even when working with managed platforms.
For Wade, predictable costs are another major advantage.
Instead of worrying that an unexpected traffic spike or usage metric could suddenly increase a hosting bill, he knows what infrastructure he is paying for.
Self-hosting also reduces dependence on a particular provider's pricing and platform rules.
At the same time, Coolify provides many of the conveniences developers appreciate from managed platforms while allowing Wade to retain control over his infrastructure.
Why Directus Became an Important Part of His Stack
Before using Directus, Wade built backend systems using Node/Express.
That meant creating APIs, middleware, authentication and authorization himself.
For a solo developer, that can add a considerable amount of work to every project.
Directus changed that equation.
With Directus, Wade could quickly create a backend and automatically expose APIs through REST, GraphQL or the SDK.
The platform also provides a data studio that allows clients and non-developers to manage their own data.
Authentication is available out of the box, and Directus can connect to existing SQL databases.
For Wade, this makes Directus particularly useful for content-driven websites and fast-turnaround MVPs where speed and a client-friendly data management experience are important.
It also fits naturally into his self-hosting approach.
However, Wade doesn't see Directus as the answer to every backend problem.
For applications with highly complex business logic, he believes a custom backend can still be the better choice.
That distinction is important.
The goal isn't to find one technology that solves every problem.
The goal is to choose the right level of complexity for the problem being solved.
When Simplicity Becomes an Architecture Principle
One of the strongest themes in Wade's approach to development is simplicity.
Developers can easily become distracted by the desire to build something technically impressive.
Modern frameworks, animations, advanced architectures and new technologies can all be exciting.
But they can also distract from the actual purpose of a product.
Wade believes in launching a minimum viable product, keeping the initial implementation focused and adding complexity only when it becomes necessary.
Complexity has a cost.
It can increase:
- Bugs
- Development time
- Testing requirements
- Maintenance work
- Project costs
- Time required to get customer feedback
He experienced this mindset firsthand while building his own portfolio.
His initial idea was to create an impressive interactive website with transitions, parallax scrolling, dark mode, 3D images and animations.
Instead, he stepped back and asked what the portfolio actually needed to accomplish.
The purpose was simple: convince a potential client that he could build software that solved real-world problems.
So he created a much simpler interface and focused on examples of applications he had built.
The result was a faster launch and a clearer demonstration of his actual capabilities.
The lesson was simple:
A product doesn't need to demonstrate everything a developer knows. It needs to solve the problem it was created to solve.
From Developer to Consultant
Working directly with clients changed Wade's understanding of software development.
As a developer, it's easy to focus primarily on code.
But clients aren't usually buying code.
They're buying a solution to a business problem.
Wade learned that understanding the client's industry, customers and business goals is just as important as understanding the technology.
A web application is often not the business itself.
Instead, it becomes a tool that helps the business compete, communicate with customers or operate more effectively.
That means technology decisions should follow business requirements rather than dictate them.
Wade puts it simply:
"The technology must serve the solution, not the other way around."
This also means that the technically superior solution isn't always the right solution.
Sometimes the newest or most advanced technology is also the most expensive.
If that cost doesn't make sense for the business, Wade would rather recommend a proven and affordable solution.
The best architecture isn't necessarily the one with the most impressive technology.
Sometimes it is the one that makes the most sense for the business.
Building More Than Software
Wade's work extends beyond writing code.
He also works with UI/UX, ecommerce, performance, authentication, security, branding and logo design.
For him, understanding the user is a critical part of building software.
He gave the example of working with an ecommerce client selling natural self-care products.
Rather than immediately starting with the interface, Wade became a customer himself.
He bought and experienced the products, visited the client's pop-up events and observed the customers.
That helped him understand the product, the customers and the image the business wanted to communicate.
He could then use that understanding to shape the user interface and create a persona for the ideal customer.
This reinforced an important lesson:
A technically flawless application is not necessarily a successful product.
If nobody wants to use it, the quality of the code doesn't matter nearly as much.
Why Wade Shares What He Learns
Wade's development journey wasn't always easy.
There were periods when he almost gave up.
One of the challenges he faced was the cost of education and development resources, particularly because of currency conversion. At one point, the exchange rate made many courses difficult to afford.
He also remembers a time before AI made technical research much easier.
Finding reliable information required significant searching and experimentation.
That experience influenced the way Wade approaches sharing knowledge today.
His goal is straightforward:
Share the tools he uses, explain why he uses them, and show others how to use them.
He wants to make the learning curve easier for someone who might be considering web development as a career path.
There are now countless frameworks, platforms and tools available, and that abundance can itself become overwhelming.
Wade wants his content to help developers make sense of those choices rather than simply telling them which technology is "the best."
Teaching has also improved his own understanding.
Explaining a concept forces you to understand it more deeply.
For Wade, documenting his learning has therefore become part of his own development process.
The more he teaches, the better he understands the technologies he works with.
Advice for Self-Taught Developers
For developers starting their journey today, Wade has a few practical recommendations.
First, choose a programming language with a strong community and learn the fundamentals well.
Don't make learning feel like a punishment.
There will always be difficult periods, but there should also be some enjoyment in the process.
Second, take advantage of the huge amount of free educational material available today.
YouTube has become a valuable learning resource, and AI can also be used as a learning assistant.
Wade recommends exhausting free resources before spending money on courses.
Third, use development roadmaps.
One of the biggest challenges he faced was not knowing what to learn next.
Today, developers have access to many structured roadmaps that can provide direction.
Perhaps most importantly, Wade recommends avoiding the temptation to become a jack of all trades.
Find a technology stack you enjoy and become highly capable with it before constantly adding new technologies.
Don't chase every new framework simply because it is popular.
Change technologies when there is a real reason to do so and when the change genuinely improves your development process.
And when building applications, focus on structure rather than obsessing over syntax.
Before writing code, understand what you want to achieve.
Break the application into components and understand how those components need to interact.
Then start writing the code.
As Wade puts it, understanding structure can eliminate many of the problems that inexperienced developers encounter.
A Journey Built on Learning and Purpose
Wade's journey from telecommunications to full-stack development wasn't planned in a traditional way.
It began with small coding projects, continued through a difficult career transition, and developed through years of self-directed experimentation.
Along the way, he learned that technology is only one part of software development.
Choosing the right tools matters.
Understanding infrastructure matters.
Learning continuously matters.
But understanding the business, the customer and the problem you're trying to solve may matter even more.
His approach today reflects that experience: choose practical technologies, avoid unnecessary complexity, control infrastructure where it makes sense, understand the user and keep learning.
For developers who feel overwhelmed by the constant stream of new frameworks and technologies, Wade's story offers a useful reminder:
You don't need to learn everything. You need to learn enough to solve meaningful problems well.
And perhaps his most personal piece of advice comes from the principle that has helped him throughout the journey:
"As for my secret weapon — whenever I'm stuck looking for a solution, I pray."
About Wade Alister Thomas
Wade Alister Thomas is a self-taught full-stack developer and consultant from Trinidad & Tobago.
His preferred technology stack includes TanStack Start, Tailwind CSS, shadcn/ui, Directus, PostgreSQL, Redis and Coolify-managed VPS infrastructure.
Through Northern Range Digital, he helps businesses establish their online presence and build digital products. He also creates logos and Git templates and regularly shares what he learns through technical articles and guides.
You can learn more about Wade and his work through his CoderLegion profile and website.