Monday, April 28, 2014

How to be a programmer

I have a friend of mine who is just getting started with programming and I've been helping him get up to speed on how to be a programmer. I love teaching others how to code, empowering them to have careers in this interesting market we have. Also my Son is getting into programming and is planning on going to a computer camp this summer. Here are some things that I believe are crucial to be a programmer and enjoy coding as a career. This is based upon my 20 years of work experience.

1. Personal Life

No matter how well you're doing in school, when you get a software developer job, if you don't have your personal life in order, your won't succeed as a developer. You have to know how to save money and have a stress free environment at home. That is up to you to define. But if you have credit card debt and expensive habits that make you live paycheck to paycheck, you will not be a good employee for any company, as well as if your self employed.

2. Don't be an Idiot Savant

Here is the definition: idiot savant: a person who is considered to be mentally handicapped but displays brilliance in a specific area, especially one involving memory.

When I was in college two different people (women) gave me a card that had a picture of a young kid trying to push at a door that had the words 'PULL' in front of it. And then at the top of the biulding he was trying to get into it said "School for the Mentally Advanced". They were subtly telling me I was really smart, but an idiot in regard to handling the real world. Looking back I have made a lot of dumb decisions in my personal and professional life. But I have learned that it is important to study and understand:

  1. Interviewing - It is a who art and skill of its own
  2. Discourse - My ability to communicate with others needs to be different based upon whom I speaking with.
  3. Stress - Need to have good stress management for your career and financial portfolio

3. Play with examples each day

Each day look at what others are doing that is new and exciting. Download the code, get it working.

4. Get Good At Editors

If you find a code editor that you like, learn all of its key bindings, and ways to save in keystrokes. Practice them. Use them.

5. Study Algorithms

Dude, no description needed.

6. Have Hobbies that Use Math

I enjoy Sudoku (Numbers...), Role Playing (Polyhedral Dice!), Tarot Cards, etc. Each day I do something that requires my brain outside of normal work. And I socialize with others who do the same.


Thursday, April 10, 2014

Android > iPhone

Reasons I like Android over iPhone
  • Podcasts - When I listen to podcasts and remove the airbuds, the audio automatically stops. But then when I put the headphones back in, it automatically starts playing again where I left off!
  • Podcasts - When I'm listening to a podcast that is being streamed over my wireless wi-fi. And if I leave the wi-fi network, it will automatically switch over to stream the content over my cell phone.
  • Google maps, can't compare.
  • Live wallpaper - with dozens of cool free ones others have developed
  • amazing number of options for power consumption
  • Widgets make the UX very nice
  • Weather display is way better
  • Play Pandora while playing other games
  • UI for cut'n'paste text is much easier to use, and more powerful, making it a lot faster to copy'n'paste, etc. I can actually look up address in Chrome, and quickly copy them into the Navigator app!!!
  • Texting - when I type something that it auto corrects, all I have to do is go back a space and it will redo the autocorrect. So if I'm purposely typing something weird, its easy to keep, and if I mistype something, it corrects it!
  • Cut'n'paste - once you understand the icons, it is super easy to copy/cut/paste text wherever you want it.

What I think is better on iPhone

  • Ringtones are not as good as iPhone ringtones, but a few are cute that I'm going used to.