Title says it all... Mine is "Never stop learning"... :)
Keep it simple.
"It works on my Machine!"
A good programmer always looks both ways before crossing a one-way street.
Programming is like sex. One mistake and you have to support it the rest of your life.
If you aren't proud of it, it isn't good enough.
Mine is: "There must be a simpler way to do this..."
when writing software, imagine that the person who has to maintain it is a violent psychopath who knows your address.
Keep everything clear, obvious and as self-documenting as possible.
My job is not to program. My job is to provide business value. I happen to do that by programming sometimes. More frequently, I do it by not programming.
Make it run, make it right, make it fast. My dad told me this the first day I started programming. I still have to remind myself sometimes. Make it run, because it's too easy to take counsel of your fears and spin off into AbstractDesignLand. Make it right, because there lies the joy of software. Make it fast so people can use it, but don't make any performance-related decision until you have solid evidence.
“A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away.” —Antoine De Saint-Exupery
When in doubt Google it StackOverflow it
Never solve hard problems.
Divide hard problems into simple ones, and solve those.
Write. Less. Code.
Never ever underestimate the stupidity of the user!
Red, Green, Refactor
Failure is not an option; it comes bundled with the software.
"If Brute Force isn't working for you, you aren't using enough of it!"
If you think education/training is expensive, try ignorance!
"Any sufficiently advanced technology is indistinguishable from magic." -Arthur C. Clarke
"If you need a motto, you're doing it wrong."
Not a dig at the person who posed the question on here, it was asked offline at my old work place a while ago and with the suggestion that "all good developers have a motto" I replied with the above. Good developers tend to have sound-bites that are bandied around, as they tend to be good at being succinct. I tend to avoid mottos.
Nothing is complicated!
Complicated = a bunch of simple things mixed together.
Break it down.
Then make it simple.
This goes with steve.off.myopenid.com's answer.
two things
1: Learn something new everyday. A new command, new switch for cmd, new concept, new word.
2: Hope for the best, plan for the worst. Try to evaluate all the ways your code could fail and immediately begin testing with boundary conditions and bad input values.
From the Tao of Programming:
A program should follow the `Law of Least Astonishment'. What is this law? It is simply that the program should always respond to the user in the way that astonishes him least.
9 Women can't make a baby in one month.
Mine is also a life motto and is actually tattooed on my arm :)
"Aut viam inveniam aut faciam" - I will either find a way or I will make one.
My place of work's motto
"We don't have time to do it right, but we have time to do it over"
Keep it simple stupid
if you think you're a good coder you stop becoming a better one
Cheap, Fast, Good.........pick any two.
Give me six hours to chop down a tree and I will spend the first four sharpening the axe.
Abraham Lincoln
There has to be a better way to do this....
If you don't have time to do it right, how come you have time to do it twice?
"I have not failed. I've just found 10,000 ways that won't work."
Thomas A. Edison (1847 - 1931), (attributed)
"How does this help the user to kick ass?" - Kathy Sierra [1]
[1] http://headrush.typepad.com/creating_passionate_users/Premature optimization is the root of all evil.
"Code as if somebody else needs to understand your code."
and
"Do no evil!"
Don't fix it if its' ain't broken
"Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." - John F. Woods
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction." - Albert Einstein
Weeks of coding save me hours of planning
"It works", "leave it alone".
This is more of an Anti-Motto, but its a quote that always reminds me that making the code concise is what I should be striving for.
I have made this letter longer than usual, only because I have not had
the time to make it shorter.
-Blaise Pascal
"When in doubt, pretend it's magic"
"Master one thing. Learn as much as possible about everything else"
Test, test, test
Im Lazy, thats why im a programmer
I actually have those two sentences as background on my dev machine:
"Does that make sense to people?" and "If it ain't broke, you're not trying hard enough"
My old boss used to say 'measure twice, cut once'.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
[From The Wizardry Cursed by Rick Cook]
Walking on water and developing software from a specification are easy if both are frozen. - Edward V Berard
The IBM Polyanna Principle:
Machines should work; People should think.
"Listen to your fear."
One of the hardest lessons I've had to learn is that if there's something I'm avoiding looking at, or something I'm half-afraid to look at, then that's almost certainly the part that is misdesigned, miscoded, or most likely to require changes later on.
In this case fear isn't the mind-killer. It's more like the smoke alarm.
"Don't be a language snob. Use whatever works or whatever your customer wants and is willing to pay for."
A program has two purposes. First, to be read and understood by humans. Second, to be understood and run by a computer.
If at first you don't succeed, redefine success. :)
def didWeSucceed{ if (false) { return true; } }
? - pipitas
def didWeSucceed { return true; }
. But my method always returns true, because if (true)
will always run. Whereas if(false)
will never do so. In other words, my method always says we succeeded; yours always says we failed. - Nathan Long
"It depends."
That's the answer to all good software engineering questions, really.
To be a good software engineer, you should know on what it depends, and why.
"You can have it
Pick any two."
In God we trust, the rest we test! :-)
For this I stand with the viewpoint of Einstein :
"Everything should be made
as Simple as possible,
but not simpler."
And attitude level - "Right Guy for the Right Job"
Underpromise, overdeliver.
"To err is human, to really screw things up requires a computer."
"An error is not a mistake until you refuse to correct it."
Make it work. Make it work right. Make it work better.
In that order.
"Under-sell, over-deliver"
A test that succeeds when it is intended to fail is far more worrisome than when it is intended to succeed.
Embrace The Chaos!
This has made me program crazy stuff for it's, well, crazy and fun.
Like the Jupiter ACE emulator [2] in 3D or a dancing Steve Jobs [3] in iTunes or a 3D modeling app for the Palm [4]
I also have another one:
[1] http://www.memention.com/blog/2009/08/20/How-hard-can-it-be.html"If you want something done you'll have to do it yourself"
Question Everything.
If it's not tested, it probably doesn't work.
Automate whenever possible.
"It works on my machine!"
The only code without bug it is that you didn't write
it was working before...
rule number one, never say its going to be easy.
A regex is the light at the end of a long, dimly lit tunnel. The light of an oncoming train, that is.
If it's too hard you're probably doing it wrong.
Write it so that your Mum could use it
Everything can be solved using an extra-level of indirection
Oh shit, I broke the build again. D:
Look both ways before crossing a one way street
There has to be a better way to do this...
Most normally followed by... No whammies... no whammies... no whammies... COMPILED!
What are you doing wrong with our bug-free product?
Free the Mallocs!
"Never let a programmer name anything!"
Keep It Simple Stupid, there's a quote that springs to mind when someone's getting all "clever" about their implementation of a feature, to paraphrase:
Debugging code is twice as hard as writing that code in the first place so if you're writing code approaching your technical limits then you're already too stupid to debug it.
Now I don't completely agree with that (as you can learn while you're debugging and thus improve to the level where you're ok) but it's always struck a chord with me.
Assume nothing!
Everything should be as simple as possible - but no simpler. -- Albert Einstein
wikiquotes [1]
[1] http://en.wikiquote.org/wiki/Albert_Einstein"As simple as possible, but no simpler" -- Einstein (?) via Scott Myers
Nothing is impossible - it just needs more time to implement.
It is by caffeine alone I set my mind in motion. It is by the bean of java that thoughts acquire speed, the hands acquire shaking, the shaking becomes a warning. It is by caffeine alone I set my mind in motion.
(from "Dune", via the Scary Devil Monastery)
assert(ItWorks != ItIsCorrect); # Ever
and
If you tell lies to your computer, years later, long after you've forgotten, it will tell tham back to you. So, never tell lies to your computer.
When your product is 80% complete, that means you have another 80% to go.
Any fool can make things bigger, more complex, and more violent. It takes a touch of genius-and a lot of courage-to move in the opposite direction.
- John Dryden
Who needs unit tests when you've got BDD (breakpoint driven development)
Who wrote this crap?
(sometimes I find out it was me)
"You have asked for X, but you actually need Y."
My job is to code myself out of my job.
Anything is possible.
As programmers, we have the power to do magic within the universe of the computer. There are some rules, yes, but just about anything can be done. If someone tells you that what you want to do is impossible, then they're either wrong or lying.
I think that this applies especially in the field of language design.
"It is unbecoming for young programmers to utter maxims" - Aristotle
Nothing is too complex to solve with enough layers of abstraction and nothing is too simple to make too complex with enough layers of abstraction.
"The Definition of an Upgrade: Take old bugs out, put new ones in."
From my friend's status.
The fastest code is that which doesn't run. Joel Webber, GWT co-creator.
Language is froth on the surface of thought
a John McCarthy quote
Do it once, do it right, never have to do it again.
Perfection is when there's nothing left to remove.
More Cowbell!
Plan it on paper.
"Use the source Luke...."
First learn to solve problems then, if you must, learn to write code.
"Nothing is impossible in software."
It's helped me think around some stubborn problems and inital thoughts of "it can't be done", "it's impossible", etc.
"Good code reads like documentation". From the Agile Manifesto, I think.
Save Early, Save Often, Dont check-in till its reviewed.
There is always one more bug ...
I've always thought of Soichiro Honda [1]'s quote "Success is 99% Failure" to be a good one.
The Zen of Python [2] has a lot of ideas I really like too.
[1] http://en.wikipedia.org/wiki/Soichiro_HondaA restart will fix it.
KISS, Refactoring, Redesign if needed, Create test cases and when another problem appears add it to your test cases, Ask a friend when you're in trouble.
Communication has no.1 importance in a big project and not only.
Try to leave code I touch better than I found it.
"Don't repeat yourself"
Ping-pong development methodology: Keep on whacking it until it doesn't bounce back.
Fast, cheap or right -- pick any two.
There are no impossible tasks, it's all a function of time and money.
(if !what_you_had_in_mind) GOTO 2
When in doubt - morph it more!
Morph it 'till it rings!
Luck is skill
I do what I must because I can.
Make it work, then make it fast.
make someone else's job easier...
think more, write less
It's often better to solve the general class of problems of which the problem before you is merely a specific case.
The first step to becoming a good programmer is to admit that you're not.
"Some hours of trial and error can save you minutes of reading manuals" :-D
This one's more methodological than a general motto, but here goes:
Stay awake, stay awake...
"Real artists ship."
Good enough is neither.
I have 2:
Keep It Simple, Stupid (KISS)
and
Let It Go.
If architects built buildings the way programmers write programs, the first woodpecker that came along would destroy civilization.
Don't be like Jeff (atwood)
"It's not about the tools" and "a buggy product today is better than an Apple product tomorrow".
If it is to be it is up to me.
Get better... you are no master.
Try not to screw up too bad; if you do, don't do so repeatedly.
"Serving simple solutions to perplexing problems, perpetually."
That's my motto at the moment, it may get refactored sometime...
Wisdom begins in wonder.
As soon as you write a line of code, it is in maintenance mode.
"Expect the unexpected" and "Trust no one" (from users, library functions, etc.)
Before I push open the office main door, I tell myself:
I am not here for money. I am here to learn something new ..
It has kept my little candle burning inside me..
It's always the cables.
10 KILL HUMAN
20 GOTO 10
"I can make it do anything you want, provided you give me enough time and money."
As a consultant, that's my standard answer to clients asking "can you write a program that does this?"
"Be your own client"
Beautiful is better than ugly.
"Start out stupid, and work up from there." -- Bruce Henderson
I wanna change the world, but they won't give me the source code.
Motto: keep it interesting.
"Experience is what You get, When you don't get what you want."
"Dude, get the hell out of my chair."
"The more people I meet, the more I like my cat."
Simplicity.
Be kind and helpful to your users
Suck less today than I did yesterday.
Mine is: "I never finish anyth.." ;)
When i program for myself, it is:
"You are not a team of 50 people, so stop planning big advanced applications"
Under promise, over deliver.
Do Not Follow One Line Mottos.
The user is always at fault until proven otherwise.
Make something people want.
If I can't explain it to an 8 year old, don't code it yet.
I love the DRY motto: "Don't Repeat Yourself". It drives me to constantly refactor my code which ends up making things simpler and more readable. The best code patches are ones that remove code.
Use the correct language to solve the problem.
Leave the code cleaner than when I found it.
It's not done until the customer says "Yes, that's what I needed!"
Nothing good comes out of test
If you can build it, your users can break it.
From Terry Pratchett, natch:
Cuius testiculos habes, habeas cardeo et cerebellum
Tests first.
Don't Make Me Click!
Write human readable software.
Slow down, get it in writing, and it's never too late to test one more time.
Do your best to get it done on time, but doing it the right way is more important.
Continuous improvement is the only path to perfection.
Nothing is idiot proof, to a sufficiently motivated idiot.
"I don't fix problems. I work around problems."
"Software should meet the user on their terms, not the other way around."
And my favorite for making big, technical decisions... "What could possibly go wrong?"
Codito ergo sum
Don't ship crap.
ugly but functional.
Correctness first.
There is no spoon.
What if... ?
Let's get this thing out the door.
I have a few...
Don't do anything a machine could be doing.
With a PC, the easy things are easy, but the hard things are impossible. With UNIX, the easy things are hard, but all things are possible. -- I don't remember the source... Schwartz maybe?
Just say NO to a pretty GIU.
Driving a mouse is about like driving a truck. When I drive a keyboard, I'm driving fleets of trucks.
A new computer is a hundred times cheaper than a new employee, and the computer works around the clock.
My motto is: Script it and go to sleep.
In other words, don't waste your time doing routine menial tasks (like renaming individual files in a directory) when you can automate the process and be more efficient.
As a corollary, I do like "keep it simple, stupid". Engineers and Programmers seem to take pride in over-complicating solutions.
"Rule Four: You can accomplish more with robots than you can with stress."
(from http://merovingian.livejournal.com/ [1])
[1] http://merovingian.livejournal.com"If you were accused of being a developer...would there be enough evidence to convict?"
The second time you need to do something: automate it!
It's never idiot-proof.
Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!
The most important thing in the programming language is the name. A language will not succeed without a good name. I have recently invented a very good name and now I am looking for a suitable language. D. E. Knuth, 1967
"we are all going to hell and I'm driving the bus".
Translation/explanation/how do I understand it: "enjoy your life/job to the fullest, learn from mistakes, fear nothing, and try have fun no matter what happens."
The fewer lines of code...the better!
It seemed like a good idea at the time.
"You have to belive you're creating the best app, the best business, the best experience in the history of our industry.
Nothing Less".
Alex Hunter
"Progress is made by the unreasonable man".
What could possibly go wrong?
Reduce duplication and Don't Repeat Yourself.
Favor composition over inheritance
If you are doing too much, stop and think. If you are thinking too much, stop and do.
Helps strike a balance between over/under planning
"No rest for heroes"
You shouldn't ask "whether" something needs or should be done. You should ask "What are you willing to give up to get it?"
Nothing is easy.
Understand the problem.
Reduce, reuse, refactor.
Anything's possible...KEEP THINKING!!!
This is more of a troubleshooting motto than a programming motto, but I like it.
"Quit thinking and look!" -David Agans in " Debugging [1]"
Further clarification from the same book...
"You can think up thousands of causes of the failure, but you can see only the actual cause."
Smile...tomorrow will be worse.
Not even the
echo
command is bugless
RTRJ: Right tool for the Right Job
Release the code - Heghlu'meH QaQ jajvam
Klingon speak for - Today is a good day to die
Best regards, Tom.
"Brevity is the soul of wit, not of reliable implementations."
I don't know how many times I've heard the "it's only 3 lines of code" argument to present a solution. And every time, 3 lines were not enough, or took days to write. Now, when someone tells me about their fabled "3 line function", and that it's actually running in a piece of software I have to maintain, I recoil in fear automatically, it's become a damn reflex.
AND, in reply to another response:
"My job IS to program, that is, to be on the receiving end of a problem, and solve it, programmatically or sometimes otherwise. To be a programmer is to be a problem solver. The marketing department can package that problem solving as a product and that will provide business value."
"The impossible we do at once; miracles take a little longer."
"If your code isn't elegant you haven't reached the right abstraction level yet."
Mine is not as funny...
Do it once, done it for all.
I'm a believer in reusability and think software developers are innovator and not programming monkeys.
Reduce complexity.
Don't let the perfect be the enemy of the good.
(said when I forget to upload updates)
"It must be cached in your browser"
Think big but take little steps and keep it simple.
write once, debug anywhere
If you are going to be a wall blocking my way, I'll drill a hole in you and blow you apart anytime! I am a paragon of masculinity. Go beyond the impossible and kick reason to the curb! Who the hell do you think I am!?
I got mine from a snack machine at Dynamix [1].
"Enjoy a snack now."
[1] http://en.wikipedia.org/wiki/Dynamix"You can't polish a turd"
"If you don't have what you like, you like what you have"
Usability above efficiency!
This week my motto has been
Do not confuse!
Write it like I'm going to have to physically perform everything it does every time it does it down the road.
Once you pop you can't stop!
"Fixed in vNext"
It is not impossible... It's only a question of time.
I can automate that!
Meta: Everything should be made as simple as possible, but no simpler. -Einstein
Implementation: Remove pieces (features, design elements, etc) until it breaks.
Not so much a motto as a way of thinking.
What Is A Computer?
A Computer Is A Big Box With A Little Man In It.
This Little Man Is "Myopic". He's So Myopic That He Can See Only One Instruction At A Time.
But This Man Is Fast. Blazing Fast And Getting Faster.
Also This Man Isn't Very Smart. He'll Attempt To Do Whatever You Tell Him To Do And Always In The Order That You Tell Him To Do It.
Push with authority.
and
If it isn't fixed, don't break it.
If the only tool you have is a hammer, everything looks like a nail.
“Non CM, Non Est” “If it isn’t in CM, it doesn’t exist” –Brian Carlton
CM
and EST
here ? - Rachel
"We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil"
"If you don't know how...SLEEP ON IT!!"
Programmierst du noch, oder denkst du schon?
All coding is regret.
Anything is possible given time, money and inclination
"Embrace failure"
Yes, I was very pleased when I found Erlang.
Business is 99% sales, the other half is programming.
never stop learning
A programmer is just a programmer. A developer should get one and stick to designing.
In the words of Mad-Eye Moody, "Constant Vigilance". You always need to stay on top of your game.
If you always do what you always did, you'll always get what you always got. - me
Failure should be expected. The faster you can recover from it, the better programmer you are. - me
"Keep it simple stupid"
"Treat everything in life like a challenge"
git-r-done!
Write your code as though it is to be submitted for marking.
Learn, Unlearn, and Relearn
Focus on the fundamentals and get something delivered.
If it works, break it!
"Bloody instructions which being taught return to plague their inventors" -- Machbet
Write your code and documentation so that someone else can tell what you were thinking when you wrote the code. Often that "someone else" for whom you are documenting is yourself a year from now.
We need to Adapt, Improvise and Overcome!
"Have fun"
Although I think this from the favorite quotes question might be a little more fitting.
"It's morning already?"
"If something seems to difficult, it probably is."
This has served me well over the years when I get too focused on the current solution path, which isn't the right one. Remembering this makes me take a few steps back and look for a better solution.
My job is to solve problems, usually with computers, usually with code.
Depnds on the day :
Good Day = Truism : "Single Stepping your code is the ONLY way"
Bady Day = Sarcasim : "What could possibly go wrong?
The motto I have on the wall next to me is:
Keep It Simple Stupid
That way I never forget it.
Adapt to change.
Whether its features, pace of technology, toolsets, etc....how are you at Adapting?
"Program it so a 2 year old can read it."
This sometimes leaves the marketing manager at a disadvantage.
"What do you mean user acceptance tests? Is my precious work going to be ravaged by a bunch of careless users?!?"
;-)
Do your best today. Do even better tomorrow.
I am a good cook, I am a fantastic eater. -Stephen Brust
I apply this philosophy to all things in life, not just food.
CASE: Copy And Save Everything
or, in modern business-speak:
Don't reinvent the wheel.
Where there's a Wills... there's a way!
Don't keep zombies in your backyard. You never know when they'll come to get you.
When you know something is not right, fix it asap.
Ego-free development.
Don't Repeat Yourself
if time is running short, make sure the code is working no matter how messy it is.
Comment why the code is there. Indent properly and consistently. Follow naming conventions. Don't write the same thing more then once. Have a sandwich.
Same as for my physics work: Hack the Universe.
Help stamp out bravery. What have you forgotten. -- from Rendezvous with Rama, Arthur C. Clarke
Real artists ship. -- Steve Jobs
Don't fit the problem to technology, find the proper technology to solve the problem.
Avoid duplicate code at all costs.
Software - The logical form of art.
Today it's: RED/GREEN/REFACTOR
"Be Prepared!" Anything can happen when you program executes, sanity check all user input.
I've done it before and it should be somewhere here...
If it's stupid and it works, it's not stupid.
Programming is art, not mathematics.
To serve and to protect.
also:
If I'm not making mistakes, then I'm not trying hard enough.
Code it and they will come...
It's not a bug it's an undocumented feature :-)
"If you didn't learn anything today, you weren't paying attention!"
"No coffee, No workee"
"If you can't understand the code, you probably shouldn't be modifying it."
"It compiles. Ship it."
cover your backside, always
no wikipedia, no google unless you are a cheater
Do it now!
I don't know!!! google is your friend.
Don't f*ck it up...
the code will always suck and you need to make sure that it will not suck and crash in the same time
The requirements are going to change in a month. I might have to make the change.
Write so I can understand it in a month.
"Why?"
While I'm mostly a BA these days I think it holds equally well in either role.
When you're green you're growing, when you're ripe you rot!
"It was like that when I found it"
Leave me alone I am busy (lol)
"Have 640KB, will travel"
I get paid to think hard thoughts. Sweet!
Simplify It.
Software is a business.
"Why didn't they find it in UAT?"
Not all problems are worth solving. Here's my estimate for that database app.....
And
If it's not in the spec, it's going to cost you extra, and it's going to be done later.
Or, as a friend of mine used to say,
"Okay, we can do that. What DON'T you want done?"
It'll take two more weeks.
Just kidding. I'd guess I'd have to go with:
Be reliable.
The code is the model, and the model is the code.
Any technology, no matter how primitive, is magic to those who don't understand it.
- Florence Ambrose [1]
[1] http://freefall.purrsia.com/ff300/fv00255.htmCOMPUTER POWER TO THE PEOPLE
DOWN WITH THE CYBER CRUD
Quote From: Ted Nelson, Computer Lib
Do it.
Do it right.
Do it right now.
"Plan to throw one away, you will anyhow." - Fred Brooks
"If you plan to throw one away, you will throw away two." - Craig Zerouni
If it doesn't work in the lab, it won't work in the field. If it doesn't work in the field, it doesn't work.
You have job to get done. Now do it.
The path to becoming a good programmer is paved with bad scripts.
It's only impossible because nobody has done it yet. (Glynn Willet, ATX Inc)
Do the simplest thing, write the simplest code.
I like the philosophy of NetBSD [1]:
Some systems seem to have the philosophy of "If it works, it's right". In that light NetBSD could be described as "It doesn't work unless it's right".
[1] http://www.netbsd.org/about/system.htmlI just keep tryin' ta get a little better Said the little better than before
from Mr. Brownstone by Guns N' Roses
A good program is nothing but a theory of the world.
And there is no sense in letting a few ugly facts spoil a beautiful theory.
I have codified my "motto" here: http://www.djb.co.za/?q=node/1
NOTHING is impossible. Its not rocket-science, nor is it brain-surgery. And, even if it was, there are developers for that stuff to - so the request isnt impossible.
KISS and never stop refactoring
it has never won and no win ever
"Think, Create, Educate, Enjoy"-John Maeda
Fix the potholes.
"Do the simplist thing that could possibly work." Too much time is lost coding overly complicated solutions to problems. Start with the simple, and then grow from there as needed.
"Experience is being able to say 'I think I've messed up like this before'"
Complex Software....made by lazy developers!
Well, I wanted to use something funnier and wittier, but here are two of the ones I find myself using fairly frequently:
The software architecture and platform isn't "done" until it can do everything it is conceivable and possible for it to perform within its domain through reconfiguration (obviously by these standards, I've never ACTUALLY completed a software platform or architecture :))
Don't be afraid to do it yourself
Commit early, commit often.
Also applies to designing, commenting, and testing.
It's just your code, it's not you which is being reviewed.
There's always a solution.
Nothing's impossible, every challenge is achievable one way or another; it's just a case of persevering and being creative until you find the right way.
"Those who can code - Compile, Those who can't code - Error Check, Those who can't error check are inevitably your bosses"
Relentless Incrementalism, and maximum stability!
I never stop my relentless pursuit of incremental improvement and the pursuit of perfect algorithms and code. There is always room for improvement, for a new way of looking at things, and a better way to attack a problem. I do this all with a near paranoid focus on making sure the resulting code is unbreakable too (I actually believe in the concept of bug-free software).
Sure, I have some basic objects, methods, and techniques that have "risen to the top" now and remain proven, efficient, stable, and accurate. But, I try to never let myself consider anything to be immutable, and I let me mind constantly ponder potential improvements (speed, stability, etc), and test my ideas regularly. This leads to all sorts of great programs that are not only robust, but fast and bug-free.
Google knows everything. StackOverflow knows less, but it's better organized.
In response to all the "simple" responses:
"For every complex problem there is an answer that is clear, simple, and wrong." - H.L. Mencken
:)
But there’s no sense crying over every mistake.
You just keep on trying till you run out of cake.
A seated genious will always go less far away than a walking dumbass.
Work smart, not hard.
(yet another variation of "keep it simple")
Reach the spec, scale to the unexpected.
Think bigger, code better, finish faster.
Think Ahead. Learn More. Solve Now!
"Good enough never is".
As a passionate pragmatist:
Figure out the least number of steps you think are needed, then get out Occams Razor and start shaving
It's a dirty job but someone's got to do it. (Faith No More)
"Designing computer software today is a race between software engineers trying to build better, idiot-proof programs, and the Universe trying to build better idiots. So far the Universe is winning."
Can't remember the author's name; feel free to me edit me if you do. (Originally saw it as a user signature on a technical forum. It's from a rather well known technical author, a Mr Grant, maybe, if I remember right.)
Computer systems... cradle to grave.
An ounce of testing is worth a pound of theory.
"That stuff is not rocket science, it only takes time".
The end user doesn't know what they want and the managers are even worse. Just implement and iterate.
Meetings with people who aren't developers are seldom useful, but it does get me out the office
Writing some software that was used in critical situations, and we were kibitzing about this motto thing. This one came to mind: "we get sloppy, we get cuffed."
I have several
1 - Reinventing the wheel is boring - and who wants an oval wheel that falls off every few minutes? Someone else has done this before.
2 - Make something work now, make it work better, later.
3 - Let's just do some Googling...
For me it's more like "Never give up" - I guess that's what happens when you're exposed daily to Coding Horrors and somehow you have to turn that into a nice application.
Progress before perfection.
persistence is the mother of perceived simplicity…
Write code as if you will never touch it again.
That means, do it right the first time. Do not bank on being able to go back later and fix it up.
NO matter what its all only software....
It just takes too long or too costly to produce.
why deallocate when you have have it live forever!!! (just kidding)
my real one:
Simple is better!
Do it from 9:00am to 6:00pm, and then shutdown your brain
You Never Finish.
Sorry, came from my alma matter :)
Mine would be: Just do it, whatever it is!
P.S. This is actually a line from my personal guidance book for programmers. I haven't made the book public.
Not mine but something a fellow programmer told me the other day:
"There’s no point in bandaging something that’s going to cause a hemorrhage down the line. Just fix it right the first time."
Red / Green / Refactor
It is to the point where I have nightmares about Christmas trees pruning themselves. It is for more than just TDD, now!
The art is in the code.
As long as I ease the job for the user, I don't care how much I have to do.
I don't really understand anything that I haven't built myself. I may think I do, but I don't. At best, I have a superficial familiarity with it, but I don't really understand it like I would if I had built it myself. (That's not to say that I should build everything myself; just that I shouldn't be deceived into thinking that I have mastered anything that I haven't built myself.)
By the same token, I am forced to admit, on a daily basis, that I am nowhere anywhere near as smart as I may think I am or wish that I was. Reflecting upon my own handiwork is a gentle reminder that I am capable of acts of overwhelming stupidity, astonishing hubris, and a mind-boggling propensity to repeat the mistakes of the past.
"If it was hard to write, it should be hard to understand"