You’ll Never Be the Best Developer

And that’s okay. You don’t want to be.


Let’s be honest; developers have a really great career potential compared to the effort it takes to become one. The salary is strong right out of the gate, and it increases pretty quickly compared to other professions. We don’t even need college anymore to be classified as a talented developer – and the rise of bootcamp classes and self-education courses have helped introduce a new form of education that programming seems to be pioneering. Does that mean college isn’t useful? Absolutely not – but do the cons (cost, length of time) outweigh the pros? Well, that’s a good question that I can’t answer.

As good as our careers are though – it’s nothing if not competitive. Is it tough getting a job? In a reasonably sized metro area, no it’s not – and working in more rural areas isn’t difficult either if you’re able to have solid internet access and are open to remote opportunities. When I say competitive, I mean mentally competitive. There’s always something new to learn – and that’s honestly a good thing; it prevents developer burnout and keeps us “hungry” for learning more. But it’s also taxing to think that we always need to be sharpening our skillset every single day. Not only do we have new languages, frameworks, tools, etc. coming out daily that we can learn, but when we see other developers (it doesn’t matter if you know them) using these tools and building cool things, there’s usually an accompanying thought of “man, I wish I could do that.” And then we start comparing ourselves to other developers in a fashion that already places us at a disadvantage, and that’s not healthy. Social media isn’t helping with any of this either; when we see our fellow devs retweet cool things, or we see the next hot dev thing on Reddit, most of us will have bittersweet feelings; it’s awesome to see our community progressing, but it’s just another thing that someone else can do that you can’t.

That’s where the title of this post comes into play. You’ll never be the best developer. And you know it too, deep down.


The best programmer in the world is someone you’ve never heard of. They’re not the people who speak at conferences, or lead the CERN or NASA dev teams. They don’t tweet about what they do, market their work on GitHub, or communicate in IRC or slack channels. They don’t have time to do that, because to be the best, they can’t stop – because if they stop, that means someone’s getting better. If someone’s getting better, then they’re not the best – so they keep going. It’s not healthy, and that’s what it means to be the best. Look at the athletes who have been dubbed #1 in the world at some point in time, and chances are they had severe physical issues later in life compared to the average joe. Think CEOs are the best? The divorce, suicide, and incarceration rates there are astounding. You don’t want to be the best.

Back to developers now; so who is the best developer in the world? Here’s the raw truth: he/she doesn’t exist. There is no best. Confused yet? Being the best is just a concept in our career (and our career isn’t the only one). There will always be someone better than you at something, and there’s absolutely nothing we can do about that.


So what are we supposed to do if we’ll never be the best?

You stop trying, that’s what you do. Do you stop growing as a developer, or trying to learn new things? Absolutely not – but let go of the thought that you need to be the best, because it’s never going to happen. Don’t even think about being better than someone else. Just aim each day to be a little bit better than you were the day before (and it doesn’t have to mean coding-wise). One of my favorite quotes seems very applicable here: “Every man I meet is my superior in some way, and in that I learn from him” (Emerson). Learn from everyone, because you can.

You’ve got a family, and friends, and non-coding hobbies. Go enjoy life, and stop worrying about being the best. Just try to be better instead. We can all do that.

What’s with the Name?

Update: As of April 2019, this site’s domain name has been changed from thesocietea.org to thecodeboss.dev, to be more in sync with my typical social media handle (@thecodeboss). If you would like know how this site got its original name before the URL change, read on.


The Societea. What does that even mean, and why is it the domain for some developer’s personal website? Ah but wait, where are my manners. Welcome wee lads and lasses, and prepare ye for a tale.

History of The Societea

A long, long time ago back in early 2013, I was employed at a place in Edmond, OK called Adfitech with a group of other cool developers. I’ve always been a big tea guy (don’t believe me? Check out where I buy my tea), and spread my influence a little bit to my dev buddies, at least enough to where we would all brew and drink tea while we worked. This went on for a couple months or so, and I brought up that we need to create a club or group of some sort, since we all drink tea.  We threw some ideas around and kind of came up with ADF TEA, with ADF being short for Adfitech.
This gained enough traction (keep in mind, we’re a group of 4 or 5 max) for Alex, one of our graphic designers, to create an actual logo for ADF TEA. It was pretty boss to say the least, but something still seemed too jagged about that group name. I brought up the fact that we’re kind of like a “society” of some sort since we all had pretty similar interests (tea, technology, video games, etc.), and when I chatted it around couple times, I started to realize the phonetic similarities between society and tea. So, I just dropped the -y off of society, and the societea was born.

The Societea

Why make it a website?

At this point, I was really the only one who was pretty excited about defining a name for our little group, but I rolled with it nonetheless. During this time, I was looking to purchase my very first domain for my first real public site. This was back in my pre-web-development days when I specifically developed for software applications, so I was a pretty big noob to say the least (I mean, I used GoDaddy as my domain registrar, as well as opting for shared hosting), and had no intention of dedicating a full site to myself; I just wanted something to start my presence on the internet.

I wanted to purchase aaronkrauss.com, but that was already taken – so I thought back at what other URL might fit, and I settled on thesocietea.com since that was the quasi-name of our little group at work. Well, for whatever reason, that domain was also unavailable, but the .org extension wasn’t. Little lightbulbs went off in my head, and I thought “Wait! We’re an organization (kind of) – so I can buy the .org!” And bam. I bought it.

The Original Site

When I first started working on this site, I used WordPress – but instead of developing anything, I selected a free theme and just added content (remember, web developer noob at this time). Like I said – I didn’t want to dedicate a whole site to me just yet, so I thought about what I wanted to put on this site. Obviously, tea was a given; I loaded it with some information and pictures about all different kinds of tea – but that wasn’t enough. I thought deep and hard about how to make this site worth it, and I thought back to one of my high school passions: video games. Not just regular video games though – playing video games with other people. Community gaming, like as in a LAN party.

I talked it over with my little group, and I was pretty impressed that everyone kind of liked the idea. I brought up all getting together on an evening at the 404 in downtown OKC for a night of video gaming and tea drinking – and everyone was actually going to do it. We were going to have a real game night – I was so pumped! I put up all the information and game ideas on the societea website, as well as linked it to a Google Calendar to track the event.

Well, life events happened and the game night didn’t end up panning out, and we never did schedule another game night, but that’s the story about how the societea came to be.

That Brings Us to Today

The site remained kind of dormant for about a year, aside from remaining a portal for some tiny personal projects I was working on, but after I started working at Staplegun, I gained enough front-end skills to really build a website promoting myself as a developer. I thought about dropping this domain since it didn’t really make sense anymore, but aaronkrauss.com still wasn’t available, and my girlfriend Layla brought up that I can’t drop it because it’s become a part of me over the past year. So I thought about it, and she was right – it was my first domain to ever buy, and the original mission was so representative of my interests. I was proud of what it was, and I hope to bring it back someday and really have a community video game night. So I kept it and rebuilt everything from scratch – and I plan to keep hacking on it for the foreseeable future. Because it is me. The Societea will always be a part of me.

My History with Beer

Seeing as how we’re approaching the New Year, I felt this topic would be perfect.

For those of you who know me, you know that beer is one of my major life passions. I find everything about it fascinating – its massive multi-cultural history, the brewing process, the countless beer styles, and the communities that revolve around it. Because I love it so much, I wanted to take a minute to talk about my history with beer and exactly where my passion for this malty beverage stems from.

My Beer History

I was born in Bitburg, Germany which is home to the cleverly-named Bitburger brewery whose pilsner you can find in near every liquor store these days. My Godfather worked for the brewery his whole life (he’s retired now) and my Godparents together ran the community events center called Jugendheim for their local village right outside of Bitburg. Living in such a tight-knit village, there was always fun family-friendly partying going on.

Having grown up in a true German culture and living there for 6 years really played a big role in my interest in beer. Even though I’m not blood-related to any of our German family, I absolutely feel a huge chunk of German heritage in my core.

Influential Beers

Two beers really shaped my history with beer: Bitburger Pils and Guinness Stout.

bitburger

I learned to like beer when I was almost 16 while we were visiting our German family for several weeks during the summer of 2006. Because my godfather worked at the Bitburger brewery, there was always an abundance of Bitburger Pils around, so I naturally chose to drink that. It honestly took some time before I acquired the taste for beer, but once I got it, I really started to enjoy it. But keep in mind – I’m about to go into my junior year in high school after the summer, which meant drinking beer was something I could only (legally) do while on this vacation. The real “appreciation” for beer wouldn’t come until much later.

That same summer of ’06, my mom, cousin, and I travelled to Ireland for a few days – the home of Guiness.

guinness

I didn’t know much about beers at all at that point, but my cousin told me that Guiness was what you drink in Ireland, so that’s what I ordered everywhere. This was my first “dark” beer, so naturally I thought it was more intense in every aspect than a “light-colored” beer – so näive. I did notice the smoothness of Guiness, which was a characteristic I really liked and one of the major ways I compared it to Bitburger. We were only in Ireland for 3-4 days, but that was enough for me to have several Guinesses and truly shape my history with beer. I still claim that Guiness in Ireland tastes much better than here in the U.S., but I don’t have much evidence to back that up.

I still like Bitburger Pils a lot, but I don’t get it too often in an effort to keep trying new craft beers. I don’t care for Guiness as much anymore (definitely in Ireland though), as I’ve become a fan of the more intense stout styles like imperial stouts, and imported Guiness just can’t compare on a flavor level there.

My Beer Appreciation

While I’ve liked drinking beer since I was 16ish (in Europe!), it wasn’t until right before my 21st birthday that I actually researched beer styles and learned the various types out there. Because I was almost legally able to drink in the U.S., I was really motivated to learn more about beer – and that’s basically the moment where I started appreciating everything about it.

I started to learn the various styles and the differences between ales, lagers, lambics, and even the mixed-styles of beer, and I became especially interested in brewing practices and chemistry too.

My favorite beer styles are the more malty beers such as stouts, porters, scottish ales, brown ales, and bocks, but I also have a big liking for wheat beers and pilsners which sit outside that categorization. I’m usually okay with high-hop beers like IPAs and several pale ales – but I like them a lot more if they have a higher ratio of beta acids than alpha acids (meaning they’re less bitter but more hoppy tasting). However, I always appreciate the quality of a beer for what it’s worth – regardless of if it’s my favorite style.

I engaged in some home brewing for a couple months earlier in 2015, and that was a super fun experience (ultimately it wasn’t my thing). I had never smelled fresh hops before, and now when I sniff a beer’s aroma (especially an IPA), I can always pinpoint its hop character. While I don’t homebrew anymore, going through that absolutely bolstered my interest in beer because it’s something that I’ve actually made for myself now instead of just drunken what someone else made (my homebrewed beers weren’t too shabby, either).

And that’s my beer history in a nutshell. I usually always rate my beers through Untappd, so feel free to check out what I’ve been drinking lately.

P.S. It probably needs to be said that while my appreciation for beer is through the roof, I hardly ever get drunk. I usually stick to just one or two beers during a session – I’m all about enjoying and remembering my beer experience, instead of following the YOLO philosophy. Quality over quantity. I save the drunkenness for special occasions.

Happy Holidays!

My Pokémon Dream Team

Attention all Pokémon masters, today I?m going to share the six Pokémon that would make up my absolute perfect, unstoppable dream team. Before I begin, however, I need to give you a few disclaimers:

  1. I?m going to draft and discuss my dream team from the standpoint of playing the Pokémon gameboy games, and not anything really related to the show or cards.
  2. I?ll only be referring to the original 150 Pokémon that can be found in the first generation of Pokémon games (Red/Blue/Yellow), and not any of the other bajillion that came after.

Now with that said, let?s get into the fundamentals of what makes up a dream team.

Stats

Obviously rule #1 for creating a perfect team is to have Pokémon that have good battle stats; what I mean here is high attack, defense, special attack, special defense, and speed. To break that down, here?s a brief description of each major stat:

  • Attack ? How much damage you do with physical attacks (tackle, body slam, rock throw, gust, etc.)
  • Defense ? How much damage you can mitigate from physical attacks
  • Special Attack ? How much damage you do with non-physical attacks (ember, water gun, razor leaf, psychic, etc.)
  • Special Defense ? How much damage you can mitigate from non-physical attacks
  • Speed ? Determines who attacks first on each turn (you?d be surprised at how important this one is)

Obviously no one Pokémon will be the best at all of these, but you have to know what type of Pokémon are best at what stats, and then try to use that to your advantage. For instance, Alakazam (psychic type) has a very high special attack and speed, so that makes it good at 1 hit KOs right off the bat; but if it gets hit even once by a formidable opponent, that?s going to do some major damage. Golem (rock/ground type), on the other hand, has low speed but an incredible defense, so even though it won?t usually go first on a turn, it can handle quite a beating to where it?s okay for it to attack second. You don?t necessarily have to have a team full of Pokémon that maximize each stat, but just make sure that your play style takes advantage of your Pokémon?s best statistics.

Types

There are many types of Pokémon in the first generation (15 to be exact), and you absolutely need to have a team that is diversified among these types. Yeah, sure, you could have a team full of fire Pokémon and maybe do okay in the game, that is, until you fight a Blastoise (water type); that Blastoise will put your fire out in no time, and you?ll be left crying on the sidewalk next to the Pokémon center. Each type of Pokémon has its own strengths and weaknesses towards certain types (except for normal types, which are not super-effective against anything), and you need to pick and choose a team that is able to somehow take the advantage against each type of Pokémon. For example, having a team consisting of a water, fire, grass, flying, rock, and psychic type Pokémon is a rock-solid team right there. Even though those individual types have their own weaknesses, your team is practically guaranteed to have at least one Pokémon be super-effective towards anything that your opponent can throw at you.

Trainer Experience

Yes, I?m sorry to say that even you as the trainer have to put in some mental effort to make sure you become the ultimate Pokémon master; you can?t rely only on your Pokémon. What I mean here is that you can have a super-charged team all day long (e.g. Charizard, Blastoise, Venasaur, Zapdos, Dragonite, and maybe even a Mewtwo), but if you?re not aware of what your opponent?s Pokémon types are or what their general stat breakdowns are (e.g. high attack, low speed), then you might be in for a tougher time than you think. Most NPC (non-player character) trainers don?t seem to be too smart in this area either, so you can usually slide by them without knowing too much about this, but gym leaders will take you down if you?re not careful. Even if you manage to make it past the gym leaders, don?t even think about battling the Elite Four until you become well versed in the general Pokémon knowledge discussed above.

Dream Team

Now that we?ve got the fundamentals out of the way, we can step into what I would consider to be my perfect dream team. Some stats that I particularly value are Attack (both Attack and Special Attack) and Speed. My personal play-style is to try to do as much super-effective damage as fast as I can, with a goal to never let my opponent even get a chance to strike. So, here goes:

Charizard (Fire/Flying)

Fire Pokémon are pretty uncommon to come across in your travels, so I typically opt to get the fire Pokémon choice right off the bat. Fire Pokemon can rip grass, bug, and ice types to shreds, and Charizard has got a high speed and special attack to typically make this happen in just one hit. Plus, its secondary flying type allows Charizard to learn the necessary HM 02 (Fly), as well as protects it from those pesky ground-type moves.

Lapras (Water/Ice)

LaprasI typically like to choose Pokémon to raise that have at least one evolution, but I make an exception with Lapras. This Pokémon is such a beast with its high HP, high defense, and high special attack, it?s hard to deny the pure power of this ice and water machine. Because surfing is practically essential once you hit mid-game, you need to have a water Pokémon on you at all times; plus, they?re a staple type that is good against fire, rock, and ground, and Lapras? ice-type help make it also strong against grass, ground (again), and dragon (one of the two types that are super-effective here).

Gengar (Ghost/Poison)

GengarGhost Pokémon are the only type in the game that are completely resistant to two Pokémon types (normal and fighting), and Gengar might as well be the king of ghost types. Gengar has sick special attack and speed stats, and although it?s not a psychic type, it can still learn psychic moves which are extremely powerful against fighting and poison type Pokémon. My favorite thing about Gengar is that it is one of the only Pokémon that can learn the Hypnosis/Dream Eater combo; dream eater is the most powerful psychic move, and if that?s not awesome enough, it also replenishes Gengar?s own health in the process (the only caveat is that the opposing Pokémon has to be asleep!). On top of all this, Gengar can still obviously learn ghost type moves which are effective against ghost and psychic types.

Machamp (Fighting)

MachampMachamp is a fighting machine; it has an incredibly high attack power and HP combined with a decent enough speed to usually attack first. Fighting moves work very well against ice, rock, and normal types (which are very common), and Machamp gets a 1.5x damage boost for all fighting moves since that?s the type of Pokémon it is. Machamp can also learn most ground and rock type moves, which are both physical attacks and thus can make good use of Machamp?s high attack stat.

Raichu (Electric)

RaichuI know what you?re thinking: what about Pikachu? No true Pokémon trainer is complete without Ash Ketchum?s favorite! I know, I know, but in the games, Pikachu just doesn?t make the cut; however, its evolution, Raichu, all-be-it a chubby mouse, is crazy fast and has an intense special attack stat with which it can throttle opponents. Raichu?s specialty is obviously electric-type moves, and similar to Machamp, it gets a 1.5x damage boost for all moves of this type. You probably don?t even need that boost though if you play your cards right, because Raichu can usually take down water and flying type Pokémon in a single hit. Raichu?s pure power is best seen when facing an opponent like a Gyarados: Because Gyarados is both water and flying type, Raichu?s moves hit it for 4x damage instead of the usual super-effective 2x. Stack this with the 1.5x multiplier that it gets from being pure electric type, and you get a whopping 6x damage from a single thunderbolt.

Dragonite (Dragon/Flying)

DragoniteI usually roll through most of the game with just 5 Pokémon until I get close to end-game (it just helps to make sure my Pokémon get more experience divided among them); that sixth slot is usually reserved for my ?fun? or ?all-around? Pokémon, and a Dragonite fits that bill perfectly here. Easily the game?s most powerful dragon-type, Dragonite is decked with a high attack, defense, and HP to take down any opponent. Dragon type moves are one of the only types that are good against other dragon types, and they?re fully effective against all types of Pokémon (no damage reduction here!). On top of this, dragon types are resistant to some of the most common Pokémon types (fire, water, grass, electric), and Dragonite itself is very customizable because it can learn a bunch of different TMs and HMs. Plus, the leader of the Elite Four, Lance, is a dragon Pokémon trainer, and it just feels so sweet to beat him at his own game!


So there you have it, my Pokémon dream team. With this spread sitting in the dugout, it?s pretty difficult to lose as long as you know what you?re doing. For all you critics out there though, remember to keep in mind that I?m only referring to the 150 Pokémon in the first generation, back before dark, steel, and fairy were even viable Pokémon types. My dream team would definitely change a bit in future generations with the introduction of these types. So what are your favorite Pokémon? Think you could beat my team in a battle? Comment below and keep this discussion going!

Brief Blogging Hiatus

Hello world.

It’s been about 2 months since my last blog post, and I had been making it a goal to post about every 2-3 weeks. I was keeping up with that for a few months (surprisingly), but I’ve taken a little break from blogging. I know that no one regularly expects content from me, which is nice, but it’s been on my mind that I haven’t posted lately – which is a little bit stressful to think about. Honestly, I’m still hacking away at awesome things on a daily basis, but I’ve found some really neat new hobbies which is where I’m spending more of my free time right now (as well as rekindling old hobbies).

Some of these hobbies include:

  • Minecraft
  • Learning to Sew
  • Origami
  • Reading about beer and the brewing process, and hopefully homebrewing soon
  • Learning more about tea and its brewing process
  • Building Circuits
  • Walking (preferably with my dog)
  • Spending more time with people close to me, doing fun and awesome things (like video games).

So that’s my excuse for not blogging as much. I certainly have time for it, but right now, I’d rather fill that time with some of these other hobbies – I’ll get back to it before too long though, because I have a long list of things that I want to write about.

Thanks for keeping up with me this far!

Where I Buy Tea

I have been drinking tea for about 6 years now, and the quality of tea I have chosen to drink has risen throughout those years. I have moved from purchasing local grocery store tea bags to buying “whole leaf” tea that is still in tea bags, all the way to purchasing loose leaf teas by the ounce at local tea stores and Teavana (Amazon, too!)

However, as I have done more research about teas, I have learned that certain teas are kept in storage better than others, and some teas are freshest only in the first year of their life. That means from the moment they’re picked, they will only have that superior magnificence for a single year. Since the vast majority of teas (not tisanes) are produced in Asia, it typically takes a while before the new season’s tea leaves are shipped in great quantity to the United States and other western nations.

I have never actually seen a tea company, be it a commercial tea bag producer, quality loose-leaf tea retailer like Teavana, and other online tea shops, disclose when their teas were plucked and/or shipped to them. However, I have found one tea retailer that goes above and beyond their call of duty to truly try to acquire the freshest and highest quality of tea leaves, and fully disclose all information related to tea quality:

Tea Trekker

Mary Lou and Robert Heiss are the owners of this Massachusetts tea shop, and have been in the tea business for decades. They have established personal relationships with tea farmers in Asia and frequently travel to see the new season’s pluck, as well as create more relationships with new tea farmers. This enables them to source incredibly high-quality teas and have them shipped to the United States very soon after plucking, which allows tea enthusiasts like me to purchase and drink them while knowing exactly when and in what region the tea leaves were plucked. This is perfect and almost necessary knowledge when trying to plan how long each tea can be stored in order to brew them while they are in the freshest state.

The Heiss’ also have a wonderful book, which much of The Societea’s tea data is based off of:

The Tea Enthusiast’s Handbook

I have read this book front-to-back at least twice, and use it often as a reference. If you currently drink tea and wish to learn more about it, and possibly purchase high quality tea as well, then I highly encourage you to check out this book. Beware though, this is a no-fluff book which contains rock solid facts and detail; make sure you’re in a mental state that’s ready to learn!

So for those of you who have purchased tea in the past and are curious as to where a high-quality tea seller is, look no further; Tea Trekker has got you covered.