Seven Habits of Highly Effective Programmers



This advice by Philip Chu is highly influenced from Steven Covey in his best-selling book, The 7 Habits of Highly Effective People, but is really a high quality read - peppered with illustrative real world programmer tales. I am just putting bullets points and brief description in the blog here; however you must read the complete article at http://drupal.technicat.com/writing/programming.html. Also other articles at Philip’s site is certainly worth a read.

1.     Understand Your Requirements

The first step in becoming an effective programmer is to ensure that you are spending your time wisely. And there is no greater waste of time than in working on something that is not useful or never shipped. 

Gets a demonstrable system working as early as possible? 

Once you have something working, don't just leave it as a "proof of concept". Let people play with it, see their reactions, and let this guide and prioritize your development.

2.     Keep It Real

Keep your software running in as close to a shipping state as possible. You never know when you'll have to demo the system, send out an evaluation copy, or even deliver ("OK, time to wrap things up!") 

If you just test with sample data, that big iceberg of real data out there is going to sink your program, hence use real data.

The development build on your machine is not the real build, hence use real build machine.

Don't procrastinate on merging your code with the main code base - the longer you wait, the harder it gets

3.     Understand Your Code

Life is full of wonderful mysteries, but your code is not the place for them. You don't have to know how your car works - if the engine starts making strange noises, you drop it off the mechanic. When it comes to your code, if you don't understand how it works, or doesn't work, no one will. 

The best writers and coders have an esthetic and their work features structure and style that can often be identified with the author. 

You should periodically inspect your code, sweep up accumulated hard-coded numbers, outdated comments, misleading function names, or you'll inevitably end up with uninhabitable code that's embarrassing to show anyone else. 

Document your code as if someone else might have to take it over at any moment and know what to do with it. 

Ignore compiler and runtime warnings at your own peril. They are called "warnings" for a reason.

4.     Optimal Programming

On the other extreme from cut-and-pasters are those who change code just to make it look prettier (at least to them). While it's laudable to have a programming esthetic, it's a waste of time (and a useless risk) to change code just so it looks better to you.
"Refactoring" is all the rage, now, but programmers often take it to mean any code cleanup or redesign. The trick is in reorganizing code for the better without breaking anything. 

If you do need to optimize for speed or space in you application, attacking anything other than the bottleneck is a waste of time.

5.     Manage Thyself

You probably have a lot of complaints about your boss being a lousy manager, and you're probably right. So you have to be your own manager. Even if you have a decent boss, he's not going to stand behind you telling you what to type and how fast
Programmers are notoriously inadequate at providing useful schedule estimates. I think this is a bad rap, since management, left to their own devices, often make even worse predictions, and unwelcome news from engineers is often ignored. (A common theme in any engineering disaster). But still, awareness of the schedule is critical to actually getting the project done on time. 

You wouldn't just hop into your car before deciding where you want to go, right? And probably you have a route in mind before you start driving, too. Similarly, before you sit down at our computer, you should know what you want to accomplish that day and have some idea how.

6.     Continuous Education

A corporate soccer team member once asked me, as we were lacing up our cleats, "what's the secret to C programming?" If there was such a secret, I'd be hawking it on late night TV along with ab machines and how to get rich in real estate. Sorry, there's no shortcut - you have to learn and practice and make some mistakes. And you don't necessarily have to rely on corporate training or going back to school - there are plenty of (inter)national and local professional groups, books, and of course, the Internet. 

It's called "computer science" for a reason. It's easy (maybe too easy) for anyone to to start programming, without a formal computer science education. In particular, those from other engineering and science disciplines can pick up programming quickly and make a good living. But to effectively tackle non-trivial tasks, you need to know the inherent capabilities and limitations of software and recognize prior work, so you don't waste time reinventing the wheel, badly. You don't have to know everything under the sun, but you should have at least a cursory familiarity with many areas and be prepared to do some additional research as necessary.

7.     R-E-S-P-E-C-T

One requirement for being an effective software engineer is to be taken seriously. You need to have the respect of your peers and managers, at least for your technical capabilities, to have control over your own work and influence over others. 

Engineers sometimes communicate more to show off their own knowledge rather than to inform (although, if you can do both, kudos to you). This is often inflicted in employment interviews, under the guise of "finding out how you think" the candidate is asked inane puzzle questions. This can backfire, though, if the candidate has any self-respect.

5 comments:

Fire Dragon said...

Bạn đang tìm dịch vụ giao hàng? Bạn cần dịch vụ vận chuyển hàng hóa với giá cả phải chăng, đặc biệt phải giao hàng nhanh đến tay khách hàng của bạn. Đến với chúng tôi, với các dịch vụ vận chuyển phong phú đa dạng như: chuyển hàng đi miền tây, giao hàng nội thành tphcm, gửi hàng từ tphcm đi hà nội, gửi hàng đi bạc liêu, gửi đồ từ hà nội vào sài gòn, cho thuê kho quận 7 , ký gửi hàng hóa, dịch vụ giao hàng thu tiền hộ... Chúng tôi hiện đã phục vụ khắp 64 tỉnh thành. Khi bạn có nhu cầu cần vận chuyển hãy nhớ đến chúng tôi.

mai linh Nguyen said...
This comment has been removed by the author.
ABDUL QORIB said...

Putra tunggal furniture adalah industri Toko Mebel furniture minimalis menjual mebel berkualitas harga murah Mebel Jepara Minimalis yang tentunya dengan kualitas terbaik dan khas dari pengrajin mebel dengan ukiran mebel minimalis Jati katalog produk mebel kami banyak dan lebih dari ratusan hingga ribuan produk yang bisa anda cek disini meja makan minimalis dengan harga yang relatif murah anda sudah bisa mendapatkan produk Kamar Set Jati Minimalis asli produk mebel minimalis jepara yang berkualitas dan di kerjakan oleh para tukang kayu asli jepara yang sudah berpengalaman di bidangny. Selain itu toko mebel kami juga menjual produk kursi tamu minimalis asli produk jati dari jepara, Di samping itu produk yang kami tawarkan memang benar-benar mempunyai kualitas tinggi, tersedia juga produk buffet minimalis yang merupakan salah satu produk utama yang harus ada dalam satu hunian rumah kami sediakan dengan berbagai macam model Meja Makan Minimalis produk minimalis yang tentunya sangat elegant Kursi untuk ruang Tamu Jati Minimalis sampai dengan model yang mewah yang tentunya. kemewahan dari produk yang kami tawarkan berbeda dengan yang lain contohnya set kursi sofa produk modern berbahan baku jati yang tentunya sangat awet untuk anda peroleh untuk ditempatkan di rumah anda, semua itu anda bisa melihatnya di katalog produk tempat tidur minimalis asli karya toko jati Mebel Jepara Minimalis. Kami juga ada produk modern berbahan baku jati yang tentunya sangat awet untuk anda peroleh untuk ditempatkan di rumah anda, semua itu anda bisa melihatnya di katalog produk mebel jati dan untuk semua produk yang kami koleksi nantinya produk tersebut akan kami tawarkan sesuai dengan harga mebel tempat tidur. Anda jangan khawatir karena produk yang kami jual itu mempunyai kualitas yang terjamin yang di buat oleh para pengrajin kursi sofa minimalis yang sudah berpengalaman di bidangnya. Tentunya kami tidak ingin mengecewakan para konsumen kami,maka dari itu kami memberikan produk toko mebel online dengan harga yang terjangkau. Semua furniture yang kami jual adalah produk dari kami dan jika anda ingin melihat koleksi furniture dari jepara anda bisa mengunjungi toko furniture online jepara yang berkualitas dan terpercaya. Jangan pernah tertipu berbelanja furniture secara online yang mengatas namakan mebel jepara,hanya di sini anda bisa mendapatkan furniture jati yang berkualitas asli jepara.

vận chuyển hàng hóa đi nha trang said...

Công ty vận tải chúng tôi chuyên cung cấp dịch vụ vận chuyển hàng máy móc đi Nha Trang để đáp ứng nhu cầu vận chuyển hàng hóa đi Nha Trang Hãy đến và cảm nhận những dịch vụ tốt nhất mà chúng tôi có thể mang dến cho bạn.
Các dịch vụ vận chuyển hàng hóa khác của chúng tôi:
- Dịch vụ vận chuyển hàng hóa từ HCM đi NAM ĐỊNH, NINH BÌNH
- Dịch vụ vận chuyển hàng hóa từ HCM đi THANH HÓA,NGHỆ AN, HÀ TĨNH
- Dịch vụ vận chuyển hàng hóa từ HCM đi Đà Nẵng
- Dịch vụ vận tải quà Tết gía rẻ
Liên hệ: Mr.Tài – 0166 944 5753 >< zalo
skype: nguyentaiachau94
mail:nguyentaiachau@gmail.com
https://www.facebook.com/vt.bacnam/?ref=bookmarks

Các thông tin dịch vụ vận chuyển khác:
- Dịch vụ vận chuyển hàng từ HCM đi Hà Nội
- Dịch vụ vận chuyển hàng đi Đà Nẵng
- Dịch vụ vận chuyển hàng từ HCM đi ra Quảng Bình

Hoà Huyên said...

mặc dầu còn hơn một tháng nữa mới tới Tết Nguyên đán 2017 nhưng tại Hà Nội, phổ thông cây đào bích, đào phai đã sớm khoe sắc trên giàn phơi thông minh.

Vừa sắm cành đào phai tại chợ hoa PR, bà Nguyễn Thị Liên (51 tuổi, P.Bạch Mai, Q.Hai Bà Trưng) chia sẻ: “Tôi tìm cành đào phai giá 160.000 đồng. Năm nào vợ chồng tôi cũng đánh xe lên chợ này sắm cành đào về đón rằm tháng Chạp và Tết Dương lịch”.