Can I become a good programmer?
-
I have learned programming for 2 years, I can build a great application but need two much time to do (maybe double much more than others can do). The reason is I always make a lot of errors and bugs when programming and spend too much time searching and debugging before realizing those bugs are not too complex even some are very simple, the worse thing is I often encounter the same problems that I have already encountered before. If some one looks and feels my own application, s/he may think I must have a good programming skill and experience but s/he won't be able to imagine how much time and expense I had to spend and pay for it. I really love programming but that seems not to be enough. I need your advice, your experience and your stories about programmers. Thank you all! Anyway, I'll never give up!
I agree with Dalek Dave and Henry Minute. Also two years is really not that long to have been programming.
supernorb wrote:
I always make a lot of errors and bugs when programming and spend too much time searching and debugging before realizing those bugs are not too complex even some are very simple, the worse thing is I often encounter the same problems that I have already encountered before
That is all just part of the process. If you really love programming just keep at it and in time I promise these problems will become a thing of the past. Becoming a good programmer is something that takes a life time of dedication. If its in you to become a good programmer the someday you will be one. Good luck.
-
I have learned programming for 2 years, I can build a great application but need two much time to do (maybe double much more than others can do). The reason is I always make a lot of errors and bugs when programming and spend too much time searching and debugging before realizing those bugs are not too complex even some are very simple, the worse thing is I often encounter the same problems that I have already encountered before. If some one looks and feels my own application, s/he may think I must have a good programming skill and experience but s/he won't be able to imagine how much time and expense I had to spend and pay for it. I really love programming but that seems not to be enough. I need your advice, your experience and your stories about programmers. Thank you all! Anyway, I'll never give up!
Mistakes are what you make when you lack experience. Experience is what you get when you make mistakes.
supernorb wrote:
I'll never give up!
All that means is that you're probably not French...
".45 ACP - because shooting twice is just silly" - JSOP, 2010
-----
You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
-----
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass." - Dale Earnhardt, 1997 -
I have learned programming for 2 years, I can build a great application but need two much time to do (maybe double much more than others can do). The reason is I always make a lot of errors and bugs when programming and spend too much time searching and debugging before realizing those bugs are not too complex even some are very simple, the worse thing is I often encounter the same problems that I have already encountered before. If some one looks and feels my own application, s/he may think I must have a good programming skill and experience but s/he won't be able to imagine how much time and expense I had to spend and pay for it. I really love programming but that seems not to be enough. I need your advice, your experience and your stories about programmers. Thank you all! Anyway, I'll never give up!
Program defensively, check your inputs, check return values, log intermediate values, include assertions. And program in small increments. Always have your program ready to build, run, and test. Test thoroughly what exists before adding more features and bugs. One bug is easy to discover, pinpoint and fix; in the presence of several bugs, each of them becomes much harder to find. So work in small steps, that is the fastest way forward. :)
Luc Pattyn [My Articles] Nil Volentibus Arduum
-
-
I have learned programming for 2 years, I can build a great application but need two much time to do (maybe double much more than others can do). The reason is I always make a lot of errors and bugs when programming and spend too much time searching and debugging before realizing those bugs are not too complex even some are very simple, the worse thing is I often encounter the same problems that I have already encountered before. If some one looks and feels my own application, s/he may think I must have a good programming skill and experience but s/he won't be able to imagine how much time and expense I had to spend and pay for it. I really love programming but that seems not to be enough. I need your advice, your experience and your stories about programmers. Thank you all! Anyway, I'll never give up!
supernorb wrote:
I have learned programming for 2 years,
I've been programming professionally for 27 years and learn something new almost every day. The day I stop learning will be when it's probably time for me to hang it up. My advice to you is just keep at it. In time, you'll notice yourself making fewer mistakes - at least not the common ones. I'm glad you love programming despite the difficulties you've encountered. I've never met a really good developer who doesn't absolutely love what they do. Good luck! :thumbsup: /ravi
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
-
I have learned programming for 2 years, I can build a great application but need two much time to do (maybe double much more than others can do). The reason is I always make a lot of errors and bugs when programming and spend too much time searching and debugging before realizing those bugs are not too complex even some are very simple, the worse thing is I often encounter the same problems that I have already encountered before. If some one looks and feels my own application, s/he may think I must have a good programming skill and experience but s/he won't be able to imagine how much time and expense I had to spend and pay for it. I really love programming but that seems not to be enough. I need your advice, your experience and your stories about programmers. Thank you all! Anyway, I'll never give up!
supernorb wrote:
The reason is I always make a lot of errors and bugs when programming and spend too much time searching and debugging before realizing those bugs are not too complex even some are very simple
Welcome to the world of programming - I still make errors after almost 30 years of programming(and I hasten to add everyone else I know who has been programming as long does too). In fact finding an error is good - because when you find an error in code, and fix it, it means that you have one less unknown error in your code(I genuinely mean this and hope I am not coming across in some pop psychology BS manner here...).
supernorb wrote:
I really love programming but that seems not to be enough.
It is enough because it will give you the determination and patience to keep with it - I consider programming to be more of an art form than a cold mechanical instruction building toolkit. My advice - don't give up, keep going:thumbsup:
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
-
I have learned programming for 2 years, I can build a great application but need two much time to do (maybe double much more than others can do). The reason is I always make a lot of errors and bugs when programming and spend too much time searching and debugging before realizing those bugs are not too complex even some are very simple, the worse thing is I often encounter the same problems that I have already encountered before. If some one looks and feels my own application, s/he may think I must have a good programming skill and experience but s/he won't be able to imagine how much time and expense I had to spend and pay for it. I really love programming but that seems not to be enough. I need your advice, your experience and your stories about programmers. Thank you all! Anyway, I'll never give up!
Coming here is a good first step. One of the best things you can do is find someone to work with who can be a mentor to you. Ask them questions. When you don't understand the answers, and you won't a lot of the time, ask more questions. Compare the code your mentor writes to what you write. Figure out why it's different. If you think you have a better solution to a problem, ask them about it. When something doesn't work, figure out why and remember it. When something works well, figure out why and remember it as well. There are two qualities I associate with good programmers: perseverence and attention to detail. Perseverence means you keep at a problem until it's solved. It also means knowing when and how to ask for help when you are well and truly stuck. I've known some smart people, working as programmers, who were awful at it for one simple reason: they didn't pay attention. In our business, a single misplaced comma can mean the difference between a project that works, and one that is a miserable failure. Attention to details means keeping your code cleaned up. If you start down a bad path and change your mind, don't just comment the stuff out. Remove it and clean things up before you continue. Initialize your variables. Keep your comments up to date. Always assume a complete stranger will be the next person to read your code, and comment it accordingly. Trust me, there's nothing stranger than the person you'll be a year from now.
Software Zen:
delete this;
-
Coming here is a good first step. One of the best things you can do is find someone to work with who can be a mentor to you. Ask them questions. When you don't understand the answers, and you won't a lot of the time, ask more questions. Compare the code your mentor writes to what you write. Figure out why it's different. If you think you have a better solution to a problem, ask them about it. When something doesn't work, figure out why and remember it. When something works well, figure out why and remember it as well. There are two qualities I associate with good programmers: perseverence and attention to detail. Perseverence means you keep at a problem until it's solved. It also means knowing when and how to ask for help when you are well and truly stuck. I've known some smart people, working as programmers, who were awful at it for one simple reason: they didn't pay attention. In our business, a single misplaced comma can mean the difference between a project that works, and one that is a miserable failure. Attention to details means keeping your code cleaned up. If you start down a bad path and change your mind, don't just comment the stuff out. Remove it and clean things up before you continue. Initialize your variables. Keep your comments up to date. Always assume a complete stranger will be the next person to read your code, and comment it accordingly. Trust me, there's nothing stranger than the person you'll be a year from now.
Software Zen:
delete this;
Gary R. Wheeler wrote:
Always assume a complete stranger will be the next person to read your code, and comment it accordingly.
:thumbsup: /ravi
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
-
I have learned programming for 2 years, I can build a great application but need two much time to do (maybe double much more than others can do). The reason is I always make a lot of errors and bugs when programming and spend too much time searching and debugging before realizing those bugs are not too complex even some are very simple, the worse thing is I often encounter the same problems that I have already encountered before. If some one looks and feels my own application, s/he may think I must have a good programming skill and experience but s/he won't be able to imagine how much time and expense I had to spend and pay for it. I really love programming but that seems not to be enough. I need your advice, your experience and your stories about programmers. Thank you all! Anyway, I'll never give up!
supernorb wrote:
If some one looks and feels my own application
Perhaps you are trying too hard. Go for something simpler, like Polish programming. In, out, repeat as necessary. Very simple. Two methods and a loop. Marc
-
I have learned programming for 2 years, I can build a great application but need two much time to do (maybe double much more than others can do). The reason is I always make a lot of errors and bugs when programming and spend too much time searching and debugging before realizing those bugs are not too complex even some are very simple, the worse thing is I often encounter the same problems that I have already encountered before. If some one looks and feels my own application, s/he may think I must have a good programming skill and experience but s/he won't be able to imagine how much time and expense I had to spend and pay for it. I really love programming but that seems not to be enough. I need your advice, your experience and your stories about programmers. Thank you all! Anyway, I'll never give up!
supernorb wrote:
I always make a lot of errors and bugs when programming and spend too much time searching and debugging
At one level or another what you describe is what "experienced" developers do all day. Make mistakes and fix them, repeat until you have a usable product. With that in mind the keys to becoming a good programmer are: 1. Learn from your mistakes so you don't keeping making the same mistakes over and over 2. Learn the best ways to debug so you can find and fix your mistakes 3. Learn how to tell if you're progressing on a problem, or need help 4. Learn how to use google effectively to find others who have been stuck in the same place you are and how they got past that point. 5. Learn how to phrase a programming question in a way that more experienced programmers can understand the problem so they can help you. (both online and in person) Notice the common theme in that list? I know I was a fairly horrible programmer when I was 2 years into my career, and I would guess most people here were too.
-
I have learned programming for 2 years, I can build a great application but need two much time to do (maybe double much more than others can do). The reason is I always make a lot of errors and bugs when programming and spend too much time searching and debugging before realizing those bugs are not too complex even some are very simple, the worse thing is I often encounter the same problems that I have already encountered before. If some one looks and feels my own application, s/he may think I must have a good programming skill and experience but s/he won't be able to imagine how much time and expense I had to spend and pay for it. I really love programming but that seems not to be enough. I need your advice, your experience and your stories about programmers. Thank you all! Anyway, I'll never give up!
Dear friend, I believe it is all about your style and habits. its always better to make the whole system make error proof before implementing through testing. The main thing is your system design & your methods to develop it. Priliminary stages you have to go through lot of searching & corrections. still as you will become experienced it will become less. No one can start developing softwares with 100% knowledge about working tools. Sujith Kumar
Sujith Kumar K 00965-65030329
-
I have learned programming for 2 years, I can build a great application but need two much time to do (maybe double much more than others can do). The reason is I always make a lot of errors and bugs when programming and spend too much time searching and debugging before realizing those bugs are not too complex even some are very simple, the worse thing is I often encounter the same problems that I have already encountered before. If some one looks and feels my own application, s/he may think I must have a good programming skill and experience but s/he won't be able to imagine how much time and expense I had to spend and pay for it. I really love programming but that seems not to be enough. I need your advice, your experience and your stories about programmers. Thank you all! Anyway, I'll never give up!
My first programming job was 1 1/2 years long before I moved to another company. About 3 years later my first boss asked me to do one more system for him. When I returned, on a part time basis, I looked over what I had done in that first 1 1/2 years. A couple of the things I had done were brilliant, but most of my previous work was only adequate at best. Was was really the best part of going back and seeing my old work was realizing that I had learned enough in the three years after I left that I could tell what was "brilliant" and what wasn't. This will happen for you too as you continue in this business. And secondly, I have always been "slow" in EVERYTHING I do. When I was still in college, I worked as a carpenter. I was the slowest one in the shop, but when something out of the normal needed to be done, the boss always put me on it because, in his words, he knew I would do it best. I still love this field of work, and I've been at it, including my time in classes during college, for 41 years. You have the right attitude in "I'll never give up!" I'm really glad to have you in our field of endeavor.
-
I have learned programming for 2 years, I can build a great application but need two much time to do (maybe double much more than others can do). The reason is I always make a lot of errors and bugs when programming and spend too much time searching and debugging before realizing those bugs are not too complex even some are very simple, the worse thing is I often encounter the same problems that I have already encountered before. If some one looks and feels my own application, s/he may think I must have a good programming skill and experience but s/he won't be able to imagine how much time and expense I had to spend and pay for it. I really love programming but that seems not to be enough. I need your advice, your experience and your stories about programmers. Thank you all! Anyway, I'll never give up!
Sure you can. And don't think that being a good programmer means you will never have errors. Even the best still run into issues where they forget to declare a variable or even just forget a ; at the end of a line or a } at the end of a method or a ) after a call. Two years isn't that long and it is best to get some real world programming in (make your own applications at home that you could benefit from using on a daily or weekly basis). I am making a movie DB and i know that others before me have one that i could buy or even get for free.. but I like working on it on the side as it gives me something to do and a feeling of accomplishment.
-
I have many different perspectives to help answer this question. Two years of experience is just enough to be dangerous (ie. competent, just beyond the beginner stage) . The longer you program, the more you will continue to get better, you'll start to remember your previous mistakes and avoid them, and soon you will start to see the problems that are coming up if you don't change your design or implementation and avoid the headaches up ahead. Many people have a different opinion of what a good programmer is, and there are many types of skills that are valuable, just being good in one of these areas can make you a valuable asset. If you want to write solid products, you need to be thorough, meticulous, and detail oriented. If you want to write "living" programs (programs that are always evolving starting from a base implementation), it helps to be a good problem solver with critical thinking skills. If you want to design programs, it helps to be able to think about things abstractly. The world of software is virtual, you can't touch the final result. The final result is an idea that is executed by a computer. That's why everyone, including programmers, continue to under-estimate the difficulty of a task and how long it will take to complete, or make what is perceived to be a "simple" change. From what I have read, I think you have found a good career for yourself. You are doing something that you enjoy, that makes it less like work and more like getting paid to do a hobby. One thing that I found that has helped me improve my speed is using a technique called Test-Driven Development (TDD). You write the tests at the same time you write the code. Good luck in your journey (it's not a race :)).
All of my software is powered by a single Watt.
Paul Watt wrote:
Good luck in your journey (it's not a race :) ).
Well said, and spot-on. -Max
-
Program defensively, check your inputs, check return values, log intermediate values, include assertions. And program in small increments. Always have your program ready to build, run, and test. Test thoroughly what exists before adding more features and bugs. One bug is easy to discover, pinpoint and fix; in the presence of several bugs, each of them becomes much harder to find. So work in small steps, that is the fastest way forward. :)
Luc Pattyn [My Articles] Nil Volentibus Arduum
Luc Pattyn wrote:
And program in small increments. Always have your program ready to build, run, and test. Test thoroughly what exists before adding more features and bugs. One bug is easy to discover, pinpoint and fix; in the presence of several bugs, each of them becomes much harder to find. So work in small steps, that is the fastest way forward.
Exactly. An old adage: "How do you eat an elephant? One piece at-a-time". Developing software is like any other large project, done with small advances daily. After a year you amaze yourself in what you've accomplished. -Max :D
-
I have learned programming for 2 years, I can build a great application but need two much time to do (maybe double much more than others can do). The reason is I always make a lot of errors and bugs when programming and spend too much time searching and debugging before realizing those bugs are not too complex even some are very simple, the worse thing is I often encounter the same problems that I have already encountered before. If some one looks and feels my own application, s/he may think I must have a good programming skill and experience but s/he won't be able to imagine how much time and expense I had to spend and pay for it. I really love programming but that seems not to be enough. I need your advice, your experience and your stories about programmers. Thank you all! Anyway, I'll never give up!
The fact that you're enjoying it is going to go a LONG way in helping you to persevere through the learning curves you will inevitably climb. Let programming always be fun. If it stops being fun then you're taking it too seriously. I've been at this for over 35 years and I still get a kick out of writing simple applications to automate things I need automated. BTW ... you don't have to always be working on something "big". I'm at a phase in my career where most of my work is maintenance on a system I've developed over 13 years, so I'm not real busy in my main job at the moment. So, to keep my skills sharp I develop software for my own use. Also: don't let the state of the technology intimidate you into thinking you have to be able to duplicate some of the more sophisticated applications you might be seeing. Super-sophisticated applications are the results of large team efforts. Allow yourself to enjoy developing relatively simple things that you can assemble over time into more complex works. You will amaze yourself at what you piece together over the years. It's even OK to "re-invent" the wheel as a programmer if you want to. I'm constantly adding functionality to my libraries that is either missing in the frameworks or isn't implemented the way I like it. :-) I'm glad to see the encouragement the rest of the group is giving you here. They're right. Stick with it, keep having fun and keep learning. -Max :D
-
I have learned programming for 2 years, I can build a great application but need two much time to do (maybe double much more than others can do). The reason is I always make a lot of errors and bugs when programming and spend too much time searching and debugging before realizing those bugs are not too complex even some are very simple, the worse thing is I often encounter the same problems that I have already encountered before. If some one looks and feels my own application, s/he may think I must have a good programming skill and experience but s/he won't be able to imagine how much time and expense I had to spend and pay for it. I really love programming but that seems not to be enough. I need your advice, your experience and your stories about programmers. Thank you all! Anyway, I'll never give up!
You seem to be very determined to be better. That'd help. My advice: before you write any program think about the underlying algorithm thoroughly. If needed, use paper and pencil to try out your algorithm on some specific examples related to the problem. The more effective your algorithm is and the more you understand what your code does , the less time you'd spend debugging....
-
I have learned programming for 2 years, I can build a great application but need two much time to do (maybe double much more than others can do). The reason is I always make a lot of errors and bugs when programming and spend too much time searching and debugging before realizing those bugs are not too complex even some are very simple, the worse thing is I often encounter the same problems that I have already encountered before. If some one looks and feels my own application, s/he may think I must have a good programming skill and experience but s/he won't be able to imagine how much time and expense I had to spend and pay for it. I really love programming but that seems not to be enough. I need your advice, your experience and your stories about programmers. Thank you all! Anyway, I'll never give up!
-
I have learned programming for 2 years, I can build a great application but need two much time to do (maybe double much more than others can do). The reason is I always make a lot of errors and bugs when programming and spend too much time searching and debugging before realizing those bugs are not too complex even some are very simple, the worse thing is I often encounter the same problems that I have already encountered before. If some one looks and feels my own application, s/he may think I must have a good programming skill and experience but s/he won't be able to imagine how much time and expense I had to spend and pay for it. I really love programming but that seems not to be enough. I need your advice, your experience and your stories about programmers. Thank you all! Anyway, I'll never give up!
Quit making the same mistakes, over and over. Just think about it while you are doing it. Ask yourself, "am I making a dumb mistake?", and if a little voice inside your head says, "Yes!", then don't do it. Other than that, you're way, way ahead of the curve. You have placed your ego in exactly the right spot, that being well behind you and out of the way, so all you have to do from this moment forward is STOP making the same mistakes over and over!! LOL!! .... been there, done that!!
-
I have learned programming for 2 years, I can build a great application but need two much time to do (maybe double much more than others can do). The reason is I always make a lot of errors and bugs when programming and spend too much time searching and debugging before realizing those bugs are not too complex even some are very simple, the worse thing is I often encounter the same problems that I have already encountered before. If some one looks and feels my own application, s/he may think I must have a good programming skill and experience but s/he won't be able to imagine how much time and expense I had to spend and pay for it. I really love programming but that seems not to be enough. I need your advice, your experience and your stories about programmers. Thank you all! Anyway, I'll never give up!
Nearly, i have the same experience in programming. I have the same problem in the very beginning stage. What i have done is, when ever i have encountered a problem / bug i just note down that reason for the problem/bug and simple solution in a simple text file, or in a flash card for more visual attraction. On the next time before i started to implement/design an application i have just open those saved files to have a quick look on my previous mistakes. In this way, my bugs are reduced in a very short time.