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.


No comments: