Hate is good 82
Great people make great software. So what makes great people? Who knows…certainly not I. But I do know some traits that good software developers all seem to share. One of them is a healthy disdain for mediocrity.
Good developers cannot stand sloppiness (in software, anyway). Apathy, haste, and carelessness send shivers down their spines. They may disagree on the best way to do things, but they all agree that things should be done the best way. And they’re constantly looking and learning to find exactly what the best way is. They realize that seeking it is an ever-changing, lifelong quest.
Part of this is a recognition that the best way is the fastest way. Part of it is simply pride in one’s work. I also think part of it may be due to the discreet nature of software…either it works or it doesn’t. The line between success and failure is only one bit wide, and good developers learn through experience that there’s no room for maybe, sort-of, and kinda.
Whatever the reason for it, I see this trait often in the best developers, and not just with code. Slow builds, lackluster testing, and poor communication are met with intolerance and contempt, quickly followed by an intense desire to set things right.
Of course, it’s possible to take this too far. Simply throwing everything out and starting over is rarely the best option. While good developers can’t stand bad code, great developers make cleaning it up appear effortless. The code just gets a little better every day. Every change is a new opportunity for improvement, and every improvement is done in the context of delivering something useful. If you treat your software like boy scouts treat campgrounds, you’ll never work with ugly code for long.
If you already have this disdain, foster it. Critique code (especially your own), and improve it. Discuss it with your coworkers. Read books, articles, and blogs. Most importantly, realize that any code you change is never “done”. If it was done, you wouldn’t be changing it, now would you? Take the opportunity to make things better now. Right now. Otherwise, you’ll lay crap on top of crap and things will be even worse tomorrow.
Peter Gibbons, the downtrodden programmer from the movie Office Space, said “Ever since I started working, every single day of my life has been worse than the day before it. So that means that every single day that you see me, that’s on the worst day of my life.” If you don’t want to follow Peter down the road to code hell, you have to start making things better today. You have to start hating bad code, at least, hating it enough to want to clean it up.
I’m in total agreement with you.
I don’t know whether I’m a great developer (this is relative to the environment you work in anyway) but I certainly miss the will to make things better, to learn more in far too many of my colleagues – and as nice as they may be as persons, it’s sometimes hard for me to respect them as developers :-(.
But maybe that’s simply the difference between a passionate developer (or whatever job you have) and one who only sees it as a job.
Of course, any professional worth is salt dislikes inefficiency, stupidity, laziness, etc.
Passion for doing things well is not quite the same as a hate for doing things badly. Hate is a negative emotion, not constructive. The road to effectiveness is through finding the things you do well and doing them, not wasting your time hating someone else.
I just have a couple of things to say:
1 – There is only so much time that you can spend improving the quality of the code when you have deadlines to meet. Software still needs to be shipped and supported, which can sometimes get in the way of fixing things properly. In the long term, a good developer should still have an affect on the code. Whether they stick around long enough to see it through is another matter.
2 – Every programmer thinks they are good (even if they say that they’re not). Everyone who reads this post will agree with you, and feel that they’re in the ‘good developer’ bucket.
I enjoyed reading your post. And yes, I too agree with your sentiments (what a surprise! :) ).
You see this “fanaticism” in most creative fields. I’ve read that Frank Sinatra was a real pain in the recording studio, because of his fanatical attention to detail. It paid off, though ;)
OJ (point 1): I’ve never had problems with the rule of “If you change it, you clean it”. When I’m adding a feature or fixing a bug, anything that I touch gets cleaned up, tested, or improved in whatever ways I can. Anything I don’t have to change to fix the bug or add the feature doesn’t get cleaned up, (unless it gets changed because of other task-related cleanup).
This method seems to strike a good balance between cleaning up your campsite, and cleaning up the whole park.
Timbo: I should have specified that this “hate” is (for lack of a better word) internal. Professional software developers should treat people with respect…clean code is no reason to be a jerk.
All the great developers I know are very passionate about their work. Changing smelling part of the code comes to them naturally. Not having time and delivery deadlines are lame excuses. You don’t have to have a separate time allocated to refactor code, it should be part of the daily work. Unfortunately it takes a while for some developers to even understand what is bad code.
Fixing up bad code isn’t a bad idea on the surface. Of course, obvious things should be cleaned up as part of a debugging or refactoring effort. However, if the program in question is poorly designed as a whole, cleaning code up in a routine can cause “fatal improvements†where a little change in one routine causes serious bug somewhere else in the program.
I would agree with lots of your points. Having a healthy disdain for mediocrity is ok, but you have to also have the same energy and passion for making things better. It’s great to want to get better, but I believe it’s even more important to want to help other people get better.
You can’t do this alone you need other people with like minded views or at least other people who are willing to listen. There’s nothing worse than someone who wants things to be better but does nothing about it.
If you hate mediocrity, get everyone else hate it as well. That is the real battle I’ve found, if you can solve that your nearly home and dry.
I guess, Ben Rady is a bad developer!
Ben! Be careful with your words! Hate is NEVER good! In stead of hating “bad code”, encourage people to write “good code” by doing so yourself. Help your coworkers recognize code smells and help them to improve. Don’t belittle or humiliate people who didn’t have the chance to learn how to write good code.
Sebastian:
As I said in my response to Timbo, this isn’t about hating people. I never suggested that you should belittle or humiliate anyone. Quite the opposite in fact. The best way to foster this trait is to review your own code with a harsh eye (say, that stuff you wrote 6 months ago that you’ve totally forgotten about).
I call it as I see it when it comes to code. When it comes to my own code I’m brutally honest. When it comes to other people’s code, I am respectful and diplomatic, and I only give advice when explicitly asked. But doctors don’t learn how to practice medicine by hanging around healthy people. If we want to improve, we have to address the bad code in front of us and take action to change it. Most of the code out there is bad, but still must be maintained…simply focusing on how to create good code is not enough.
Ben:
I 100% agree with your last statement. It’s just the title that I found somewhat dangerous.
@sebastian
Titles really only serve three purposes, and one of them is to pique curiosity.
It secondly serves as a handle, rather like a pattern or code smell name.
The third is to help people find your content when given a title-inclusive extract (like google search results or a list of articles by author).
For two of three purposes, this title serves very well. It is evocative and memorable. But I could see how it would be a poor act of marketing to use it in some situations.
Most alternative phrasings I came up with failed two of three.
I’ve only known Ben a little while, but he absolutely does not seem to be the kind of person who would hate, hurt, or humiliate others. He’s a good guy, a good coach, and a good developer. And I’m not just saying that because we work for the same company.
I agree with this article.
As the author says, it is a trait.
Any person very good in their field should cringe and be annoyed with slopiness from themselves. This is what drives in the direction of perfection.
You can’t do this alone you need other people with like minded views or at least other people who are willing to listen. There’s nothing worse than someone who wants things to be better but does nothing about it.
You see this “fanaticism” in most creative fields. I’ve read that Frank Sinatra was a real pain in the recording studio, because of his fanatical attention to detail.
the third is to help people find your content when given a title-inclusive extract.
i am a jerseys fan ,loveing collection all team menbers jerseys. this is my jerseys web site:Cheap jerseys give me some advice,thanks!
a title-inclusive extract (like google search results or a list of articles by author
You see this “fanaticism” in most creative fields. I’ve read that Frank Sinatra was a real pain in the recording studio, because of his fanatical attention to detail.cheap VPS
I thin that things should be done the best way.Great people constantly looking and learning to find exactly what the best way is.these are key traits of great people.thanks for sharing this nice article.keep it up
At start, I’d prefer to say thanks to you for this informative article. 2nd, I’d prefer to wonder wheresoever I can learn greater info related to your post. I just came here through Yahoo & can not get any linked up web internet sites connected to this matter. How do I subscribe for your web blog? I had prefer to bind to your updates as they come along! I had a query to interrogate but I forgotten what it absolutely was… anyways, thank you very much. Author of how to cook beef tenderloin
If you aren’t embarrassed by previous version of your software,then you spent time crafting and reworking it,until you loved it. I don’t agree with it that we should write a bad code,because it is vitally important that there must be an idea about what will be the end of your code.Anyways good sharing right here.Thanks for your post.
selam sana object
I think learning from mistakes makes us great,,, It is not always true but the people who learn from mistakes never face a failure in life… Either way round if any one does not learn through mistakes then no other way that make him great… http://www.alinalist.com/craigslist/craigslist-fort-worth-121.htm
Keep in mind that although we typically know what the effects of two or more drugs have the mechanism
Hoping to halt the rolex yacht master replica slide, Paladino used his three-minute longines hydroconquest televised address to explain why ????? he threatened to expose alleged tissot chronograph extramarital affairs by Cuomo—burberry belts and then threatened to “take ??? out” a reporter who asked longines dolce vita watches him for proof.
Simply throwing everything out and starting over is rarely the best option. While good developers can’t stand bad code, great developers make cleaning it up appear effortless.
we offer you canada goose to enjoy the winter!! canada goosewarm canada goose parka protection canada goose expeditionfashionable canada goose jakkerlet you have Happy winter canada goose jakkeGood quality
Canada goose jakkesnug Goose jakkeYou’re Worth It Canada goose jakkerremain stylish Canada goose parkais a trustworthy brand Canada goose tilbudis the best one
canada goose jacka vogue goose jacka pretty canada goose jackordifferent designs outlet canada goose amazing canada goose Expedition smooth welcome to buy!thank you!
We should do what we need to do everyday.
Mulberry Factory Shop Online – We mainly supply Alexa Mulberry Bags,Mulberry Bayswater,Mulberry Messenger,Mulberry Purses and Mulberry clothing.We only sell authentic quality Mulberry products at best discount price.Only move your keyboard,then you can enjoy your passion for choosing among thousands of Mulberry products coming from the latest collections of the mulberry designers . So why don’t you let your Mulberry dream come true today?
There are so many variations available in Louis Vuitton Charms. If you like something trendy then you can always go for something like Tresor Wallet which is among items in new collection of 2010. Tresor wallet’s main feature is its zip which divide whole wallet in two different parts where one can place their belongings like credit cars, keys, and bills. Outer side of this wallet gives look of canvas with unique color combination. There are so many other varieties as well, so you just need to make your selection and grab one for yourself.
The LV Messenger Bag include all the best designs for luxury of the customer. The collection has Monogram Perfo Pochettes, Speedy satchels, and compact wallets. As a tip in buying a Louis Vuitton handbags, make sure that you purchase it in a smoke free location. The cigarette smoke tends to enter the fabric of the product down to its patent leather materials which are very hard to get rid of.
In buying any of LV EPI Leather, it is noteworthy to do careful examination on its design components and the signature materials used. That is to make sure you are not buying a fake counterpart of LV products. As you can see, the monogramming on the LV bag must be placed in a symmetrical arrangement to ensure its authenticity. The stitching on all LV bags are firm and smooth. For multi-colored designs, you also have to check if the colors are included in the list of the 33 colors officially utilized by Louis Vuitton Bags.
Like all of its products, Louis Vuitton Sandals come in very unique styles and for every design, only few reproduction are allowed to make sure that every client carries exceptional item and is incomparable to any of the women buying another LV product. Some of the highly patronized designs include the Sarah Wallet, the Koala Wallet, and the Round Coin Purse. These are all classes of Louis Vuitton Monogram purse.
We need clean code, we can have good design, we love iPhone more than myself.
on’t belittle or humiliate people who didn’t have the chance to learn how to write good code.
Thank you for this nice post
my blogs : calories in food | how to put on a condom
great post thanks for sharing with us. michael van der ham
Intertech Machinery Inc. provides the most precise Plastic Injection Mold and Rubber Molds from Taiwan. With applying excellent unscrewing device in molds, Intertech is also very professional for making flip top Cap Molds in the world.
Thank you for this blog. That’s all I can say. You most definitely have made this blog into something that’s eye opening and important. You clearly know so much about the subject, you’ve covered so many bases. Great stuff from this part of the internet. Again, thank you for this blog. Truth About Quickness Review
moving companies portland oregon I am just new to your blog and just spent about 1 hour and 30 minutes lurking and reading. I think I will frequent your blog from now on after going through some of your posts. I will definitely learn a lot from them.
Take the opportunity to make things better now.
Hate is good but it is being done for the good of someone otherwise its of no use. daycare grants
Thanks for shareing! I agree with you. The artical improve me so much! I will come here frequently. Would you like to banckup iphone SMS to mac, macBook, macbookPro as .txt files? Now a software iphone SMS to Mac Backup can help you to realize it.
I totally agree, thanks for sharing this. Your information is different from any that ive seen but definitely intriguing! Enormous Lash Reviews
We are the professional scarfs manufacturer, scarfs supplier, scarfs factory, custom scarfs.
sun
sung
When you have a deadline to meet, there isn’t much time that you can spend improving the quality of the code. But the most important are the other people you work with. Someone who wants things to be better but does nothing about it and always complain is a disaster.
.They dont have seams, in which you you women’s bracelet you can see where the cheap bracelet connects to when they are produced flat. They are round, and wont turn or oval, and keep its roundness. They stretch, and dont easily snap off. They have great texture, not those that that women’s bracelets that you would feel itchy after wearing it.Of course, when you are ordering something, the first thing you would look is the quality of the silicone wristbands. Some wristbands just have this poor texture. This means that when you touch touch women bracelets touch or wear these wristbands, they feel rough and sometimes this could cause skin irritation.Another thing is, when you put
the other bracelets, they just snap off because of its poor quality.
Good work,thanks a lot…
Wow, this is too cool. I am very like it, Thank you for sharing
oooo yes i agree with it
internette görüntülü olarak okey oyunu oyna, gerçek kisilerle tanis, turnuva heyecanini yasa.
Nice article to read this blog. Thanks for sharing this to us and God Bless!!!!!
Thanks for sharing your wonderful information and i enjoyed your writing about this topic…
Good work and very useful information, thanks a lot for your wonderful posting in this blog…
I like the posting of your website, it is beautiful and superb very useful your posting information. Thanks for sharing your beautiful info in this blog!!!!
The article has been finished.
Online UK costume and fashion jewellery shop with, c
very cool blog post ! i’ve been reading this blog for some time and it have cool content!
healthy disdain for mediocrity is a wonderful software made by great software developer .This is an impressive shearing by Ben Rady mentioned various important software and their developers.
disdain for mediocrity is a wonderful software made by great software developer .This is an impressive shearing by Ben Rady mentioned various important software and their developers.beats by dre sale cheap beats by dre
thanks for the post friend
wonderful post …
healthy disdain for mediocrity is a wonderful software made by great software developer .This is an impressive shearing by Ben Rady mentioned various important software and their developers.
what makes this event really, really special are the attendees.
Acnezine, Natural Pain Relief, Hoodia Gordonii, Breast Actives, Lip Plumper
Good tips and well written, looking in-depth material on this. I found this piece of information very useful. thanks for share..
Wow, this is too cool. I am very like it, Thank you for sharing
I had really very happy for the nice services on this blog that to really love this info in this blog. Thanks a lot for visiting the nice services in this blog that to utilize the different technology.
Thanks for the information, I’ll visit the site again to get update information online shopping
This is really very happy for the unique info in this blog and wonderful info is display in this blog. Thank you very much for providing the great technology in this blog. I was really happy for visiting the nice info
Now that I’ve Provided the 1st of my Vegas talks I DesiRed-colored to Article Almost everything On line for Anybody who couldn’t Go to in Particular person.ralph lauren shirts Slides are Right here (OpenOffice Structure)WStrikeepaper is Right here (Pdf file)No.-ME Resource code is…At present kinda ugly.ralph lauren shirtsralph lauren hats If Anybody In fact Would like a Duplicate Allow me know and I’ll Thoroughly clean it up for Launch.217 Ft is the Variety I Arranged; I Think that’s a Globe Report (beating Each the 69 Ft from Flexilis at Defcon 13 and the 65 meters claimed by ThingMagic in a Yahoo Tech Speak). My Gear is capable of Much Extra but I Strike the Restrict of my Variety;
Womens Pony Polo
a chainlink fence a Number of hundRed-colored yards Aside was reflecting the RF Energy, meaning that Extra Energy led to Higher interferenceUsa Style Custom Ralph Lauren will be the Standard outfitter of the US Olympic and Paralympic Clubs for London 2012, Creating the opening and closing ceremony parade uniforms.Ralph Lauren previously Developed the Groups’ uniforms for the 2008 Game titles in Beijing and 2010 Winter Game titles in Vancouver.Ralph Lauren Tees
In Add-on, Ralph Lauren will Design and style a Selection of village Put on Clothing and Add-ons inspiRed-colored by the 1948 Olympic Game titles in London. The vintage motifs will Combine with Modern day styling in Usa Colours of Red-colored, wStrikee and navy and new Olympic Group logo.The Ralph Lauren 2012 Olympic Collection Characteristics reissued heritage pieces from the 1930s and ‘40s, Which includes fleece Cozy-ups, a cricket-Training collar shirt and sweatshirts with United states appliqués.Ralph Lauren Sweaters
Reproductions of Monitor & Area Design and styles Characteristic an updated 1948 crest.Hate is good 74 hoo,good article!!I like the post!42
Hate is good 75 good post168
Hate is good 75 good post169
Thats the scale of it. Oil will not last for that long, but just screw up the planet..
There were a lot of conversations about the college research paper service. However, university students will know lots about the assignment writing service purchasing essays topics there.
Gladiator boots are very Christian Louboutin sneakers much sought after. They Christian Louboutin peep toe glitter pumps are found on the feet Christian Louboutin lady clou of celebrities and the Christian Louboutin slingback fashion conscience worldwide.
Fantastic info is visible in this blog that to using the nice approach is visible in this website and the nice services in this blog. Thanks a lot for using the great info is visible in this blog and the unique technology.
Being a new mom, there are major changes as to how you would carry and present yourself as a full-pledged mother?