Blog

  • Excellent Software Engineers Wear Multiple Hats

    Excellent Software Engineers Wear Multiple Hats

    People complain that hiring standards are rising, but they miss a key point: the skill floor is actually getting lower. Infrastructure as a Service (IaaS) has made it easier than ever to deploy and manage software that once required entire teams.

    A few months ago, when I started at my current company, I realized something that completely changed my perspective on software development: being able to build and deploy your own apps isn’t just a skill—it’s a gateway to unlimited opportunities.

    Before, I had always been focused on the programming itself. But working in an environment where everyone is full-stack and expected to handle infrastructure as well forced me to level up. Learning to provision infrastructure, set up authentication, and manage deployments didn’t just make me a better engineer—it made me more confident, more capable, and, frankly, more valuable.

    Even though I specialize in development more than DevOps, my knowledge of IaaS (Infrastructure as a Service) and IaC (Infrastructure as Code) has already helped me contribute more to my team. It’s given me the ability to make informed decisions about the best tech stack for a project, rather than just coding inside a predefined system.

    More importantly, it has opened the door to something bigger: I now have the skills to take an idea from nothing to a fully scalable web application in a week. IaaS makes it so easy that nearly anyone with the right skills can do it. This realization changed how I view job opportunities, because now, my experience actually matches those outrageous LinkedIn job posts demanding expertise across 20 different stacks and frameworks.

    It also made me realize something else—a modern application can be designed for a single developer, if you make the right choices. Why struggle with separate backend and frontend stacks when you can use a full-stack framework like Next.js and deploy instantly with Vercel? Instead of manually provisioning AWS resources, you can let Neon manage your databases and Prisma handle your queries.

    The industry is changing. The engineers who wear multiple hats—who can develop, deploy, and scale—are the ones who will stand out.

    The Skill Floor is Lower, But the Ceiling is Higher

    Self-taught developers need to position themselves above college graduates to compete. But that’s entirely possible. College wastes a lot of time to charge more money, but they call it being “well rounded”. People complain that hiring standards are rising, but they miss a key point: the skill floor is actually getting lower. Infrastructure as a Service (IaaS) has made it easier than ever to deploy and manage software that once required entire teams. Services like AWSAzureVercel, and Neon have simplified infrastructure to the point that small teams—or even solo developers—can do what entire departments once did.

    The web is evolving too. Full-stack frameworks are now the norm, not the exception. The dream of writing both client-side and server-side code in the same language? That’s almost expected now. And with deployment platforms like AWS AmplifyVercel, and Netlify, one-click deployments make infrastructure easier than ever.

    Take for example the fact that I can now build an entire secure, scalable web app – frontend, backend, databases, and file storage – all from my commandline using one language (TS), one framework (ex. Next.js), and one deployment / infrastructure service (ex. Vercel), without knowing anything about SQL or securing databases. Don’t know SQL? Answer: Prisma, or Drizzle. Don’t know how to deploy or configure a database? Answer: Neon. Need a coding partner? AI is the trend…

    As IaaS, IaC, and other DevOps services get better, the invisible boundaries between DevOps, QA, Security, and Software Development are fading. These roles are merging into one as managed infrastructure lowers the barrier to entry for teams.

    Companies Want Developers Who Can Do More

    Reddit user Synergisticit10 put it best:

    “Companies want to save costs. Full-stack engineer is 3 roles in one. DevOps engineer is multiple roles in one. Data scientist is multiple roles in one.

    To be able to effectively compete you need to be able to shuffle multiple roles.

    Companies want to automate, and if they have to hire someone, they want a person who can be paid for one salary and do three or four people’s jobs.

    This post could not be more correct. However, this is also a wake-up call for job seekers—being ready for these roles can be the difference between being employed and unemployed.”

    View on Reddit

    Simply put, companies expect engineers to be flexible. And those who can juggle multiple roles don’t just survive—they thrive. Some first-time hires who take on these responsibilities are pulling $120–150K because they can actually do the work, even without much prior experience.

    This isn’t just a new trend—it’s how small teams and solo developers have always operated. As u/Ucinorn put it:

    “This has always been the case in small teams or solo dev work. You’ve just lived in a bubble working for large firms.

    The industry is moving towards smaller teams: between AI maturing and hosting solutions getting better and better, building software and tooling in-house is getting more and more accessible. Yes, you will be expected to do more with less, but that’s how it’s always been.”

    View on Reddit

    FAANG and other large companies created an illusion of specialization that isn’t the norm outside of big tech. In reality, a single developer can build, deploy, and maintain an entire app. And in most workplaces, that’s expected.

    How to Stay Competitive in Software Development

    If you want to stay relevant, competitive, and above average, you need to adapt. The best engineers wear multiple hats—not just coding, but infrastructure, DevOps, automation, and AI. Here’s my advice:

    • Your competition is mediocre. Most people are comfortable with “good enough.” Don’t be.
    • Learn full-stack frameworks. They’re the standard now. Mastering them will give you flexibility.
    • Use modern tools. ORMs, Infrastructure as Code (IaC), and IaaS will make you exponentially more efficient. It’s also highly valued in the workforce.
    • Live between your code and the cloud. Learn how your applications interact with infrastructure—this is key to scalability. For example, Amazon S3 provides a scalable storage solution.
    • Don’t get lost in the weeds of niche programming. It’s endless and rarely leads anywhere.
    • Use AI the right way. AI can be a crutch, or it can be a tool to understand and improve your skills. Don’t just use it to write code—use it to improve yourself.

    What Happens When You Successfully Wear Multiple Hats?

    The idea that “Excellent software engineers wear multiple hats” isn’t limited to software—it applies to every profession. Those who can bridge gaps, connect disciplines, and see the bigger picture often become leaders.

    You don’t have to specialize in everything, but having a broad skill set makes you invaluable. If you work in a company that thrives on specialization—distinct frontend, backend, and DevOps teams—your ability to understand how everything connects makes you a rare and valuable asset.

    Want to stand out? Start here:

    At my company, everyone is full-stack. The culture was shaped by two senior engineers who had to do everything when the company started, and that expectation carried forward. While some of us lean toward cloud and others toward coding, the ability to contribute across the stack is non-negotiable—and in today’s job market, it’s a major advantage.

    Wearing multiple hats isn’t just about survival—it’s about opportunity. The engineers who adapt, embrace diverse challenges, and understand the full system will be the ones leading the future of software development.

    Adapt, learn, and push yourself. The industry is changing.


    Title inspired by u/Razvedka in their comment.

  • Introduction: The Truth About Becoming a Software Developer

    Introduction: The Truth About Becoming a Software Developer

    For years, society has drilled into us the idea that if you want to land a high-paying job, you need a college degree. Software development is no exception—at least, that’s what most people believe. But let me tell you the truth: a degree is not a prerequisite for becoming a great software developer. In fact, in many cases, it’s an expensive distraction that slows you down rather than helping you reach your goal.

    I know this because I did it myself. I spent a decade learning software development as a hobby, with no formal education in computer science. When I finally decided to break into the industry, I didn’t follow the traditional path of applying through job portals, writing cover letters, or waiting for a recruiter to pick me out of a pile. Instead, I reached out directly to the owners of a company on LinkedIn. No application. No drawn-out interview process. Just a direct approach—and I got the job on my first attempt.

    Now, I want to show you how you can do it too, in a fraction of the time. My goal with this website is to provide a clear, focused, and efficient roadmap to becoming a software developer without the unnecessary bloat of college. If you’re a doer, someone who learns best by doing rather than sitting in a lecture hall, this website is for you. I’ll show you exactly what to focus on, what to ignore, and how to position yourself to land a great job as a self-taught developer.

    The College Myth: Why You Don’t Need a Degree

    For decades, universities have structured their computer science programs in a way that prioritizes their financial gain over student success. A four-year degree spreads out knowledge that could be condensed into a year or two, making students spend tens (or even hundreds) of thousands of dollars on an education that often leaves them underprepared for the job market.

    Most college graduates leave school with a lot of theoretical knowledge but very little practical experience. They struggle to find jobs because they’ve spent four years solving theoretical problems rather than building real-world applications. Meanwhile, companies are looking for developers who can actually write code, build projects, and solve problems—not those who can recite algorithms they memorized for an exam.

    I joined a company with only three months of experience, no college degree, and I see new-grads struggling with simple software development. Their education lacked real-world development, engineering, and architecture. They lack grit and the wisdom to recognize pain points in code and system design. College isn’t a cure-all.

    Many computer science graduates are struggling to get jobs. It’s a competitive market, but salaries continue to rise each year. The general perception of a software engineering career is beginning to turn negative, which is actually a great opportunity for you. Fewer people entering the industry means less competition when you’re job hunting. Additionally, most applicants rely on weak college degrees, while you will stand out with real-world experience and a strong portfolio of projects.

    If you have the discipline and the drive, you can teach yourself everything you need to know in less than two years and land a well-paying job—without a degree, without massive student debt, and without wasting time on unnecessary coursework.

    The Fast Track to Becoming a Developer

    The key to success as a self-taught developer is focus. Colleges waste time by forcing students to take unrelated courses, dragging out the learning process to justify their costs. You don’t need that. Instead, you need a streamlined, no-nonsense approach that gets you job-ready as quickly as possible. Here’s how:

    1. Learn the Right Programming Languages

    • Start with Python or JavaScript—they’re beginner-friendly and widely used in the industry. I use JavaScript nearly every day at work.
    • Once comfortable with programming, move onto developing servers and microservices. Get comfortable with complex interprocess communication that stumps compsci graduates every day of the week.

    2. Build Real-World Projects

    • Theory alone won’t get you hired; you need a portfolio that showcases your skills. Thankfully, you will build this portfolio as part of your learning plan.
    • Create and deploy applications that solve real problems. You may even build a startup by accident. The goal of the final exam is to build a product that gathers a thousand users. This will land you your dream job immediately, and put you miles ahead of others.

    3. Master Problem-Solving & Algorithms

    • Learn data structures and algorithms, but only as much as you need to pass technical interviews and progress in your career.
    • Solve bugs on one or more open source projects to get comfortable with reading other people’s code and learn that other developers make mistakes just as much as you, it’s only your job to realize that those mistakes are common and how to find them.

    4. Create a Strong Online Presence

    • Contribute to open-source projects. This makes you look highly valuable, and the experience coincidentally makes you valuable in the process.
    • Write blog posts, document your learning journey, and share insights on platforms like LinkedIn and GitHub. Don’t write for your employer, write for your peers. Build connections, and help others learn.

    5. Network and Reach Out Directly

    • Apply for jobs the smart way: bypass traditional applications and go directly to hiring managers or company owners. The majority of applicants send hundreds of applications to the void. We’re not the majority, we will find ways to get in direct contact with the ones that need to hear about our valuable skill. I will teach you how to do this for free and successfully.
    • Engage in developer communities like Twitter, LinkedIn, and Discord groups. Joining a community to ask and answer questions was one of the keys to accelerating my skill unlike anything else.

    Your Future Is in Your Hands

    Becoming a self-taught developer is not just possible—it’s often a better path than the traditional college route. It requires discipline, focus, and a willingness to learn through hands-on experience, but the rewards are worth it. You can achieve in two years (or less) what many college students take four years (and thousands of dollars) to accomplish.

    If you’re ready to take control of your future, skip the unnecessary detours, and get straight to what actually matters, then this website will serve as your guide. This introduction lays out the fundamental steps and are all you need to do this, but the next posts will go into detail and provide real-world instructions that solve your very problems. Nothing vague or high level. No BS. Just speaking from experience.

    Subscribe and read the next posts before anyone else.