How do I become a super programmer?
-
Marc Clifton wrote:
By starting off being a mediocre one, and programming, programming, programming!
This is the only way :)
Marc Clifton wrote:
And then one day waking up and realizing that the trick to writing the most complex systems imaginable is to make them out of the most simplest pieces possible.
you can say that again. this is the best answer anyone can get
Omit Needless Words - Strunk, William, Jr.
JumpyForum:CP Message board | Universal DBA | Ajax Rating | ExplorerTree | | Globalization in 20 minutes
Web based project trackingQuartz... wrote:
Marc Clifton wrote: And then one day waking up and realizing that the trick to writing the most complex systems imaginable is to make them out of the most simplest pieces possible.
it was said again. ;P Antony Life is nothing but an individuals perception of an immortals dream. - ME
-
Things are good, just been doing the whole uni thing, tended to be doing less stuff with computers (other than courseworks) recently, busy with other things. What have I missed here? dropped by the other day to find somebody leaving and posting guidelines about, although they seem to have been removed :suss: Its coming up to exam time now, so obviously im finding any and all means of not doing work, and am here.
Nnamdi Onyeyiri wrote:
What have I missed here?
This place is a lot like Eastenders. You can miss an entire years episodes and still pick it up where you left off.
Nnamdi Onyeyiri wrote:
Its coming up to exam time now, so obviously im finding any and all means of not doing work, and am here
It's good to see you still have your priorities right. :-D
Ðavid Wulff What kind of music should programmers listen to?
Join the Code Project Last.fm group | dwulff
I'm so gangsta I eat cereal without the milk -
David Wulff wrote:
In that case you really need to supplement typing code with other hobbies. I'm not being rude, but you really don't want it to develop as an addiction.
Why? :|
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
Because addictions remove focus and become a means onto themselves. If you want to program because you enjoy it, you don't want it to become an addiction or you will never enjoy it.
Ðavid Wulff What kind of music should programmers listen to?
Join the Code Project Last.fm group | dwulff
I'm so gangsta I eat cereal without the milk -
"Experience is the only thing that will help you, and the only way you can get that is through varied exposure to programming. Do you have a job as a developer? If not then finding one where you can work on varied tasks with huge amounts of pressure should give you the rewards you seek without becoming too overbearing, and the opportunities for advancement should fall at your feet." Sarcassm? Seriously - I'm not sure. I've been writing code for 25 years... longer if you add the overtime (paid and unpaid). Maybe I'm maturing or I have the post Christmas blues, but "huge amounts of pressure" gets old real fast. My practical experience has been that you can jump tall buildings, your hero status *may* last for 1 day, then it resumes with "what have you done for me today?" status. What say you? As far as the desire to be a super programmer, I would heed the advice to maintain a balance in life... the Carribean is calling me right now.....
Charlie Gilley Will program for food... Whoever said children were cheaper by the dozen... lied. My son's PDA is an M249 SAW. My other son commutes in an M1A2 Abrams
charlieg wrote:
My practical experience has been that you can jump tall buildings, your hero status *may* last for 1 day, then it resumes with "what have you done for me today?" status
I was under the impression that Heinze did not care what his peers thought, but rather was looking for his own rewards. Not being corporately rewarded for your acheivements is nothing new, and nothing unique to software development. Skill advancement is your responsibility to seek out and apply in the situations that are open to you, not your employers.
Ðavid Wulff What kind of music should programmers listen to?
Join the Code Project Last.fm group | dwulff
I'm so gangsta I eat cereal without the milk -
How do I become a super programmer that can whip up any algorithm in a short amount of time and design and write the most complex systems imaginable?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
I love it when someone says "How do I become super-experienced in a short amount of time"? It's just like saying "how do I get rich quick?". Go get in Amway or something - you'll find that "getting rich quick" doesn't work any more than becoming a "super programmer" overnight does! Here's your answer. Do it for awhile - then you can join the rest of us that have been doing it for 30 years and you'll look like a "super" programmer. -CB :)
-
By starting off being a mediocre one, and programming, programming, programming! And then one day waking up and realizing that the trick to writing the most complex systems imaginable is to make them out of the most simplest pieces possible. :badger: Marc
People are just notoriously impossible. --DavidCrow
There's NO excuse for not commenting your code. -- John Simmons / outlaw programmer
People who say that they will refactor their code later to make it "good" don't understand refactoring, nor the art and craft of programming. -- Josh SmithAnother way to improve your programming skills is to read other peoples programs. This is one of the main reasons I am involved in several open source projects. I get to read other smart peoples code.
Tanks for your support
Pat O
Blog_ _ _
/*\== /*\== /*\==
<ooo> <ooo> <ooo> -
How do I become a super programmer that can whip up any algorithm in a short amount of time and design and write the most complex systems imaginable?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
Captain See SharpHow do I become a super programmer that can whip up any algorithm in a short amount of time and design and write the most complex systems imaginable?
First Switch to R&D and second expand your horizons. Third learn languages that force YOU to do the work, understand the computer and how it works, or heck, get in and check out the assembly generated by your code to understand how it functions inside a computer. Fourth (or should that be Forth ;) ) give up absolutes in that sentence and you will be fine. "Any Algorithm" reminds me too much of my first boss, if one program takes 5 minutes to write, then all programs of any complexity take 5 minutes to write. All algorithms take the time that they take, especially in R&D. Back in '94 I wrote an algorithm inside an OpenGL class, all of 10 lines of code, half the industry was suing to get their hands on it. Algorithms are thoughts in code form. You have to have the idea before you can write it, that means creativity... Which brings us to Fifth.... Boost your creativity. Writing new algorithms vs. coding other people's designs is from creativity. http://www.creativitybootcamp.com/[^]
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
-
Hmmm...KISS??? Usually I find the simplest designs as the most excellent example of a super programmer... If I can go in and begin understanding code immediately (better yet the architecture) I consider that something super!!! Cheers :)
It's frustrating being a genius and living the life of a moron!!!
Hockey wrote:
Hmmm...KISS??
But that is vacation subject matter! :-D
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)
-
How do I become a super programmer that can whip up any algorithm in a short amount of time and design and write the most complex systems imaginable?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
I would look into using more patterns. Patterns allow a developer to look at a problem and apply a tried and tested method of solving the problem. I believe super programmers can apply and implement patterns without a second thought and develop an application quickly and with a lot less risk of bugs. There is a ton of information out there about patterns implemented in Java, C++, C# and VB.Net as well as many other object oriented languages. I think even if some claim it impossible to do, we should still strive to achieve this idealistic notion. My $0.02.
-
David Wulff wrote:
In that case you really need to supplement typing code with other hobbies. I'm not being rude, but you really don't want it to develop as an addiction.
Why? :|
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
You need to have a good grounding in the basics of how the world works. Coding all the time is going to strip you of the experiences that will actually make you a better programmer. Someone in this thread earlier said this: "These people are geniuses, and I'm amazed at how quickly they can reduce a problem down to essential issues, think of the problem from numerous angles simultaneously, and see how it affects the current architecture and usability, and all so fast they can't hardly articulate their thoughts." You can't learn those things from coding (20 years of coding experience doesn't hurt, though). Look at the hobbies I have on my home page... all those hobbies contribute to my understanding of the world in some way, and a couple also contribute to my technical ability. Folding origami is pretty far away from the machine, but it allows one to explore mathematical concepts, teaches 3D thinking, teaches step-by-step problem solving, and the ability to recognise intermediate steps that are not obvious from the instructions, etc, etc... Now take car racing in contrast... this allows me to explore my need for speed a little bit, but it also provides me with a non-technical social group to hang with, some education about mechanics and physics, troubleshooting skills, ability to recognise possible enhancements to a system and implement them, ability to understand how multiple things work together, and how the timelines of various devices operations combine to produce the goal (multi-threading = a car that moves). Becoming a total geek is going to hurt you more than you realise. Also, in the career arena, you are going to be competing against a whole lot of 'rennaisance geeks' (the kind with a wide variety of non-technical interests), and the new breed of 'socially capable' geeks. For me, learning how to interact with other human beings has been very helpful. For a discussion of actual skills to be a good programmer, see my blog: http://smoothjazzy.blogspot.com/2006/09/it-job-market-sucks-rocks.html[^] http://smoothjazzy.blogspot.com/2006/12/be-programmer-but-not-today.html[
-
Marc Clifton wrote:
By starting off being a mediocre one, and programming, programming, programming!
This is the only way :)
Marc Clifton wrote:
And then one day waking up and realizing that the trick to writing the most complex systems imaginable is to make them out of the most simplest pieces possible.
you can say that again. this is the best answer anyone can get
Omit Needless Words - Strunk, William, Jr.
JumpyForum:CP Message board | Universal DBA | Ajax Rating | ExplorerTree | | Globalization in 20 minutes
Web based project tracking"this is the best answer anyone can get" Yup... code, code,code about says it all! Plus it helps to have studied your customers subject domain say accounting or graphic design. Development is such a diverse area that no one method is final. What works for a small application roll out won't work for a major organisation update. What does COUNT is this though: "Delivery" It doesnt matter how good something is (or will be) if you don't deliver. ... Under promise and over deliver!
-
I love it when someone says "How do I become super-experienced in a short amount of time"? It's just like saying "how do I get rich quick?". Go get in Amway or something - you'll find that "getting rich quick" doesn't work any more than becoming a "super programmer" overnight does! Here's your answer. Do it for awhile - then you can join the rest of us that have been doing it for 30 years and you'll look like a "super" programmer. -CB :)
-
peterchen wrote:
It looks like, but that attitude will certainly not make you an excellent programmer
But it is, its a more relaxing and enlightening that the super nittygritty hard core books.
peterchen wrote:
It takes years and is hard work. Code Complete is a good guidebook, but you still need to find your way through the jungle yourself. But this isn't to discourage you - just so you take your plan serious enough to make it.
I've been programming for about 7 years now. I have never been really serious about it until a couple years ago, no one can discourage me from programming. I have even tried to learn x86 assembler but that was much to much for me.
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
It is mostly 'not about books'. It is about exposure. To tasks; to other peoples code; to doing 'maintenance'; ultimately, to learning as much technique in as many environments as you can. This takes time. I have been writing programs for over 40 years. I still learn new methods and practices almost every day. You can only be super within the realm of your expertise. Expand your expertise to get better. Learn wherever you can. Volunteer for tough assignments. That's how you become a super programmer (limited).;)
Michael J Wolfstone It is always fun to learn new stuff!
-
How do I become a super programmer that can whip up any algorithm in a short amount of time and design and write the most complex systems imaginable?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
A good start is a "Teach Yourself Programming in Ten Years" by Peter Norvig
-
How do I become a super programmer that can whip up any algorithm in a short amount of time and design and write the most complex systems imaginable?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
Great programmers are born, not made. If you were born to be great you probably already know it. All the programming tasks in school are easy. Programming is fun and you love doing it. You find that once you've seen an algorithm or an architecture you remember it without effort.
-
How do I become a super programmer that can whip up any algorithm in a short amount of time and design and write the most complex systems imaginable?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
Most things you can imagine doing have already been done. The key to being a super programmer is to use whats already there. Take google maps as an example; your provided with the map, Satellite image and the API to use them. They even show you how to embed the maps into your web site. All you need to do is provide the idea and the data. Lets take an anti-war type website. If you had the information available you could easily plot all the points where people were killed. You could use different colors for Civilian v's Military deaths... etc etc etc. Presenting information in this way has a much more powerfull impact than a text based RSS article. One of the biggest problems is access to the raw information. Not just as a one off import from an excel file, but a constant reliable supply of data that you can integrate into an automated process. Super programmer?.... forget it, there's billions of them in India & china. Focus on super design & super architecture... but thats just my 2c worth. Cheers
-
Most things you can imagine doing have already been done. The key to being a super programmer is to use whats already there. Take google maps as an example; your provided with the map, Satellite image and the API to use them. They even show you how to embed the maps into your web site. All you need to do is provide the idea and the data. Lets take an anti-war type website. If you had the information available you could easily plot all the points where people were killed. You could use different colors for Civilian v's Military deaths... etc etc etc. Presenting information in this way has a much more powerfull impact than a text based RSS article. One of the biggest problems is access to the raw information. Not just as a one off import from an excel file, but a constant reliable supply of data that you can integrate into an automated process. Super programmer?.... forget it, there's billions of them in India & china. Focus on super design & super architecture... but thats just my 2c worth. Cheers
ViewCartman wrote:
Super programmer?.... forget it, there's billions of them in India & china. Focus on super design & super architecture... but thats just my 2c worth.
Naa, I'll do what I want to do and that is design AND program. I was the whole thing.
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
-
How do I become a super programmer that can whip up any algorithm in a short amount of time and design and write the most complex systems imaginable?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
Ok, first thing is first. You need to realize a few things before heading into that direction. 1. There is NO shortcut available. 2. No theory alone can achieve your goal. 3. No practice alone can achieve your goal. 4. Knowledge will provide the method, so a fair share of study & reading is required. 5. Experience will provide the means, so a fair share of coding & programming is also required. good ... now to the answer. What you've described is NOT a programmer by ANY means what so ever. That's a software engineer which, i repeat is NOT a programmer (it's actually steps higher) nomatter what others say. Their difference is the same as muscle & brains (you guess which is which). Unfortunatelly, in nature, the muscles develop faster than the brain so there is this misconception that knowing language(s) equals to being a software engineer. That maybe true for small programs and projects but for complex systems and trully innovative algorithms, .... i know it's not. Whipping up an algorithm / complex system is not a matter of muscle but of brains. Programmers are very valuable because they must do all the hard work in as little time as possible. For that same reason they must behave as "stupidly" as they can, in the sense that they DON'T have the time to waste on questions like "How the .... do i do that algorithm?". That's the engineers job, to clear the road ahead so that programmers can run with 290 mph without having to worry about hitting something. And to do that, engineers must know what programmers know, how they work and what they need. Unfortunatelly that's not always the case, so eventually programmers have kinda learned to do all that stuff by themselves, just to make their life less miserable. PS: Programmers are not stupid. They're both innovative and clever people. It's simply their job to act like that because .. 1. It's not their job to figure out things and 2. They can't view the entire project in the most complete form, like the software engineer can. I usually don't write that much and in this particular case, i know i didn't answer your question but my goal was to point to right direction cause a "super programmer" would never be able to do all the things you've said. "Super" + "Programmer" would mean a programmer that punches (writes code i mean) the keyboard twice as fast as the others. That's not really much of a "super".
-
How do I become a super programmer that can whip up any algorithm in a short amount of time and design and write the most complex systems imaginable?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
Captain See SharpHow do I become a super programmer that can whip up any algorithm in a short amount of time and design and write the most complex systems imaginable?
:laugh: You sound like me! Well I was asking myself the same question. For that have even decided to switch from C++ to C#, however. But the equation of success is actually always the same, training, taining, training. But first, before you start to do anything, you might want to decide what actually you want to be an Albert Einstain in. Game programming? ... well once you know, SHUT THE HELL and TRAIN! :->
-- Roman Godhill, get the Geek On!
-
By starting off being a mediocre one, and programming, programming, programming! And then one day waking up and realizing that the trick to writing the most complex systems imaginable is to make them out of the most simplest pieces possible. :badger: Marc
People are just notoriously impossible. --DavidCrow
There's NO excuse for not commenting your code. -- John Simmons / outlaw programmer
People who say that they will refactor their code later to make it "good" don't understand refactoring, nor the art and craft of programming. -- Josh SmithMarc's answer is right on. But I would like to point out that an engine mechanic and a transmission mechanic are both auto mechanics and they both start with the basics, but their paths to being experts are very different. Choose your path... and when you become an expert, choose another...