Tips For Writing Software And General Business Heuristics

  • The most simple route is the best 99% of the time (this might not be the case with life-critical systems such as space shuttle :P)
  • Think about every possible detail before you write one line of code. Plan out all the method names, what they will interact with etc… Its far quicker and cheaper to go through many iterations in your head and on paper than it is to do it on a computer
  • If you use a technology – make sure you go and learn every facet and feature of it
  • When being tasked with something challenging that you don’t fully understand and need to get clarification on – question the Subject Matter Expert (or whoever knows the most about the task at hand) as much as you can early on – till you see the big picture. Personal experience has shown me that by asking a question here or there over a long period of time will aggravate people whereas if you ask the same number of questions in a short period of time, people don’t get wound up 🙂
  • Never ask some one a question without asking yourself first. E.g. you should always have your best answer figured out before hand
  • If you do ask some one a question, don’t include any answers that you think it might be in your question. Compare their answer with yours. Good example: “What is the best way to create a widget?” Bad example: “Should I create a widget by using a wizard? Or should I download a pre-made widget?” The Good example leaves a question open ended. The person replying to your question might give you an answer you had not even thought about. You may even learn something new. The bad example pre-loads the question and narrows the scope of available answers.

  • If something feels too tough – its because you don’t know enough about it. Go away and read as much as you can about the subject.
  • If you have any small doubt when approaching a problem, you are likely taking the wrong approach. Tune into your gut feeling
  • If you see repeating code ignore it the first and second time you see it. Third time – refactor it and get rid of the repeating code
  • Don’t ever follow other people’s opinions. Read all about it then make up your own mind. This leads to confidence
  • Use version control systems to check in as often as possible to a branch. Its way quicker to revert back a few steps than to go and undo code manually
  • Use diff tools such as Beyond Compare to compare two files or two file systems. Don’t ever do it by eye
  • Be dependable. If some one asks you to do something. Make it your absolute goal to get it done for them
  • If you are seriously stuck on something, ask for a colleagues help. A lot of the time it can be something very trivial which you have overlooked
  • If you are stuck on a complex problem try thinking about it pretty hard just before bed. You will fall asleep and wake up with the problem solved
  • Teaching is the best way of learning. Write a blog or teach your colleagues something new
  • Do software projects that you find fun in your own time. Learn new technologies and processes all the time
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s