The World of Jay Little
Goodbye Windows 10 : Viva La Linux!
7/31/2016 12:25 PM
Yesterday was a red letter day for me. Two decades after using Linux for the first time, I have finally managed to fully convert all of daily driver devices to boot Linux. Any of you who know me, know that for years now I've been running Linux natively and in a single boot configuration on whatever primary personal laptop I happened to be using at the time. You might also know that just over a year ago I managed to get my wife using it on her laptop. But I never fully converted to Linux. My dirty little secret was that for years I have run a desktop as my so-called server and that desktop has always run Windows. Once upon a time I even went so far as to run some version of Windows Server on there, but in the last few years it was dialed back to just running client versions of Windows.

"But why?" I can hear you asking. That's a great question. Honestly? I was lazy. When I built my current desktop machine in November of 2014 I had originally intended to load it up with Linux. I did exactly that. But lo and behold my luck was poor as this was the first machine I had built in 11 years and I had received a bad motherboard. The end result of this was that after plugging more than two USB devices in, the system would become very unstable. I had no idea whether I had a hardware or a software problem. I decided to narrow that problem down by installing Windows. After installing Windows, I found that I had the same issue only there it required one more USB device to recreate it.

Nevertheless after this discovery, I exchanged the motherboard for a new one and all of my problems were solved after installing it. However at this point, I was very frustrated with the process and since Windows 8.1 was already installed and all of my files were sitting on NTFS partitions (over 2 terabytes of files) both internally and externally, I decided to stick with it. In time I came to rue this decision especially after I began to be subjected to the nonsense that is/was the Windows 10 forced upgrade campaign waged by Microsoft.

Eventually as a result of that campaign, I upgraded to Windows 10. To be fair Windows 10 does offer some improvements but overall, I have no love for it. Technical considerations aside, Windows 10 represents the height of arrogance from the operating system division at Microsoft. It is their way of attempting to change the rules for billions of users under the premise that anything offered for free is allowed to fill the role of a trojan horse. Does that sound extreme? I'm sorry, but truth is generally best served black without any additives. To be clear, I'm not claiming Windows 10 spies on you. I'm not claiming it's a security risk. All I'm claiming is that the tactics associated with the forced upgrade to Windows 10 have eroded enough of what little trust I had left in Microsoft that I'm no longer willing to trust their operating systems in any significant way. News of antagonistic changes made to Windows 10 Pro as part of the so-called anniversary update became the straw that broke the camel's back. While reading/raging over a story covering those changes that I saw posted on reddit Friday morning I thought to myself, "Why the fuck do I even care? Why haven't just installed Linux on that desktop and moved the fuck on already?"

Nevertheless I obviously knew I could do everything I needed to do on Linux. I had been planning on it for years. I had slowly converted all of my workflows and server jobs to use utilities and programs that also existed in Linux over the years. The only thing stopping me was that I really didn't want to spend my time moving around a couple terabytes of files (mostly my retro gaming and retro software collections) as I wasn't going to seriously consider running a Linux OS and storing my files on a NTFS filesystems. It is a massive pain in the ass. But I finally started consolidating those files on Friday morning into a single NTFS partition and by Saturday morning I was ready to install Linux. After installing it, I created my new ext4 partitions and copied the files off the NTFS device. As of this morning, everything is now back up and running again.

It occurs to me though that the problem I had with Windows 10 is demonstrative of the core risk we take when using proprietary software. We are in essence putting our fate into the hands of others. Once upon a time many years ago, I argued on this very website that open source software couldn't ever live up to the expectations of end users because there was no financial motivation present to force the authors to take end user feedback seriously. But I realize now that the core mistake I made was in confusing software that was free as in beer and software that was free as in freedom. Windows 10 is/was an example of software which is free as in beer. It cost me nothing to acquire, but did nothing to enhance or promote my freedom as a user and offered me no real control over my end user experience. Whereas Linux is an example of software which is free as in freedom. Though in this case it cost me nothing to acquire, the hood is unlocked so I can tinker. I can dive as deep as I'd like and configure the system to function however I see fit. I can't do this with Windows 10 mainly because Microsoft doesn't consider it in their best interests to let me.

Does this mean I'm against proprietary software? No. I write proprietary software for a living and will likely continue to do so short of a career change. Besides, I'm an indie and retro gamer and the vast majority of software in my collection is proprietary and closed source. But at the end of the day a video game isn't a threat to my freedom as a user. It is merely a source of entertainment that I can choose to take or leave without any true consequences. Operating Systems on the other hand are a different story. Which OS you choose has a ripple effect on nearly every other subsequent software choice you will make. It's a massive decision and its not one to be made lightly. So it's a real shame that so many do take the decision so lightly.
The Death of the Meritocracy
5/7/2016 12:38 AM
Before you read this post, I urge you to read through my resume. When you do take particular note of how long it takes me to move from employer to employer. You'll notice that I don't spend too much time in any one place. Why is that? I've been thinking a lot about that as of late, and I have some thoughts that I'd like to share with the world at large.

To put it arrogantly: I'm very good at what I do. I have knack for consistently driving to the heart of problems and providing working solutions to those problems in relatively short order. Software development just so happens to be my preferred tool when it comes to providing solutions. I'm not above providing solutions that don't utilize software, but generally software solutions are the kinds of solutions I provide. I attribute most of my talent to the fact that I was lucky enough to be born into a family where I was exposed to technology at a very early age, though not too early. I won't bore you with the details as they have been covered in previous posts, but I got my first computer, an Apple IIe, at the age of six. I began to learn how to program at the same time thanks to a BASIC book my father, who is also a software developer, bought for me.

I thrive in an environment that provides technical challenges. At my most trying professional moments, it is the lure of the unconquered challenge that gives me my second wind. I hate to dismiss, avoid and hide from problems. I enjoy tackling them head on. I also enjoy dealing them quickly and efficiently. I believe that software developers exist for a single purpose: To increase the efficiency of their would-be users. Anything else is fluff to be ignored. This approach has led to a weird combination of beliefs ultimately resulting in a professional ethos that is hard for many to understand. Rather than delve further into those details though, I'd prefer to return to the original discussion.

Did my previous employers fail to provide me with technical challenges? They did not. In fact I have never had an employer or a client who has failed to challenge me in some notable way from a technical standpoint. Unfortunately what all have ultimately failed to provide, with the exception of one, is a true meritocracy. According to the primary definition of meritocracy is "an elite group of people whose progress is based on ability and talent rather than on class privilege or wealth." Talented people really want to be recognized and appreciated. They also want to make a positive difference. But what few if any of us are willing to tolerate is being lorded over by those we consider to mediocre.

Therein lies the crux of my problem. I have worked at a number of places over the years and other than working for myself, no place could be considered a meritocracy. Whether the employer/client was big or small the end result was the same: People were more likely to recognized and rewarded on the basis of politics rather than the basis of merit. Sometimes people are not rewarded at all.

I've lost count of the number of times a manager has told me during a performance review: "I know you deserved a higher rating than this. But the company restricts how many people we can give the top rating out to and unfortunately you didn't make the cut." Whereas at the same time, my mediocre co-workers tend to receive similar performance reviews without the same caveat, despite the overwhelming obvious gulf of difference in performance. Each and every time I experience this at an employer, it effectively marks the beginning of the end for me. To be told that I deserved better but received something less repeatedly has worn me down over the years. As soon as I hear it, I almost always start looking for another job out of instinct.

Keep in mind, I don't just provide more results, I generally provide better results. Are there developers out there that can produce better quality solutions than me? Sure, but they are far and few between. Thnakfully I have been blessed enough to work with more than a few of them over the years as you can learn a lot from these people. Are there faster developers? Yes, but that answer depends entirely on how you measure speed. If you measure what developers can produce in an hour, there are faster developers than me. But if you measure what developers can produce in day, a week, a sprint or even a year you'll find nobody faster than I. My speed is consistent and something I bring to bear every single day. It's not the top speed out there, but it's faster than most and can be maintained indefinitely. A privileged upbringing and a relentless desire for practical self-improvement are at the heart of these results.

Yet here I am, detailing the fact that in my career (and I suspect the careers of many many others) there is no such thing as a meritocracy. Perhaps this environment exists in Silicon Valley somewhere, but back here in good old South Carolina I have yet to experience it. There are no words to describe the disappointment a talented person experiences when they realize that they have become a victim of corporate homogenization. What is that? I am more than happy to explain.

Nowadays its trendy for software shops to tell their employees, "We have the best developers in the country!" Though it is decidedly not true given the wide range of actual capabilities, it seems to sell with the masses. People have an inherent desire to believe that they are part of something great. If an employer keeps enough talented people around, they can even manage to make the illusion persist for awhile. But that's the heart of the problem. At some point instead of just serving the kool-aid, companies inevitably end up drinking the kool-aid.

I refer to this trend as "Getting high on your own supply". I have worked at so many places over the years which suffered from this syndrome that's it's just kind of sad at this point. Nevertheless once a shop drinks the kool-aid here, the death of the meritocracy is all but assured. Talented people stop being recognized and rewarded because the assumption is that everybody is talented therefore talent is no longer a unique asset but an assumed prerequisite that everybody brings to the table. When that becomes the case, talented people are marginalized and when that happens: They depart.

This trend is more prevalent in medium and large employers than it is with small ones. In a small startup situation, it's virtually impossible to homogenize employees because transparency is naturally at its highest possible point. But once an organization grows, the people at the top of organization inevitably become more disconnected from the people in the trenches. They lose whatever insight they used to have and are left only with their preconceptions and whatever their direct reports are willing to share with them.

In any event once the talented people are driven out of an organization, the organization will begin to flounder. Depending on the size of the organization and the state of things in general, it might take years for the effects to become apparent. But make no mistake: Once an employer has been marked in this sense, it is hard to roll back that perception.

Talented software developers are a rare commodity nowadays in terms of quality, speed and consistency. Can those exceptional traits be taught? I remain skeptical, though admittedly I am unqualified to argue the point. Nevertheless, drawing and retaining talent is often the difference between success and failure for a software development shop. The sooner the MBAs of the world get acquainted with this reality, the better off the rest of the world will be.

In my preferred system what would happen to the less talented software developers out there? They will either improve or go away. A meritocracy appeals to talented people because it promotes the concept of natural selection and it does not tolerate a trend of failure. One of the side effects of these kool-aid shops is that the less talented developers will inevitably begin to overestimate their own skills, though frankly they were more than likely doing that already. The basic take away here is that if you refuse to provide your employees with detailed and accurate feedback they will respond in kind by refusing to provide you with good work whether they are talented or not.

When I worked for myself, I did not have any of these problems. My merit was proven each and every billable cycle when my clients chose to pay me and I continued to provide them with the benefits of my labor. In retrospect I really miss working for myself. Sadly my skills in business development are stunningly lacking compared to my skills in software development so once my big client ran into serious issues, it was all over but the crying. Despite those sobering facts, I miss it. I really do. That doesn't seem like it will change anytime soon either.
Search:   [Rss]   [Email]