Sunday, November 1, 2015

What do I want to do when I grow up?

This is a question that we have all been asked numerous times when we were children. An astronaut, an air force pilot and an astronomer where just a few of the things that I wanted to be. I finally “decided” that I wanted to be a computer programmer. I wanted a job where I could sit at my computer and write elegant solutions to solve the world’s problems.

After a few years of this at different companies, I was afforded the opportunity to get my MBA so I did that. At the time, I rationalized it as the chance to better understand what the business people that I was dealing with were talking about. I had no idea that I would actually enjoy it. Don’t get me wrong, there is a lot about business that I do not enjoy. Instead, I came to see the business world as just another forum where I can solve problems.
After a few more years of writing computer programs I was approached by Amazon. They flew me out to Seattle for interviews. Things did not work out with them but it made me realize that I needed to do more. Now I asked myself “What do I want to do when I grow up?”. I gave this question a lot of thought and then scheduled a meeting with my boss who was also the CTO. I sat down with him and told him about Amazon and that I didn’t want to leave where I was because I felt that there was a lot more that I could learn from the organization but I needed to do more than just write code. I told him that someday I wanted his job. I wanted to be a CTO when I grew up and I wanted him to help me get there. He listened to me and soon after started to give me more responsibilities toward my goal.
I was now moving very quickly toward the business side of the organization. I was focused on revenue and profit issues and enjoying it. But what about writing computer code. This was something that I loved for so many years and now it was gone. Between work and my family I had no time to sit down and just write code and I missed it.
So I have “decided” that I want to be a CTO someday when I grow up but what do I do then? When I retire do I do? I need to keep asking myself “What do I do when I grow up?”

Monday, July 6, 2015

Advice for developers who are just starting out

Here is some advice that I have given other developers that have just been starting out.
  1. Learn another language - This will allow you to better decide the right tool to address each problem and allow you to speak with other developers from other disciplines more easily.
  2. Learn advanced search techniques - You are not always going to be able to Google the exact problem that you are researching.  Learn how to better apply Boolean operators and negative filters to better refine your searches and more quickly refine find the answer that you are looking for.

  3. Help other - Just because you are new to the industry does not mean that you cannot teach someone something new.  Even when you are wrong you will learn from the experience.  Take a few minutes to answer questions on sites like TechRepublic.
  4. Be patient and keep practicing - Some people view programming as an art form and as with all of the arts it takes practice to become better.  Challenge yourself to approach problems from a different angle sometimes and not to just keep using the same techniques that you are comfortable with.
  5. Leave your ego at the door - To be honest, you don't know anything yet.  For the most part you don't have enough experience to know the right way to address problems or even what are the right questions to ask.  Listen to others with more experience and be sure to ask them how they came to the assumptions and conclusions that they did.  
  6. Get really good at a few advanced concepts - Find a couple of areas that you enjoy and get REALLY good at them.  When these types of problems come up in the future you will be the person that everyone will come to for advice.
  7. Fundamentals - The better that you know the basics and how everything works the stronger that you will be at addressing issues.  For example, even if you are never going to work in assembly it is useful to understand how the computer uses things like registers and cache to perform operations.  This will allow you to find the optimal solution to some problems much easier.
  8. Look at senior developers code - Dig into a senior developers code and look at how they approach the problem.  This will allow you to learn some different strategies that you can put into your toolbox for later use.
  9. Learn good habits - Things like documentation and unit tests are typically afterthoughts but they are what makes a good developer a great one.  By having these good habits you will be noticed by others as someone who cares about the code.
  10. Have fun - If you don't enjoy programming then find something else to do.  And when I say enjoy - I mean love programming to the extent that you get sucked into it and then look up and notice that it is 3 am and you forgot to eat dinner.

Sunday, May 10, 2015

"Creative" Answers

I ran across this picture earlier today and it brought back memories of some the "creative" answers to tests that used to give when I was a student.  Then I showed the picture to my daughter and she started laughing.  How long until I need to talk to her teachers about her being "creative" with her answers?

Tuesday, January 27, 2015

Remembering Apollo 1

I just realized that today is the anniversary of Apollo 1.  I was not alive for the disaster but I will not forget those men and what they meant to our country and to the space program. Their deaths were not in vain but instead helped humanity walk on the moon.   May they never be forgotten.

Saturday, January 3, 2015

Getting Haley from Grammy's

Went to Connecticut to pick up my daughter from her grandmother's house.  Two hours there and two hours back.  Then got lunch at subway before bringing the other car to the garage for its state inspection.  The people at subway decided that 1 tray for all of the food for myself, daughter and son would be plenty so they proceed to just pile it all on top of each other.  Two trays would be too much to clean later?

Anyway, waiting for the car inspection.