I have spent the past couple of hours watching a snowy football game, reading Eugene Wallingford’s blog, listening to music, and drinking hot chocolate. I would like to make a side note that my hot chocolate is now cold due to being engrossed in everything I have been doing. Fortunately, I have reserves. In a particular post on my former professor’s blog, I came across this line:
Despair and anger are common emotions, and they sometimes strikes us hardest when we know how to solve problems in one way and are asked to learn a new way to think and do.
I am frequently intrigued by the emotion of anger. I happen to be stubborn, temperamental individual. However, I also believe my rage is an intrinsic part of who I am. The quote above struck a note with me. When something aggravates me, I become hellbent on ridding myself of the problem. The solution can take a variety of forms, but the most common is to dominate the problem into submission. Running away or taking an alternative route rarely occurs to me. I am sure some of my success in school and learning new things has been driven by the anger Wallingford mentioned. As I start into a simple task that quickly becomes far more difficult than anticipated, rarely do I cut my losses to go another direction. I become more engrossed with the problem because I want to figure it out. It is an insult if I cannot complete it.
Now I return to my regularly scheduled Duke basketball game, more blog reading, and a database upgrade.
I have spent my life learning to be the best at the things I do. It is a constant and ongoing effort. I started by having an initial destination, but no way to get there. I learned to drive. Then as I discovered more destinations I wanted to visit, I learned to become a better driver. I wanted to be able to get there as soon as possible. Sometimes that meant taking new routes, driving over different terrain, or in extraordinary weather. I became a skilled driver.
Eventually, others wanted me to take people with me to my desired destinations. However, they were not the driver I was. They did not know the way. They had been told of the next grand location, but did not understand the path to get there. I was capable of figuring it out. Thus, I was asked to help them get there. Unfortunately, they quickly fell behind me and lost the path. I needed them to complete my journey. I found myself going back to look for them and point them in the right direction again. Showing them the way was not enough.
It turned out the other drivers did not know how to drive as well as I did. They could not follow me. Some of the paths I chose, they could not traverse. Not only did they need to know the way, they needed to be taught how to drive too. I do not know how to teach people to drive. I only took the time to learn how to drive myself. Since teaching people how to drive is becoming one of the things I do, I need to learn how to do it as best I can.
Leading people requires far more skill than making the journey myself. I have to understand the driving skills of each driver following me. Can they drive in rain? Can they drive on gravel? What kind of car do they drive? Is it a front-wheel drive vehicle? Is it a 4×4? This determines the route we can take. Some locations cannot be reached without teaching them new driving skills. We cannot reach an isolated mountain location with only a gravel road as an entrance unless the drivers are capable of navigating mountainous terrain on gravel roads. If they need to learn the skill, I need to know how long it will take them to learn it. Is it reasonable to reach a destination over a mountainous gravel road in three months if they do not have any experience with gravel or mountains? Perhaps I need to take them to slightly less desirous location that only requires the ability to drive on gravel. This would allow me to spend three months making the journey while teaching them about gravel roads. We can follow it up with a second journey to understand what it is like in mountains. It may require us to take six months to get to our final destination, but it may prevent a bad accident along the way. The bad accident could set us back even further if they are kept in a hospital for twelve months. There is a lot to consider when leading others to a destination I could reach myself without much fuss.
Why do I need to lead others to a common destination? I can not do everything by myself. There simply is not the time. If we are transporting resources to the new spot, I may have to make many journeys to get everything to the final location. By then, it could be too late. If I lead others, they can help transport. They could also begin to make trips without me. Maybe someday they would lead others. Our ability to overall productivity increases as I teach others my craft.
I wanted to go somewhere. I learned to get there. Others want the ability to get to the same location. I need to understand their skills along with how well they can learn new skills to plot a course we can all take to accomplish the journey in the shortest amount of time possible. Learning to lead is not easy. I suspect I will be working at it for a long time. After all, I spent 23 years learning to drive, and I am still learning new techniques to this day. The best advice I have so far is tell people where you are going, tell them how you intend to get there, and then help them get there.
Side Note: I am a software developer. I currently am leading a team of six to eight developers depending on the day. We need to learn the latest technologies and methodologies to produce quality software in a cost effective, yet timely, manner. All that being said, I have been playing a lot of Gran Turismo 5 lately on the Playstation 3. Thus, I spend a lot of time analyzing how I and others on the road drive. I thought I would combine the two to explain my latest feelings and insights. No matter where you go in life, never forget how you got there. I got to where I am in life by working hard and playing harder. I enjoy making software, but I will always make time for playing videogames.
I grew up to the phrase, “Never say never.” I grew up reading fantasy and science fiction books and watching action movies like any other boy. However, perhaps more than the excitement, I loved the story. When I got to school, I did not stop reading or watching movies. I also began getting into role-playing games (RPG’s) on both the console and the pen-and-paper variety, think Dungeons & Dragons. While those are a little beyond the norm, I took it a step further. I paid attention in history class. I heard about Alexander the Great and Julius Caesar. I read about Napoleon and General Eisenhower. I watched documentaries on Ulysses S. Grant and Robert E. Lee. I grew up believing a person could be great. I believed I could be one of them. Then I got older.
I was expected to find a way in life. I could not continue dreaming of being the next Michael Jordan, Steve Young, or Andy Roddick. I had to grow up. I was never very keen on the idea. By this time, computers had become an avenue to more stories and dreams. I began to pursue basic web development, and then on to programming. I could not decide whether I wanted to make games that future generations could love or websites which would open the eyes of others. I began walking down that path. On the side, I kept myself grounded with history classes. They were a constant reminder of where I wanted to be. I wanted to be in the history books.
I graduated college and got a job. I got told, “Welcome to the Real World.” It turns out it is not much different than whatever world I was in before. People have expectations, and it is my responsibility to meet them. That means even if I do not like it. I am very independent. I do not like someone else telling me what to do. At the same time, I want people to listen to me. I used to yell louder in hopes I could drown out the others until they had to listen to me. Sometimes I still do. With my job, I wanted to write code. I wanted my code to change the world.
My boss recently shifted me into a new sort of role. I coordinate developers literally on the other side of the world as we work on an application used by people in the same city as me. The new role requires getting up before the sun because people on the other side of the world work very different times than we do here. I am told it has something to do with an 11.5 hour timezone difference. I also spend most of my days in meetings. Some days I spend the entire day in meetings. Each meeting has people asking me to get work done. I struggled to understand how I was suppose to get work done while I was constantly in meetings. I wanted to be writing the code rather than sending it off to others. I could do it better. I yelled a little bit.
I still do not know whether I want to continue pursuing the road I am on or return to the fork in the road. However, in traveling down this new road, I learned something. If I want to be great, I do not have to do the things at which I am great. I just need to continue meeting the challenges laid before me. I have to rely on the people around me to help me. I have to rely on others to point me in the right direction when I can no longer see the road. I will have to try new things. I do not know where I am going. I do not know where I will end up. The one thing I know is I can never stop trying.
- There’s something to be said for the light rain after a large storm.
- Some days I feel like I can tackle the world. The only problem is tackling the world takes more than a day.
- When in doubt, follow the path before you, but when you see an opportunity for a better route, take it.
- When looking for a particular file suffix, look from the back of the file name.
- When tracking down cupcakes in a convoluted mess of cubicles, one feels a bit like a rat in a maze hunting cheese.
- Mistakes are heavier when wrapped in red tape. Hence, by refining the red tape to be a finer material, we can reduce the weight of mistakes.
- Restarting Windows is like restarting a relationship. It might fix the most recent problem, but the fundamental flaws remain.
- You know you’ve been working too much when you attempt sign into your personal blog with your work ID.
- Every line of code in a block should be at the same level of abstraction.
- If an algorithm dominates a function, separate it into a helper function.
Inspiration: “Brick by Boring Brick” by Paramore
I grew up listening to stories about King Arthur, Davie Crockett, and Paul Bunyan. From there I began reading about Crusades, Roman Legions, Samurai, and World War II platoons. I played Final Fantasy videogames and lived in a world that was all my own. I had an active imagination as most kids do. I became enchanted with the ability to mix history into the stories of our fictional media. It made them seem as if there was a chance they could be real. After all, Medieval stories are full of dragons and demons despite being based on factual events. Is it so hard to believe that such a story as Final Fantasy VI could have truly happened with some slight modifications? I know it did not, but the historical traces laced throughout give it the credence to allow our minds to be encaptured.
Many of the greatest kings remembered in the history books or among the stories of the people are known as warrior scholars. They fought their battles, and when they had an opportunity to rest, they studied. Most focused on topics along the lines of politics, economics, and military strategy. However, there were also those with interests in religion, astrology, astronomy, and agriculture. A man with a talent for battle was a scary sight. A man with a talent for battle and a brain for making the battle easy was something to truly fear.
Lately, I have been associating with this image. I recently graduated college and took a short hiatus to get away from everything. It was a nice break including family, friends, Christmas, snowboarding, and videogames. Yesterday, I returned to the working world. I say return because after three internships and a couple student jobs, I do not feel like it is a wholly new experience. To me, going to work is stepping onto the battlefield. My coworkers are fellow soldiers, and the problems encountered in breaking greater service to the clients is the force opposing us. It is where I employ everything I have learned over the years. It is where all the training comes to the forefront.
Then I go home in the evening. Where medieval kings may have played chest by candle light, I dabble in web development and other programming projects. They are miniature versions of problems I may encounter at work. I begin to expose the forces at play and develop tactics to meet them. I spend time reading books and blogs. I watch enlightening shows on the television. You may think all I do is watch sports, but I argue that football relates to far more of life than the local three-day forecast.
Tonight’s agenda is no different. Tonight, I resume reading The Art of War.
- Programs suck because humans are still involved.
- It really sucks to get an itch on the top of your foot when you are wearing shoes and your hands are dirty.
- The concept of sleep sucks. We should adjust the concept of work/class accordingly.
- Never program in MUMPS.
- “It is dangerous to be right when the government is wrong.” -Voltaire
- Drama is synonymous with bad team dynamics.
- 4-3 Cover 2 is the best base defense in football. Period.
- How many kings could King Kong kong if King Kong could kong kings?
- It turns out “carpe diem” does not shift to “carping the diem” when going from a simple present to present continuous verb tense.
- “Survival of the fittest” used to mean the strong ones watched the weak ones die. Now it means the strong ones pay the bills for the weak ones; so, the weak ones do not have to work. Who are the strong ones now, then?
- Selling a 1080p television to an elderly person wearing bifocals is like selling uggs to a war veteran with no legs
- “Compliance compensates for times when normal market forces fail to provide adequate alignment of interests. For example, when organizations in a position to protect data aren’t responsible for the losses.” – Courtesy of Jeremiah Grossman
- Java is the current latin of programming languages
- Preparing code to change is a lot harder than making the first change without thinking about it
- When building onto a bad system, trying to do things right only makes everything more complicated
- The Unix terminal tab auto-complete feature is the best auto-complete implementation in existence. More systems need to mimic its functionality.
- Programming languages should never use single characters (e.g. $, @, %) to signify data types or other information about variables.
- Programming in pajamas or sweats is 100x more productive than programming in business attire.
- Some people draw ugly pictures because they cannot envision beautiful pictures.
- Some people write ugly programs because they cannot envision beautiful programs.
- Teachers and tech support have two very different perspectives on questions. Teachers say, “there is no stupid question.” Tech support asks, “why does everyone ask stupid questions?”
- The only things to fear are fear itself and bad code.
- Java was designed by software engineers who think programmers are better when their jobs are so structured there is no room for error. Unfortunately, the lack of room for success forces errors.
- Programming in Java is like trying to draw a picture using only straight lines.
- Agile development is the hippy approach to programming
- Upon experiencing deja vu while looking at code, it is time to refactor.
- Do not sit at the head of your bed late at night when you have gas if you intend to sleep on said bed.
- Some people just don’t get “while [1]; wget –delete-file $file; done”
- “Hierarchy is natural.” -Dr. James Robinson
- TVGuide.com does not consider the World Series of Poker to be a sport despite it being broadcast on ESPN.
In the past few months, three broad classes of people have been made really obvious to me. I have seen it online playing videogames, at work, and in my classes. I have decided to throw them out here and see what sort of a reaction I get. The three classes are the leaders, advisors, and sheeple. Because I find they have very interesting parallels to common class distinctions in ancient cultures, I have listed their historical parallels in parentheses after the class name.
Sheeple (Commoners)
The sheeple class is by far the largest of the three. The people in this group do the grunt work. They show up at their eight-to-five jobs day in and day out. They will gain a few raises and promotions as their experience grows, but their destiny is limited. They exist because work needs to be done. Most of their purpose will be replaced by mindless drones in the coming decades, maybe centuries, but I doubt it. In all honesty, if one dies tomorrow, the world will never know. Those in direct contact will be upset momentarily before work resumes once again. Their lives are grinding. Fortitude and endurance for monotony are perhaps their most redeeming qualities. They have either come to accept their place in life or live on with misguided delusions of grandeur. It is a sad, cold, hard life they live.
Advisors (Priests)
Advisors are the experts in their respective fields. This includes not only professors, but also those out actively working. While they may very well be doing some of the same work as sheeple, they are working constantly to push the limits. They are inventing new techniques and technologies. They have come up through the status quo, and now challenge it. They have seen how things are, but yet understand how they could be. Their passion is for their work. This most often prevents them from organizing large change. They do not have time to bother with engaging others and convincing them of the greatness of their ideas. More often than not, they publish their ideas in some way that a leader can get a hold of them. They are rewarded for their insight and talents. They will not be glorious figures, but footnotes in history books. History remembers them not as changing the direction of civilization, but as the creators of new things. Those things are then responsible for impacting society. More often than not, there are several advisors behind every great leader.
Leaders (Warriors)
Leaders have a natural skill for knowing when and how to connect the new creations of advisors with the common sheeple. They craft mass opinion in a way to drive their respective communities forward. Their talent is not in new creations, but in rallying the masses around the developments of others. Leaders have best-seller autobiographies. The greatest of them are remembered forever in history books. They are self-starters. They seize upon an idea, and strive to make it reach its full potential. It is not about developing further upon the idea, but rather, embracing the idea into current practice. Their knowledge is more diverse than an advisor, but not as deep. They are dependent on advisors for guiding them in the right direction as well as providing a new direction to guide the sheeple. They also require the sheeple to affect the mass change which makes their efforts meaningful. While perhaps the most prestigious of the classes, it is a symbiotic relationship.