Confidence in programming...

Page 2 - Seeking answers? Join the AnandTech community: where nearly half-a-million members share solutions and discuss the latest tech.

drebo

Diamond Member
Feb 24, 2006
7,034
1
81
The quickest way to get comfortable with programming, in my experience, has been to pick a project and run with it. When I first started programming roughly 11 years ago, I wanted to write a quiz application in BASIC for a class project. After that, I write a DAT file editor for Diablo in C++. Both were shitty applications, but I slugged through them. Shortly after that, I got really into web programming and Visual Basic 6. I wrote an Ultima Online server launcher, an HTTP server, and an application that would send commands to the UO client, all in VB. I wrote a CMS/forum in PHP. Then I wrote an auction module for Invision Power Board in PHP. Most recently, I picked up ColdFusion because the company I work at had an opening for a ColdFusion developer and the pay was higher than my current position was. This was about two and a half years ago. I decided to build a computer configuration website using XML/XSLT and ColdFusion/SQL Server as the back end. Building that application gave me the foundation I needed to become a damn good ColdFusion programmer.

Basically, pick something and write it. If you want to do GUI programming, plan and write a simple text editor...Notebook clone. Consider all of the things you will need to add to it. Context menus, copy/paste, etc. When that's in tip shape, add more features. Employ a rich text field. Add printing. Etc. Etc. That's the best advice I can give, as that's what worked for me. Book reading didn't really help until I had a good foundation of programming concepts (data structures, algorithms, etc.). Once I had that, books helped a lot more.
 

aceO07

Diamond Member
Nov 6, 2000
4,491
0
76
I agree with drebo. You NEED to put in the time to practice what you want to learn. For the most part, programming on your own free time should be FUN. If it's not fun, then maybe you should pursue some other field. Once you have a project or 2 done, you'll feel more confident about your skills.
 

zebano

Diamond Member
Jun 15, 2005
4,042
0
0
A CS degree is all about learning the basics of computers & programming well enough that you can learn the ins & outs of any particular software/language quickly. My first job was as a perl jockey .docs to .html pages + some javascript. On the side I learned some XML and when I graduated I quickly got a job doing web applications in ASP (JScript - no experience) + SqlServer (no experience). I basically had a mentor who reviewed everything I did for two months but then I was off and running and just bugging people when I had specific questions in their area of expertise. A few years later I was bored and sold myself to an engineering manager based on my enthusiasm, ability to learn and background as qualifying me to write automated tests for his teams device drivers. I now write device drivers and love what I do.
 

Aikouka

Lifer
Nov 27, 2001
30,383
912
126
Originally posted by: SoundTheSurrender
Yeah. I really want to but I have some fears.

Since it's programming and my programming knowledge is bare minimum. If they're gonna throw all these technical words at me and I can't answer them then I won't get far. I didn't get a degree in Computer Science. I got more of a business orientated degree and dove into programming more than other students. I know I can learn it but I guess but it's almost like they want me to have a foundation.

I couldn't pass a Assembly course which ruined my ego with programming. I also dropped a advanced level C++ course. The class was over my head to be honest. It'd had been a semester and a summers worth of not using C++ and I got dropped in the course. It was affecting my performance in other classes so I dropped it as well.

This is why I'm skeptical if I can handle programming. They're gonna probably ask why I dropped these courses if they want to see my transcripts.

Well, Assembly isn't always the easiest thing to get into and in a sense, sometimes web programming is just a bit different as I've found it can be a bit more "disconnected" (this all depends on how intertwined your system is). Also, you really should start in a basic C++ course if you've never really programmed applications before. You not only skipped some fundamentals, but you also skipped in learning a good chunk of the language's syntax and such (which would help you understand code examples).

Try just doing a bit of learning on your own. Before I went to college, I already had some programming experience, but it was nothing major... just had a Dummies book and a penchant to learn! There's nothing wrong with finding some C++ tutorials online or just purchasing a C++ for Dummies book (although you may find C# more palatable).

But I think what you may truly enjoy is if you picked up a book on some server-side web coding such as PHP or Perl (with CGI). Personally, I prefer PHP over Perl, but that's just me. I'm no PHP expert, but I've learned quite a bit from just reading tutorials on the web and can program dynamic webpages fairly easily.
 

SoundTheSurrender

Diamond Member
Mar 13, 2005
3,126
0
0
Thanks everyone.

I got a voicemail today about a entry level ASP.NET/C# position. I'm gonna call them tomorrow to see what it's about.
 

Aikouka

Lifer
Nov 27, 2001
30,383
912
126
Originally posted by: SoundTheSurrender
Thanks everyone.

I got a voicemail today about a entry level ASP.NET/C# position. I'm gonna call them tomorrow to see what it's about.

Nice stuff! C# is fun to do and to be honest... it practically spoiled me with the use of VS2005 :eek:. I'm so used to changing code during execution and executing statements/expressions during execution... ohhh it's nice :).
 

clamum

Lifer
Feb 13, 2003
26,256
406
126
Originally posted by: Aikouka
Originally posted by: SoundTheSurrender
Thanks everyone.

I got a voicemail today about a entry level ASP.NET/C# position. I'm gonna call them tomorrow to see what it's about.

Nice stuff! C# is fun to do and to be honest... it practically spoiled me with the use of VS2005 :eek:. I'm so used to changing code during execution and executing statements/expressions during execution... ohhh it's nice :).
Yeah good luck OP!

Seconded about C#... I really enjoy developing with the .NET framework and I know there's a ton of it still to learn. I think it's an excellent development toolset.
 

SoundTheSurrender

Diamond Member
Mar 13, 2005
3,126
0
0
Well I talked to a recruiter and he asked me 15 question questionnaire and I maybe knew 3 out of 15 :-/. They said that I need to get 7/15 for a entry level position to get to the next step.
 

presidentender

Golden Member
Jan 23, 2008
1,166
0
76
Originally posted by: SoundTheSurrender
Well I talked to a recruiter and he asked me 15 question questionnaire and I maybe knew 3 out of 15 :-/. They said that I need to get 7/15 for a entry level position to get to the next step.

That means that you study those 15 questions until you can answer them, and apply for a different job.
 

Aikouka

Lifer
Nov 27, 2001
30,383
912
126
Originally posted by: SoundTheSurrender
Well I talked to a recruiter and he asked me 15 question questionnaire and I maybe knew 3 out of 15 :-/. They said that I need to get 7/15 for a entry level position to get to the next step.

What were some of the questions?
 

SoundTheSurrender

Diamond Member
Mar 13, 2005
3,126
0
0
One was dealing with changing array sizes at runtime. If it was possible.

Another was if bandwidth was an issue. Would you use XML or binary. I chose binary. But now I'm not sure. I'm gonna read into it.

There were a lot of questions dealing with methods and stuff. I really need to brush up on this stuff.
 

presidentender

Golden Member
Jan 23, 2008
1,166
0
76
Originally posted by: Dhaval00
If he can talk C# and XML, who cares! :)

This bugs me every time I come into this thread, so I'll respond to it, albeit belatedly. Everyone cares. He isn't going to get a job by sending an employer C# and XML, he's going to get a job by sending them a cover letter and a resume. He isn't going to write design documents and emails to his coworkers in code, he's going to write them in English. Grammar is important. Knowing where punctuation goes is important.

OP seems pretty promising in that he's motivated and interested, but I second the mention of the need for good communication skills.
 

Aikouka

Lifer
Nov 27, 2001
30,383
912
126
Originally posted by: SoundTheSurrender
One was dealing with changing array sizes at runtime. If it was possible.

Technically no. You can always create a new array and copy the values over, but this isn't really dynamically reallocating an array as you're physically getting a new object. An ArrayList will allow you to resize it, but that's technically not a "standard array".

Originally posted by: SoundTheSurrender
Another was if bandwidth was an issue. Would you use XML or binary. I chose binary. But now I'm not sure. I'm gonna read into it.

Hmm if bandwidth was the only concern, I'd probably say binary myself, but I think you could argue XML if you stated that you'd compress before sending (zip, etc), but a compressed file is considered a binary file, so technically you'd still be sending a binary file.

 

degibson

Golden Member
Mar 21, 2008
1,389
0
0
Originally posted by: Aikouka
... but a compressed file is considered a binary file, so technically you'd still be sending a binary file.

All files on modern machines are binary files. ;)
 

imported_Dhaval00

Senior member
Jul 23, 2004
573
0
0
Originally posted by: presidentender
Originally posted by: Dhaval00
If he can talk C# and XML, who cares! :)

This bugs me every time I come into this thread, so I'll respond to it, albeit belatedly. Everyone cares. He isn't going to get a job by sending an employer C# and XML, he's going to get a job by sending them a cover letter and a resume. He isn't going to write design documents and emails to his coworkers in code, he's going to write them in English. Grammar is important. Knowing where punctuation goes is important.

OP seems pretty promising in that he's motivated and interested, but I second the mention of the need for good communication skills.

Where is your sarcasm? I hope I didn't piss people off. LOL.

If you want to get into all the logistics - the way Common Courtesy approached the issue, it suggests he is possibly a Noble/Magistrate. The way Mark approached the issue, he is pretty much a Socratic. If you want more details, refer to I Wish I'd Said That. Obviously, I didn't make myself clear which means I am still picking up on the skills. Something besides two monitors and Visual Studio to keep my analytical skills in shape... I guess I was just trying to ease things a bit - the OP was/is low in confidence - last thing you want is to depress him (OP seems to be a Reflective).
 

piterskiy

Junior Member
Jun 4, 2015
1
0
0
I have finished my CS degree back in 2001. Since then I did not work as a programmer all the time.
I was going back and force.

I'm afraid that I do not have what it takes to be a good programmer.
Most of the time, I feel frustrated that I do not understand what needs to be done and how to solve the problems in timely manners and start panicking.

I have completed some projects though, but only after I was able to audio record the project meeting or the conversation with my manager, so I could listen to it on my spare time and write it down.

I'm afraid of approaching my manager to ask for new projects, because I'm afraid that I will not be able to understand how do them.

This is my short story:

My first job was in VB back from 2001 - 2002 in eCommerce company.
Then after they laid off most of employees, I did not try to find another programming job and instead was doing real estate.

Then, after some time, I came back to programming in 2004 - 2005 working for company using java.

Then, after a while, I got frustrated that I do not understand what my manager was asking me to do when other team members were coding and understanding what needed to be done.

I left the company again and have not tried to find another job for 2 years.
Then I decided to comeback and got another java job, but no matter how hard I tried, I again was not able to concentrate and understand what needed to be done and was laid of after 15 month.

Then back in 2011, I attempted a come back, studied WPF/C# and landed a job as a contractor in major bank, where I could work only for a few months, due to the same problem. I got overwhelmed by amount of work needed to be done and could not understand technologies they used in a timely manner and decided to quit.

Then after a while I found another job in ASP.NET/C#, where I learned jQuery and Ajax. I have done some projects here, but with a help of more knowledgeable team members.
I'm here for more then 18 month, but still have panic, frustrations and feeling that I'm not needed here.
I'm still not approaching manager for more projects, instead, I keep learning new stuff like Json, AngularJS, MVC just in case. I'm good at learning, but as soon as it comes to applying all that in practice, I'm lost and frustrated.

What is hapanning to me?
:wub::':)rolleyes::confused:
 

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
It's usually better to start a new thread than to necro a 6-year-old one, but it sounds like you have problems with listening and comprehension more than with coding.

My first thought is to practice. You could use something like streaming TV shows or movies (news or documentaries). Listen, stop, write a summary. Play it again, see if you missed anything. If you do this enough you might find you get better at understanding people in real time without needing a recording.
 

K7SN

Senior member
Jun 21, 2015
353
0
0
Back in my day - Programming was an art as much as anything. It is nothing but problem solving given the tools of the language you have to work with. I've taught an occasional course and you do the student no favor by assignments that the answer can be quickly found. Everyone can write a loop to add the numbers from 1 to X but that doesn't solve the problem when X is 1e6 or greater unless they think. The old x * (x + 1) / 2 answer solves the problem whether X is 100 or X is 123,456,789. If we don't teach how to think we won't get thinking - how many college freshman still can't do simple word math problems. The niche I fill as a programmer existed in the 1960s and it exists today but very few other types of programming fads last more than a few years. Oracle nerds made great money for a few years and today everyone wants a website but soon the tools will eliminate that need for specialized skills so adjust of "ask would you like fries with that?" Whatever the problem solve it, fit your solution to code than make that code efficient. That's programming and the more you do the better you get at it.

SoundTheSurrender (The original poster) appears to have attacked the problem first:

What do I wand to do? Sell T-shirts on line.
What do I need? Data that tells me what I have to sell, what I need to charge, how to extract payment and appear professional to my potential customers.

A Database for the goods, prices, customer names, addresses and orders.
How do I extract money from customer? Credit Card works over the net.
How do I service my customer? Nice website that is easy to use, transaction and confirmation (extracting an email address facilitates that)?

But products have to be delivered and I hope he failed to mention generating shipping labels for brevity of his post (Something I should of considered before type) Directions to employees (either robotic or human) in the shipping department is a minimum.

My first program was a bunch of tubes with input on two strips with battery power which in binary lite up little lights displaying the sum of the two values. Discovery: hardware was more work than learning binary codes to 8 with results to 16. That was in the 50s and surplus wire, relays, a 6146 tube and a dozen grain of wheat bulbs cost less I could get for a third cord of firewood I could split and stack with the weekend of work. After sputnik every potential electrical engineer did that before High School in the late 50s.

College and a teletype to the nearest computer (500 miles away at the University of Nevada) where I would write my code on paper tape and then feat the program into the teletype and it would run and print the results of the operation back to the teletype. Discovery Programming is more fun, confidence growing but lots to learn.

The draft slowed me down and by the end of the 60's the GI bill got me into the math department where I could program in FORTRAN (A big improvement) on punch cards.
Discovery I want to make a living as a programmer.

Challenge, write a single entry bookkeeping system (1969) where you could adjust the values to predict the future which I wrote in BASIC back when it had the MAT command to handle matrices (Before Bill Gates ruined it). Any real increase in knowledge was made years later.;Call this single entry bookkeeping system program that anyone could write VisiCalc (77ish) - steal the concept, call it a spreadsheet (80) then buyout VisiCalc when they sue you and make even more money. Reality: I wasn't get rich as a research programmer but I did get to teach a couples courses a semester and take as many credits as I taught for free the next semester. Building Confidence all the way.

Challenges included learning Pascal, Algol, mastering C and later ADA and Modula II. Write a fully functional assembler (in C) on a mainframe. That is a confidence builder.

Write a Pascal compiler (also in C) - 3 more graduate level credits and another confidence builder. Go to USENIX and meet Dennis Ritchie. A real thrill for a C programmer.

Take a couple courses from a semiretired Cal Tech Professor emeritus and learn how to think outside the box with matrix values that weighted depending on the neighboring cells (soon called a neural network) and learn to think outside . Realize that Artificial Intelligence is just make the whole greater than the sum of the pieces. Took anthropology classes and read Gödel, Escher, Bach really learn to think and solve problems

Get an Ohio Scientific breadboard, hook it up to an old TV and write a program to score a motorcycle race. (1977) get an apple][ and write more shareware while working as a scientific programmer for research scientists.

learn about and use ARPANET and then get on this new concept of the internet and working with compression methods be a small part of the transition from internet text to the World Wide Web and pictures. What a nifty time. Learned more.

learn 64x64 matrices that efficiently flow through a Cray supercomputer (back to writing in FORTRAN) to solve complex acoustic and aerodynamic problems. A real learn experience and confidence builder.

Get adopted as his programmer by a visiting Academy of Science post doctorate and program math that hadn't been translated into English yet. A real Confidence builder.

Have the government say we want contractors, not cheap researchers at the University and without changing a single thing (same desk, computer, and colleagues) get a new employer and $150 a week raise. A real great Confidence builder.

After 10 years with my new employer Lockheed I had to find a new niche which I did learning and putting math ARCINFO- hmm there is a future there but not much of a challenge. Found a new niche, helping the government sue itself to clean up former DOD munitions from islands to beach front property so some kid digging in his back yard doesn't find a live grenade. Rewarding and still learning new tricks. New job, write statistical software and actually publish with peer review new statistical methods and save a small bit of the world (40 years of programming and I am comfortable, even if I have to write in C# for a windows platform.

SoundTheSurrender I'm still learning and building confidence some 50+ years later and there is a plethora of things to learn yet. Those that don't have the drive and/or determination will either dropout or become managers but if a challenge is as important as a paycheck stay with programming and it will give you a good life.