Best Podcast for Software Engineers (Software Engineering Podcasts)
Don't blindly follow trends: Evaluate your project needs and choose solutions that align with them.
This article dives into my recent experience navigating the world of web deployment, specifically my shift away from Vercel to a Virtual Private Server (VPS). I’ll share what prompted this change, the challenges I encountered, and the benefits I've discovered. If you're a developer, aspiring developer, or anyone involved in tech, this video will give you a different perspective about cloud solutions.
Target Audience: This is for developers, aspiring developers, indie hackers, product managers or anyone interested in understanding the nuances of web deployment. Time Investment: Approximately 8-10 minutes to read. Prerequisites: Basic understanding of web development and deployment concepts.
The Catalyst: A $30 Bill for Zero Users
Recently, I received a $30 bill from Vercel despite not having any live users. My project, still in the local development phase, wasn't even deployed yet! This prompted me to re-evaluate my dependency on Vercel, especially since I needed long-running cron jobs and websockets which are costly or not feasible within Vercel’s ecosystem.
Why This Matters?
Many developers, myself included, fall into the trap of assuming popular, well-funded platforms are always the best choice. However, these platforms may not align with specific project requirements or budget constraints. They need to keep the engine running, which includes high marketing spend and product promotion.
The Peter Levels Podcast: A Paradigm Shift
The Lex Fridman podcast with Peter Levels was a game changer for me. Peter's approach to entrepreneurship and development breaks away from the norms often seen in the tech industry, especially within the San Francisco bubble. Peter's emphasis on building solutions that solve real problems, rather than focusing on trendy tech stacks, resonated with me. He also highlighted the importance of being honest and straightforward. It was refreshing to hear his perspective.
Key Takeaway From the Podcast
Don't worry about having the most popular or the most trendy stack. Your customers care whether your product solves their problems, not how it's built.
Vercel's Limitations: A Personal Experience
I initially embraced Vercel for its ease of use and perceived security. However, as my project evolved, I realized that Vercel's limitations hindered my development. Their transition from the pages router to the app router resulted in a lot of re-learning and this caused a lot of headaches. The inability to run long-standing cron jobs and implement websockets without incurring high costs became a significant hurdle.
The Problem
Limited control over background tasks.
Expensive for long-running processes.
Inflexible for specific project requirements.
The VPS Solution: Embracing Server Management
Inspired by the podcast and facing limitations with Vercel, I decided to explore Virtual Private Servers (VPS). The meme of a $5 VPS running an entire life was a spark that led me to investigate this option. I was hesitant about using VPS initially because it seemed complex and I had limited knowledge.
What is a VPS?
A VPS is essentially your own server in the cloud, giving you full control over its environment and configuration. It's similar to the dedicated servers I used to run for Counter-Strike, but with a lower cost of entry.
Why the VPS Route?
Cost-Effective: Significantly cheaper than scaling on platforms like Vercel.
Flexibility: Full control over the server, allowing for cron jobs, websockets, and custom configurations.
Learning Opportunity: Hands-on experience with server management, enhancing my skills as a developer.
The Transition Process: From Localhost to VPS
Setting up the VPS environment required some initial effort. Here’s a breakdown of what it involved:
Digital Ocean Droplet: I chose Digital Ocean and their Droplet product to host my server.
Mono Repo Deployment: My project is a monorepo with a Next.js marketing site, a Next.js dashboard, an Express API, and several other packages. Deploying this required a well-structured approach.
CI/CD Pipeline: Setting up a Continuous Integration and Continuous Deployment pipeline using GitHub Actions on the VPS was crucial for automating deployments.
Linux Command Line: Basic Linux terminal commands like
cd
,ls
, andcat
are necessary for server navigation and management. I found this to be quite simple since I have some experience with the terminal.
Challenges Encountered
Configuring the VPS environment and deployment pipelines
Troubleshooting various technical issues
Understanding the underlying Linux system
The Result: Empowerment and Learning
Despite the initial learning curve, the switch to a VPS has been incredibly rewarding. I now have a robust, cost-effective hosting environment that perfectly matches my project's requirements. This process has also enhanced my understanding of server management and provided an invaluable learning experience.
Key Takeaways
Don't blindly follow trends: Evaluate your project needs and choose solutions that align with them.
Explore alternatives: There are many options beyond the popular platforms. Don’t stick to the status quo.
Don’t fear the command line: A little knowledge of Linux terminal commands goes a long way when managing a VPS.
Focus on problem solving: Prioritize your customer's needs over the latest technology.
Embrace the learning process: Don't be afraid to try new things and learn from challenges.
VPS is a very viable option: Deploying a complex application on a VPS is totally possible.
Actionable Next Steps
Watch the Lex Fridman podcast with Peter Levels for more insights into alternative approaches to tech entrepreneurship.
Explore VPS options like Digital Ocean or Linode.
Experiment with setting up your own VPS and deploying your applications.
Learn basic Linux terminal commands.
This journey has been a valuable learning experience, and I hope it encourages other developers to explore different options and not be afraid to take the path less traveled. Stay tuned for more content on my journey. I might even do some live coding sessions!