Will I be good at programming ?

Hollowchris

Prominent
Jun 2, 2017
17
0
510
I've been studying for years and finally I'm almost out ( 2 semesters to be exact) but now I'm feeling a weird pressure, I don't know or feel prepared enough to program. I know and understand my fair chair of languages and If I'm.told what to do as I what they want I can program from scratch but I don't feel like I can program on my own. I love programming and I've even bought books which sadly I haven't finished but Im just nervous I guess.
 
Solution
From my experience programming (about 5 years in school, 7 years professionally before I switched careers):

  • ■95% of what you learn in school is algorithms. What to program, rather than how to program. A good example are all those sorting algorithms you should have learned. The point of learning all those algorithms wasn't so you'd know how to program each sorting algorithm. Anyone with a web browser can look that up in 15 seconds. The point of learning all of them was so you'd know which sort algorithm worked best under which circumstances. Then when you're writing a program that needs to sort a list, you'll be able to look the problem requirements, think back to what you learned in school, and say "Ah, I want a merge sort...
I've done forms with clicking events , menus in form that open different program classes , calculators for different things like tax , yearly income things that feel very basic tho I always have to do my fair share of research to make some. But most of those things where done in class and improved over time at home but like for me to start from zero it's a bit harder ( extremely sorry if I ain't explaining my self correctly or well enough I don't know how to and thanks for your time )
 
What can I do then and sorry for the dumb question , as im I've tried websites that have projects with which you help or contribute but immalways lost , seems like most know what they are doing and I'm lagging behind 🙁
 


Where are you at in your education? High school, college, other?
What is your end goal? To get a programing job? Or strike out on your own?
 
From my experience programming (about 5 years in school, 7 years professionally before I switched careers):

  • ■95% of what you learn in school is algorithms. What to program, rather than how to program. A good example are all those sorting algorithms you should have learned. The point of learning all those algorithms wasn't so you'd know how to program each sorting algorithm. Anyone with a web browser can look that up in 15 seconds. The point of learning all of them was so you'd know which sort algorithm worked best under which circumstances. Then when you're writing a program that needs to sort a list, you'll be able to look the problem requirements, think back to what you learned in school, and say "Ah, I want a merge sort here, not a quick sort." So it's not uncommon for graduates with CS degrees to have very little experience actually writing code.
    ■25% of your time will be spent designing (flowcharting, sketching pseudocode), 10% of your time will be spent actually coding, 65% of your time will be spent debugging (because you're not as smart as you think you are).
    ■Don't be afraid to try. Unlike other professions with physical results (e.g. mechanical engineering, carpentry, cooking, etc), nothing bad happens when you screw up a program. At worst the program crashes, you figure out why and fix the bug, and try running it again. There are no mounds of debris or smoldering remains that you need to clean up.
    ■Except for a few niche jobs (e.g. game programming), code efficiency isn't all that important. In most cases your code doesn't have to be optimized to run in a blink of an eye. So don't be afraid that your code isn't "perfect". A manager at Lockheed once told me not to waste so much time sketching pseudocode so I could write the smallest and fastest code possible. I was more valuable to them if I wrote something that worked relatively quickly in as short as time as possible, and moved on to working on writing code for a different problem. If they needed the code to run faster, that would happen automatically when they upgraded the computers.
    ■From my personal experience, I've found it much more helpful when the previous programmer wrote well-documented and logically laid-out code, rather than impressive dense code which did what it needed to do in the fewest number of instructions possible. If the code needs nested loops 5 layers deep, it's much easier for future people maintaining it if you explicitly write out the nested loops, rather than rely on some elegant recursive algorithm which is impossible for others to figure out how it works. If your employer needs you to write the elegant recursive algorithm, you will already know it.
    ■Programming languages have become way too complicated for anyone to "know" how to write in them. You're going to be using the features in an IDE heavily. Both as a reference (so you know what a function does) and as a search (so you can find what function will do what you want). You don't need to learn the entire language from a book and memorize it all before you start writing. You'll learn the important functions the more often you use them.
So don't worry about making mistakes or your code not being so great. Just get out there and write it. In most cases it doesn't have to be perfect, just needs to be good enough. Stop trying to read so much about how to write code. Go write some code and work on getting it to run. Experience is the best teacher.

Good judgment comes from experience.
Experience comes from bad judgment.
 
Solution
Thanks a lot you have no idea how much , it makes me feel a lot more secure and better! Could I bother you one last time ? Why did you change if I may know ? And how was it like working at programming ?