Home More than writing code
Post
Cancel

More than writing code

Key takeaways from the book Effective programing: more than writing code by Jeff Atwood.

A. 8 levels of programmers.:

I won’t be going in detail, jeff’s blog post explains it better, programmer who creates business around their code and have a freedom to decide for themseleves what platform, language and problem they would like to work on, these are the one’s who make the difference and are often rewarded(make money) from their product.

As Joel Spolsky quotes

The difference between an average and great programmer is not how many programming languages one knows, but by letting fellow programmers use the code instead rewriting it, absent which their code is worth nothing.

B. Go fast that way really fast, if something comes on your way turn..:

The main highlight of this chapter is that speed of iteration always beats quality of iteration, he demonstrates by taking classic example of internet explorer and google chrome browsers.

As Tim O'Reilly tweets

There are good fast decisions but no good slow decisions.

C. Good programming principles:

Programming 101: it’s always your fault, in other words fix yourself before telling world is broken.

Never code by accident:never code blindfolded, such as working on technology you aren’t familar with, buildng applications you don’t fully understand.

Best code: best code is no code at all, code requires reason to exist.

Read source luke: documentation may rot, but the source code is the ultimate truth so read the code luke!

Rubber duck debug: you ask the thorough detailed question to this imaginary person/inanimate object, most of the time answers hit’s us when we are midway through asking questions.

Performance is a feature: make your application performance a point of pride.

Most software developers think that their job is to write code unfortunatly it’s not, their job is to solve customer problem.

D. Pair programming vs Code review:

The advantage of pair programming is it’s gripping immediacy, it is impossible to ignore the reviewer when he/she is sitting right next to you. wheareas on the other hand code review nobody wants to spend time reviewing others new code, but in the end either ways if your code is looked by more than one pair if eyes it will produce a better software.

All too often software developers are merely tourists in their own codebase.

E. UI first software development:

Start with UI development,before you start writing all the business logic for the application.

F. Unit testing:

Any test is better than no test, but the ultimate unit testing is if the user can get his workdone using your application, if the user can’t figure out how to use your application then that is ultimate unit test fail.

This post is licensed under CC BY 4.0 by the author.