Friday, October 17, 2014

Book Review: What If?

What If?: Serious Scientific Answers to Absurd Hypothetical QuestionsWhat If?: Serious Scientific Answers to Absurd Hypothetical Questions by Randall Munroe
My rating: 5 of 5 stars

I haven't enjoyed a book.. I mean ENJOYED.. this much in a long time. It's a fun read, each chapter is independent of one another, and is really a collection of thought experiments. One chapter talks about if meat would be cooked if you dropped it high enough from the earth. Another chapter discusses how far away one human has been from civilization.. and if they were lonely. Another chapter was about building a bridge made of LEGO bricks.

The science in the book is.. frankly.. above my head. Randall Munroe could tell me that he figured everything out by taking the square root of Pi and multiplying it by 3 and I would just believe that it makes sense because I don' know any better. That being said, the book isn't about the math, it's about having a combination of 50% (physics, geometry, calculus, astronomy, geology, sociology) and 50% humor.

And that is the magic of this book. I remember hearing a long time ago that Michael Jordan was *that good* because he made everything look so easy. When you can achieve success and make it look effortless, it shows what kind of expert you are. Randall Munroe makes solving the mundane look effortless.. and it's fun to read.

View all my reviews

Tuesday, October 14, 2014

What’s more important, Knowledge or Experience?

In a previous post, I mentioned how I was asked to speak at a local college to their computer club. During the Q and A session afterwards, I received some really interesting questions that were a lot of fun to deliberate on.  One question I received bothered me, because I answered it, and then thought about it, and then realized that I answered it wrong.  The question was “What do you think is more important, knowledge or experience?”

And so, that was the question that has driven me crazy the past several days.  My initial answer was rather blunt.  I stated “experience”, and told the students that I wasn’t very good in school, and even though my base of knowledge from that time was rather poor (in my eyes anyway), I had accumulated 12 plus years of experience in business, IT, software development, and all of the accoutrement’s that accompany those experiences (emergency bug fixes, small\large projects, project management, varying technologies).  So in other words, I wasn’t fit to speak to the club because of my college GPA, but because of the body of work I had accumulated over the last 12 yars of my career.

The more I thought about this question, the more I wished I answered the question better. After more thought, I think the answer is “both”.

Book knowledge is always helpful. We live in the “Information Age”, and as we have always looked at history and found that the invention of the printing press was one of the great advancements in society, future generations will say the same for the Internet. Knowledge is at our grasp at all times, from weather to news to history. Experience on the other hand teaches specific lessons. Every lesson learned typically comes down to one of two things:

1. “this worked because of X”
2. “this didn’t work because of X”.

When all the books stop their text, end the paragraph or go to a new chapter, experience continues to isolate variables and.. for those who pay attention.. indicate what steps make a difference between that fine line of success and failure.

So above, I stated that I switched my answer to “both”, well.. why?  Much like the term “focused intensity” indicates, we’re at our best when we dedicate to a few specific tasks, rather than trying to capture as much as we can. In sports, for every 1 Bo Jackson who can play every sport exceptionally well, there are 1,000,000 professional athletes who can only play one sport exceptionally well. For those million, it’s because they have the combination of knowledge and experience. They have that focused intensity on their primary subject matter, and the experience they receive continues to reinforce the knowledge they need to exceed.

So in the end, I think the most important thing to do is to focus on your skill and dedicate a lot of time towards it (practice makes perfect, right?). It’s important to multi-task, but not over-extend (we all have varying levels that we can multi-task, so we all need to find our own limitation). Over time, that continued experience dedicated towards that subject matter knowledge is what grows an individual into an expert. Knowledge gives us the breadth of expertise to know how far the landscape extends, but experience helps us learn that landscape more thoroughly.  Each in their own right are important, but the combination of the two can truly create success.

Sunday, October 12, 2014

Adventures in Cookin’ - Chili

So Randall Munroe of XKCD fame recently published his book What If, which is just a terrific mix of “I never thought of that” and “LOL”.  One chapter discusses if you can cook a slab of meat by dropping it out of the atmosphere, which turned into Randall Munroe mentioning scientifically what it takes to cook something, which led to him referencing Cooking for Geeks by Jeff Potter.  My co-worker and I always laugh when we talk about how easy it is to buy something nowadays.  It’s like… you think about it, impulse buy, and you have it.  So.. guess who bought Cooking for Geeks?

Inspired with my new purpose, I wanted to cook.  It was a lazy Saturday, the weather was a little cold out, and I like meat.  So, I made chili.  Of course I needed some help, so my wife guided me to ensure I didn’t screw up (which I still kind of did), but in the end.. I did it!  I made chili that was edible.. and pretty tasty too.

WP_20141011_003

I started with 2 cloves of garlic, diced it as fine as I could without cutting my fingers off, and threw it in a pot with some oil and chopped onion’s to simmer.  (Youre thinking “Why didn’t he mention dicing onions, and it’s because they were frozen and in a bag, what’s the point in referring to today as a lazy Saturday if you’re not a little bit lazy?).  Then my wife said “Let that go for a while and add your peppers”.. all I heard was “blah blah blah add peppers”.  I diced up one red and one green bell pepper.. and that yielded a lot of peppers!  So I took half of that yield and threw em in the pot (the other half went into the freezer so next time I’m making chili I can be even lazier and not chop anything).  That cooked on medium heat until the garlic started to brown… it took a little longer than normal apparently since I added the peppers so early.

WP_20141011_004

I then added the meat to the mix and started to chop it up, slowly turning the meat to get it to brown.  Every few minutes I gave it a turn to also make sure that the garlic\oil mixture didn’t start to burn.  Once I got the meat browning, I turned the heat down some as well.. I’d like to take full credit for this executive decision, but honestly, my wife said “hey, turn the heat down so the garlic\oil mixture doesn’t burn”.. and after the “mishap of the chopped pepper’s”, I decided to listen this time.

WP_20141011_007

Once the meat got cookin’, I started adding some.. you know.. flavor.  I started with a Tablespoon of chili powder (only 1T because it was so salty), and 1T of mexican spicy chili powder, which wasn’t nearly as salty as chili powder Americana, but also had some cumin in it that added.. umm.. something cuminy.  The rest was more or less a season-to-taste mixture of paprika, smoked paprika, Cayenne pepper, black pepper, onion powder, garlic powder, and 1/2 to 2/3 a bottle of chili sauce (again.. season “to taste” is the idea here).  I also threw into the mix a Left Hand Nitro Milk Stout.  I really like this beer, it’s considered a “sweet stout”, and it’s like having a Guinness stout, but instead of a bitter finish you get sweet.. and a note of coffee.  So half a bottle of beer went into the mix as well.  I also added a can of chopped tomato’s, red kidney beans and black beans.  After all, what’s chili without beans?

WP_20141011_006

As I said before, this was all season to flavor, so many of the elements mentioned above were added over time (specifically, I kept adding chili powder - “Chili P is my specialty yo!” for all of my Breaking Bad fans out there – pepper, Cayenne pepper, and garlic\onion powder over time).  I put the heat on low, put the lid on, and let it simmer, giving the occasional stir. Pro-tip, there’s beans in there, go easy when stirring as to not break up and destroy the beans!

WP_20141011_008

So I started cooking around 3 PM, had the meat in the pot with the aforementioned ingredients by 4PM, and I ate dinner at 7.  So, my ingredients had a few hours on a lower heat to really blend, and in the end, I’m happy with how they did.  There was a hint of sweet in the chili, that could be from the beer, it could be from the chili sauce, or it could be in my head.  I like sweet things in general, but my aim wasn’t to make this sweet, I really just thought I picked up on something sweet, but not overpowering, which I’m fine with.  When I’ve cooked in the past I’ve had issues over-seasoning one time, and under-seasoning the next.  So, with guidance from my wife, I’m proud that I didn’t screw up! 

Wednesday, October 8, 2014

IT Pro Tips

I’ve had the opportunity in the past to teach at a local college from time to time, teaching either intro to object oriented programming, or intro to IT.  Surprisingly, I’ve enjoyed the intro to IT class more than anything because it’s so broad.  More surprisingly, somebody let’s me teach!

I wasn’t a very good college student.  When I tried, I did well.. I just didn’t try.  Why?  I was lazy.  It was easier to hang out with my friends then stay home and read (ironically, now I’m so busy with work and raising my daughter that I wish I could sit at home and read all the time).  It took a few year’s to get my act together.  I had a chance to reflect on this because this same college asked me to come by and talk to their computer club.  When I asked what to speak about, they said “anything”.

So the college Eric Witkowski would have waited until the last minute, tried to go to the podium and make people laugh, and walk away without caring (boo college Eric Witkowski).  The IT Pro Eric Witkowski said “OK!” to the request to talk, and then went home and said “What in the world can I talk about?”  And really, I wanted to think about this some.. I wanted to do this right. 

So the first idea I had ended up being the idea I ran with.  I didn’t want to at first, but it was ultimately the best choice.  I could have talked about what it’s like to go into a world of programming, or how the Internet works, or why HTML5 is so popular and special, but they weren’t right for me to talk about.. at least this time.  Instead I went with “IT Life and how (not) to get fired”. My talk was kind of embarrassing, but now that I exposed my demon’s, it’s a little more gratifying to talk about now (even on my public blog).

My talk went on to say who I was, and what challenges I face in the IT world.  Item’s like a user stating “I need this NOW” but then requesting “so, how long will it take?”.  And when I say “3-4 weeks” I get the reply “but I need this NOW!”.  Other items include Marketing needing a website to handle 100,000 users per month, when you well know that you won’t get that many users in a year.  Or when user’s say “X isn’t working”, but then you ask for details like the error message\code, what they’re doing that possibly caused the error, etc. and get nothing in response.

From there, I leapt into how I found the IT world in the first place, and how I managed to also not make it into the IT world in the first place.  I took an Advanced Placement course for programming in high school and got a 1 out of 5 on the exam (that’s bad).  I got an internship and showed up late. At first, I thought we just started at 9AM, not 8AM.  When I was informed that we started at 8, I tended to sleep in and arrive late.  When I was given a small piece of a project to write\test something, but because I was “just an intern”, people constantly knew to scrub and test my work.. because I wasn’t very good at doing so myself.  When I was (somehow) hired full time, I was still a little lazy, and one time called in “tired”, and to the class I informed them of how my boss at the time had to sit me down and really explain that he’s fighting and pulling for me, and trying to get me experience and opportunities, and I went ahead and left him a voicemail saying “I didn’t sleep the best last night, so I’m taking the day”. 

It was interesting, because until I did this presentation, I never realized that this was the moment where my career took a turn for the better (I subsequently emailed my former boss that essentially said “umm.. thanks for not firing me”).  But therein, I was able to explain to the group that during that wake up call, I really had a chance to say “I was only doing X, but needed to do X + …”, and how doing these extra things started to round out my career, be more professional, be more successful and start to be more of a leader in my organizations that just a follower. My favorite way of discussing this was to point out that when I was initially hired for my first position, I was hired to do this:

image

And now, I do this:

image

What I really wanted to explain was that this list is nowhere close to where I need to be, nor where I plan on being when my career wraps up somewhere around 2043. And so, that brought me to the final point of this blog post, which was to showcase the items that *I* think are important for IT professional’s.  Perhaps these are common sense, perhaps you’re doing these things already, perhaps you think they’re wrong.  For me, these were items that worked for me, and so.. I hope they can help you as well.

IT Life – Tips

  • Project Management skills are important for *all* employee’s
    • Requirements Gathering
    • Documentation
    • Testing
    • There are many different aspects to a software project, writing code is only a small portion of a software project.
  • You don’t have to be the person with all the ideas, just translate them into something that works.
    • If you users are aggravated, they have an idea of what the solution is
    • If you users are stressed, they have an idea of what the solution is
    • If you users are backlogged, they have an idea of what the solution is
  • Standards and Best Practices
    • If you want to be rich, do what rich people do
    • If you want to be successful, do what successful people do
    • In IT, successful shops develop protocol’s, standards and processes.  They upgrade them to stay current, but they always follow them.
  • What makes you irreplaceable?
    • Nothing (the president is replaceable for cryin’ out loud)
    • Only the paranoid survive – so do things to make you as hard to replace as possible
    • KNOW your business
      • How does the company *profit*?
      • Who are your customers?
      • How do you serve them well?
      • How can you serve them better?
      • How can you keep them from being stolen?
      • Who is your competition?
    • Moral of the story: India will always be cheaper labor, but employee’s can help understand the items above and improve the organization
  • Read, Read, Read
    • Current Events – Time and Forbes
    • Current Trends – Wired and The Verge
    • History, Biographies, Non-Fiction
    • Never stop learning
  • Listen to your users
    • God gave you 2 ears and 1 mouth for a reason ya know..
    • Often, your user’s are your troops on the ground, they know how things work, how customer’s complain, how paper get’s lost, how item’s get screwed up, and what costs time.
  • Document well
    • It’s amazing how easy it is to forget details when you don’t work on a project for 2 years
  • Be a leader
    • Take ownership of projects, help manage deliverables and work with other team members
  • Don’t be afraid to fail – Steve Jobs did plenty of times
  • Donate your time, it’s great experience, it’s great to help non-profit’s, and it’s a great resume builder
  • And of course.. don’t call in tired