Question for all Programmers

Hello, I'm new to programming, and the reason I didn't post this in Beginners is because I would like some advice from experienced programmers, people who have made a career out of programming, or people who have an engineering mind.

How do I think like an Engineer/Programmer? I am 22 years old, a junior in college, a CS major, and a novice programmer. I get discouraged by the rate we're moving in class, by the ease with which people in my classes who have been programming for 10 years finish the labs or the assignments.

It just seems like there's too much to learn and understand to fit into a semester long course, and I think that is the reason I struggle with C++. We just go so fast I can't ever sit down and figure out what we just learned because a day later we're already a chapter further and 20 new concepts ahead.

How do I get good? How do I practice? What are some non-trivial programs I can do? I think one of my biggest hindrances to learning programming is that I can't ever see a connection between coding the trivial programs we write and using that skill to be able to code an operating system.

Please help. Maybe this is too vague of a question, but any and all insight is appreciated. I'm 22, and in 2-3 years I'm going to be expected to program as if I've been doing it since I was 10.
Last edited on
Posting this in the beginners section would get answers from the same people replying in these forums.

How long have you been programming?
by the ease with which people in my classes who have been programming for 10 years finish the labs or the assignments.
I hope that, if they have been programming for 10 years, that they can easily move along with course work material.

How do I get good?
First, do you love programming? I find that students of the science that aren't really into programming tend to fall behind those that love the trade. If you do love it, are you actively finishing labs, re-reading sections you just learned in order to really nail down the concept. Applying those concepts in your own 'practice' programs outside of class.

How do I practice?
Writing programs just to test a concept, even if it is only 2 lines of code or heck 1 line of code. Want to develop games? An ATM application? An instant message chat? Start working on something, use concepts you've learned in class while doing this, go above and beyond what you do in class and learn new concepts on your own. OR, move on to the future sections you will be learning in class, use those in a program, then when your professor goes over them you are already "there" and can really absorb the lecture.

It's all about doing really. As you said, people in your class that have been doing it 10 years roll through the material, think about that. Your learning capacity is your limiting factor in how much you can absorb at once and only you know your limits, push your limits to the max.

Just continue to put in the time, and you will (as my buddy from college used to say) go up a level of expertise. This feeling never ends either, as you become a professional and move along in your career you will be going through a series of "learning / Next Level" break through, it still happens for me and it still happens for my father and he has been in the industry for 40 years. Just hang in there and put in the time. A year from now you will look back and be thinking you were really a "newb" for lack of a better word, funny thing is, 10 years from now you will be looking back a year from then and thinking you were a "newb". If you have that mentality, always learning, always cutting edge, always improving. You will not only become a great programmer, other programmer will respect you and endorse your ideas.
Last edited on
Also remember that CS isn't all programming. There are many different fields in CS, and as a junior you should have been exposed to some of these by now.

But if programming is what you wanna do, then you just do it. It's one of the few fields of study that you can go out and actually do it with little to no cost and without having an internship or something. Just grab a computer and starting writing code. And break things. That's really the best way to learn is to make mistakes and see what doesn't work.
Topic archived. No new replies allowed.