How do I become a super programmer?
-
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...
-
Marc'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...
rtalan wrote:
Choose your path...
That's very true of just about anything nowadays. And I often wonder if specialization will mark the beginning of the end of human advancement, or will we be able to educate people that are cross-specialized or multi-specialized. 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 Smith -
CodeBubba wrote:
"How do I become super-experienced in a short amount of time"?
I didn't say in a short amount of time.
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
>> 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? << You're right ... I misread your context - I thought you said "become a super programmer in short time". I've heard so many say that I guess I read what I heard instead of what you said .. ;-) -CB :)
-
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".
MicManos, You pretty much hit the nail on the head. The issue isn't so much being a "super programmer" but being in a position to be able to solve relevant problems with relevant tools. That's the bottom-line and worth repeating: develop the ability to solve relevant problems using relevant tools. The thing that has kept me employed all these years (30) was not the ability to keep up with all the latest "bells and whistles". No one can do that, there's just too much going on. Some of these sharp young hotshots in our shop THINK they can but, then again, so did I when I was a young "hot shot". What HAS kept me employable is I have developed the ability to find, fix, design, create (pick any) solution using whatever tool happens to be available in my situation at the time. I don't always choose the latest and hottest tool to do it, either - I choose the tool that helps me dig up the problem and fix it the most expediently. Knowing how to FIND OUT what the best approach is works far better than trying to know all the approaches and keep 'em all in your head. Good diagnostic skills will, after a number of years, make what you do look like "Magic" to the un-initiated. Even some of these "hot shots" around here sit amazed when I find the solution to a problem they struggled with for days in a matter of minutes. It has nothing to do with my being more intelligent - I'm not. I'm just more "seasoned" if you will. Seasoning takes TIME - and consistent plodding along, developing your skills and sharpening the skills that serve your problem solving ability best. -CB :)
-
Quartz... 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
I Remember the following statement when it comes to programming: We the unwilling, lead by the unknowing, doing the impossible for the ungreatful, have done so much with so little for so long that we are now qualified to do ANTHING with NOTHING! so always start by complaining "You want it when???", and build it in a third of the time! You than automatically become a super programmer.
-
MicManos, You pretty much hit the nail on the head. The issue isn't so much being a "super programmer" but being in a position to be able to solve relevant problems with relevant tools. That's the bottom-line and worth repeating: develop the ability to solve relevant problems using relevant tools. The thing that has kept me employed all these years (30) was not the ability to keep up with all the latest "bells and whistles". No one can do that, there's just too much going on. Some of these sharp young hotshots in our shop THINK they can but, then again, so did I when I was a young "hot shot". What HAS kept me employable is I have developed the ability to find, fix, design, create (pick any) solution using whatever tool happens to be available in my situation at the time. I don't always choose the latest and hottest tool to do it, either - I choose the tool that helps me dig up the problem and fix it the most expediently. Knowing how to FIND OUT what the best approach is works far better than trying to know all the approaches and keep 'em all in your head. Good diagnostic skills will, after a number of years, make what you do look like "Magic" to the un-initiated. Even some of these "hot shots" around here sit amazed when I find the solution to a problem they struggled with for days in a matter of minutes. It has nothing to do with my being more intelligent - I'm not. I'm just more "seasoned" if you will. Seasoning takes TIME - and consistent plodding along, developing your skills and sharpening the skills that serve your problem solving ability best. -CB :)
-
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?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
This is a very good question, to which I would love to see good, solid answers. No doubt there are a great number of very experienced, highly talented, and intelligent programmers reading and writing for this site every day. If each of you thought about this problem, approached it like a programmer, and offer suggestions about what you believe would be traits of a super programmer, and how to develop those traits, then a plan for becoming a super programmer could be realized. I could say that a super programmer "thinks outside the box", but that doesn't do anything for anyone unless I suggest ways to do it. Maybe we could all be super programmers eventually if we all put our minds to documenting what works and what doesn't. (Oh, wait... documentation? Nah... It'll never work). I'll start by saying that a good programmer never uses GOTO. I haven't used GOTO in over a decade and I know through experience that if I were to use GOTO, the same routine could be written in a much more robust fashion without it. There is always a way around using GOTO, just restructure your approach and you'll find it. Ok, I've started with the most basic programming fundamental I could think of, aside from "always document your code". If others add to this, we may all benefit from it.
-
I Remember the following statement when it comes to programming: We the unwilling, lead by the unknowing, doing the impossible for the ungreatful, have done so much with so little for so long that we are now qualified to do ANTHING with NOTHING! so always start by complaining "You want it when???", and build it in a third of the time! You than automatically become a super programmer.
Amen to that brother. Antony Life is nothing but an individuals perception of an immortals dream. - ME
-
"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!
The two other things I would add to the code, code, code... 1) take classes from the smartest people you can find and 2) the look at and analyze every piece of code you can get you hands on until you understand what it is doing, why it does it this way and if there was a better way to have done it based on the training and analysis you've been doing or is this the best, simplest and cleanest way of doing what the code is intended to do? I've found over the 30 or so years I've been programming that there is always someone else smarter that I am that if I'm really as smart as I think I am, that I do everything I can to learn from both their successes and failures.
-
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?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
-
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?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
-
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?
█▒▒▒▒▒██▒█▒██ █▒█████▒▒▒▒▒█ █▒██████▒█▒██ █▒█████▒▒▒▒▒█ █▒▒▒▒▒██▒█▒██
How about becoming an accomplished software engineer? Elaine :rose:
-
Richie308 wrote:
People can imagine quite a lot.
Yes they can. They can imagine succeeding rather than not even trying because someone told them nobody can do that.
Richie308 wrote:
Your question is based upon a flawed premise.
Questions are never based on a flawed premise. Only conclusions. 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 Smith