<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Joseph Allen Mendoza on Medium]]></title>
        <description><![CDATA[Stories by Joseph Allen Mendoza on Medium]]></description>
        <link>https://medium.com/@mendozaallen?source=rss-b305d97bcd71------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*j5eJGOwr7JgdUoaFDvM4rw.png</url>
            <title>Stories by Joseph Allen Mendoza on Medium</title>
            <link>https://medium.com/@mendozaallen?source=rss-b305d97bcd71------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sun, 15 Nov 2026 04:39:23 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@mendozaallen/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Being a Master of None in Today’s Tech World]]></title>
            <link>https://mendozaallen.medium.com/being-a-master-of-none-in-todays-tech-world-c645ce27a353?source=rss-b305d97bcd71------2</link>
            <guid isPermaLink="false">https://medium.com/p/c645ce27a353</guid>
            <category><![CDATA[startup]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[technology]]></category>
            <category><![CDATA[ruby-on-rails]]></category>
            <dc:creator><![CDATA[Joseph Allen Mendoza]]></dc:creator>
            <pubDate>Sun, 06 Aug 2023 21:44:29 GMT</pubDate>
            <atom:updated>2023-08-06T21:44:29.497Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ESlAGaVum3K1LyTa5ndFnA.jpeg" /></figure><p>Imagine you are running a company and want to hire your star engineer, would you hire a master of Ruby on Rails with over 6 years of experience doing only ruby-based projects, or someone who hopped from .NET to Java to Python to Ruby on Rails in 6 years. This brings us to the question if a jack of all trades, master of none is more valuable than a specialist. In this short article, I will explain the pros and cons of being a jack of all trades and my personal experience being one.</p><h3>About me</h3><p>So a quick background about me, I started as a .NET developer and utilized C# and Azure DevOps for about 1.5 years. Got my Microsoft C# Certification, then jumped to Java (LOL). Worked on Java Springboot projects which use Angular, React, Firebase, and React-Native, for about 3 years. Also dabbled in mini-projects with Python and Solidity (yes, at some point I created a meme coin which I will not disclose here as it defeats the whole purpose of anonymity). And now at present, I am currently using React, Ruby on Rails, Docker, and Kubernetes.</p><h3>WTF am I doing?</h3><p>As you may have read, I have jumped from framework to framework, programming language to programming language in 6 years, and at some point I questioned myself, WTF am I doing? My batch mates from my .NET career all have a stable Microsoft path ahead of them. They are easily the 1st or 2nd choice in any job opening because of their C# and .NET certifications. So why did I shift from .NET to Java? I was offered a chance to pioneer a startup company in the Philippines and the main tech stack was Java Springboot. Of course, I wanted to be part of a startup and experience zero-to-one development rather than a boring stable career. Anyone can be an employee, but pioneering a startup is a once-in-a-lifetime opportunity (until I start my own).</p><h3>Transitioning</h3><p>Transitioning from one framework to another was a rather fun task. It might look easy because, in reality, anyone can program in different languages through the assistance of the internet<em>(Stackoverflow please fund me)</em>. But I think that’s the same as creating a college project<em>(Don’t get me wrong, there are industry-level college projects)</em>. There’s a difference between producing a college-level code and an industry-level code. The latter requires a deeper understanding of the framework, language, and system as one mistake could cost millions. As professionals, we have to produce high-grade code using the industry’s best practices for the given framework and programming language. This goes to show that while transitioning to the new language itself is easy, it may prove to be challenging to adapt to the industry’s best practices.</p><h3>The Bad</h3><p>Being a jack of all trades, master of none has some downsides to it. The most obvious one is that <strong>YOU ARE NOT A SPECIALIST</strong>. A 3-year .NET expert can produce the same high-level code as a 10-year .NET expert. But I guarantee there will come a time that the 3-year dev will encounter something new, something unheard of, and it may or may not challenge him/her, but one look from the 10-year dev and boom, solved. The thing is, the quantity of their experience in that certain field is so huge that it will always give them the edge over newbies no matter what.</p><p>Think of it this way, Kawhi Leonard is an NBA veteran with over 11 years of experience, while Jason Tatum is a super rookie. Although Jason is physically better, younger, and has better performance, Kawhi can defend him altogether because he’s seen those moves before, somewhere in his 11 years of playtime. Super rookies are like super engineers with lots of potential at a young age, however, they are like unpolished gems that will truly shine when they learn from the experienced.</p><h3>The BEST</h3><p>As a master of none, I can confidently say that the most powerful tool in my arsenal is neither React, nor Ruby, but my problem-solving skills. I’m beginning to realize why our University thought us minimal programming and a LOT of problem solving such as Discrete Mathematics, Calculus, etc.</p><p>I remembered one time when I asked my manager for some pieces of advice on how to become a <strong>super engineer</strong>, he said these 3 things that will forever be engraved in my mind:</p><ol><li>The rate of how you learn should be FAST.</li><li>You should have the mindset of a super engineer. Read books about how a super engineer thinks etc.</li><li>A super engineer can solve ANY problem and is not typically bound by a programming language.</li></ol><p>Now I want to focus on number 3 as it is the most relevant for this article. Programming languages are generally like languages. They are just methods of expressing what’s on our minds/brains. It’s hard to learn and adjust, but essentially, the most important thing is having something to say first, then figuring out which language to use.</p><blockquote>Alan Turing, the father of Computer Science, built the bombe from zero to one to decipher encrypted messages from the German Enigma Machine during the second world war. His main tool was his problem-solving skills, analytic computations, and algorithms.</blockquote><p>A master of none typically knows the pros and cons of each tech stack, framework, and programming language, thus their view on technology is objective compared to specialists. As far as I know, if you want to be a good employee and reach the senior engineer/tech lead level, it is better to be a specialist. But if you want to go beyond and say become a CTO, Engineering VP, etc, a jack of all trades might be a better path as these roles focus on the surface level of the tech stack such as feasibility, cost, efficiency, design patterns, and not deep dive into the code as much.</p><h3>In Conclusion</h3><p>Being a jack of all trades or a specialist is both good paths to take as the modern tech world is in dire need of both. However, we must always take into consideration our strengths and weaknesses. Some do not adapt well to change, while others are super passionate about their current tech stack that they don’t want to shift. As for me, I found my passion in Rails and might stick with it for a while, or until the next one comes…</p><h3>Glossary</h3><p>Super Engineer — does not necessarily mean the highest experience, nor the highest potential. A super engineer is the combination of both talent and hard work, with the addition of passion and hunger for learning. The best analogy for this is none other than Kobe Bryant.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c645ce27a353" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>