Welcome to Tech's Most Dangerous Blog. I'm your host, Terence McGhee, and I’m also one of the world’s greatest software developers.
I’ve been developing software for over 20 years and I’m very, very good at it. During this time I’ve written code that has been the foundation for million dollar companies and I’ve written code that should’ve had me flogged in the public square.
I’ve been paid well and I’ve managed to build a comfortable life for me and my family. Programming has been good to me, that’s for sure.
However, I paid a substantial price to achieve my high level of greatness. Through a series of events, I’ve recently concluded that I have a responsibility to those programmers that are coming after me to share the experiences and lessons that I’ve learned along the way.
I feel that it’s the responsibility of us that know the way to help others also obtain high levels of software skill and mastery.
As a wise man once said, “All that is necessary for evil to triumph is for good men to do nothing”.
I have experience dealing with many of the struggles and problems that those in my craft struggle with on a daily basis and up until now, I haven’t been sharing that information. I’ve been mostly content to remain in the shadows making my money and keeping my secrets to myself. Well, secrets is probably too strong of a word. I guess I should say that I’ve been keeping my methods to myself.
I think that now it’s time to change all of that. It’s time that I start sharing what I know.
I do have a responsibility to give back. I accept this. But I’m also the type of person that plays by my own rules (where appropriate). For example, conventional wisdom says that when you’re branding yourself, your avatar and any representations of your actual self should be a picture of you smiling. Period.
If you look around the Internets and social media at large, this is mainly what you will see. Well, as evidenced by the picture I chose to include of myself, I’m not following that road map. Why not? Because I’m not trying to become famous or popular and play a bunch of tricks to get people to like or accept me and my advice.
I’m only creating this site as a resource to help those that want the help. If you’re the type of person that will reject all that I have to share on successfully crafting software based on me not smiling in a photo, then fukk you, good bye and good riddance. I’m not here to play no games with you.
I have some very valuable insights to share, but I’m really only interested in sharing it with those who want it and can see its value. I’m not going to force myself or my methods on anyone or do any special politicking to gain your favor. If you don’t want the information, that’s definitely your right and your decision.
As far as I’m concerned, you can keep on producing low-quality software systems, that are hard to change, that are most likely always late, and probably always over budget. Do you.
I also tend not to use a bunch of euphemisms nor do I believe in making concessions so that everyone feels nice and comfy even when we don’t agree. I’m very direct and to the point when it comes to technology and I tend to speak in firm absolutes. If this bothers you, then you won’t enjoy your visits here. If on the other hand, you really want to advance your career and prefer it when peoople give it to you straight, then this site will be a great resource for you.
I am who I am and I talk (and write) how I talk (and write). That's not going to change.
So that sums up who I am. If you’re still interested after reading all of that, then welcome aboard and may the tides of exceptional software crafting be ever in your favor!!!
My purpose for investing my time and energy into this site is simple. I want to help others become successful and highly skilled professional software developers.
But why me? Isn’t there enough documentation out there right now about programming? Isn’t cyberspace already overflowing with excellent programmer resources?
Yes there are, of course, excellent resources out there. But documentation alone isn’t always enough. Actually, it’s rarely ever enough.
What’s actually needed is guidance.
My goal is to be that guiding light.
Building software is an incredibly rewarding occupation with many awesome perks and benefits, but it’s not all fun and games. There’s a lot of hard work, sacrifice, and frustration as well. I will teach you how to navigate the stormy seas of professional software development, by guiding you down the correct path so that your creations can stand the test of time.
Even though my goal is to help guide professional software developers, there’s still plenty here that can be applied to the hobbyist as well.
If you’re industrious enough to check, you will see that there’s no sort of ads or newsletters or promotional material anywhere on the site. I’m not trying to become famous or make money off of this. It’s single purpose is guidance. It’s my attempt to give back to the industry that has been so good to me.
But… I’m doing this in my own way. Everything here will be raw and uncut. I'm keepin' it 100 for all my real software ninjas.
If I don’t fail, then this site will be the kind of resource I wish I had when I started my professional development career.
I write from two different perspectives. The first and most obvious is a collection of technical writings that capture the many, many lessons I've learned on the craft of creating software effectively and efficiently.
The second category of writing includes the many social experiences that I've had to deal with along the way. You'll probably be surprised at what it's been like to be a Black man in the software industry for so long.
Feel free to email me with any feedback you may have regarding this blog (to congratulate or to hate, either way it's all good). You can also email me with suggestions for new topics, to ask clarifying questions, for advice, or to just say wassup!
The best way to reach me though, is on Twitter. I don't really tweet that much, but I'm on it every day.