Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 158 Stack Exchange communities.

What is meta?
Here's how it works:
  1. Any Stack Exchange user can ask a question
  2. The community provides support, votes on ideas, and reports bugs
  3. Your voice helps shape the way Stack Exchange operates

Let me start off by a little background. I am currently a 3rd year pursuing a BS in Computer Science at a small Christian school in San Diego. I have take a good chunk of the courses offered to me, and have received an A/B in every class so far without too much stress.

Now, I want to expand my learning a little more, so I have come to communities like this to learn new things. Here is the problem. I glance over all the questions asked here, and become extremely discouraged. Sad to say, but I don't even understand a majority of the questions posed here.

I guess my question to you (Stack Overflow community) is:

  1. Did it start like this for you?
  2. If so, how did you conquer it?
  3. Is this normal?


share|improve this question

migrated from Aug 4 '09 at 23:00

This question came from our site for professional and enthusiast programmers.

I will share some of the best advice that I got one time. It was given to me by a physics prof regarding physics but it is true for any speciality really. "Physics is like music. You have to just listen to it for a while before you can start to understand it." – EBGreen Feb 25 '09 at 19:50
@gabriel - It will help him to understand what are proper questions here though. – EBGreen Feb 25 '09 at 19:51
Upvoted and favorited. This is a great question. – Robert S. Feb 25 '09 at 19:51
@Out Into Space: Agreed, +1 here too. If SO was created for anything, it was this. – Dave Feb 25 '09 at 19:53
This is a good question. Like others have said, most questions are very specific. You can't know everything, so just keep learning and you'll be fine. – Ed Swangren Feb 25 '09 at 19:53
Also important: Don't be discouraged by SO if this question gets closed. Really. – BoltBait Feb 25 '09 at 19:55
@EBGreen - We have Jon Skeet facts and favorite baby names. Not that I'm complaining, but can you really say that this is less related to programming than those? I haven't been programming so long that I've forgotten the feeling of being a noob who's totally intimidated. :-) – gabriel1836 Feb 25 '09 at 19:57
Ok, not to get into a tag war, or anything, but I think this is very much programming related, or at least with regards to a career in programming. Also, I can't edit the post, but perhaps the title can use some work? – Randolpho Feb 25 '09 at 19:59
Sure it's programming related in some sense, but it could relate just as well to, say, studying law or medicine or writing. It's not programming-specific. That's my justification for voting to close. (It is, in general, a good question, though) – David Z Feb 25 '09 at 20:08
I was in the middle of answering this question when it got closed. Don't you all think that in this particular case, this question would have been better served as "wiki" instead of being "closed"? I asked a very similar question and it got favorited by 9 people and has over 1K views. – GregD Feb 25 '09 at 20:13
@EBGreen this isn't slashdot, we are not doing Formal Logic Debates(TM). Appeal To Common Practice(TM) can be a legitimate point to raise when the community has a hand in defining said practice. – Rex M Feb 25 '09 at 20:38
@OIS - For anything that is even close to borderline like this, one time only. For something really egregious and troll like, until I run out of votes. – EBGreen Feb 25 '09 at 20:44
Ugh, the reputation people get for these questions is absurd, even if it is marked community wiki. It makes you feel like "why bother asking good questions and providing good answers, when I could just ask a culture question and rocket my way to admin privileges" – m4bwav Feb 25 '09 at 21:01
Because, you weren't really helping anyone with a programming related problem. I mean why should someone get the reputation and status of a programming expert, if there expertise is really in programming culture. – m4bwav Feb 25 '09 at 21:51
High rep does not give you the ability to answer harder programming questions. It gives you the ability to participate with the community in different ways. – EBGreen Feb 25 '09 at 22:13

71 Answers 71

I'm a fourth year student at a school in SD as well. I'm also pursuing BS in computer science.

I totally feel what you are feeling. I have finished numerous courses;however, they do not really let me answer 99% of the questions on Stackoverflow. This doesn't mean that I should be discouraged, but become more passionate about the field I'm involved with. "THERE ARE A LOT TO LEARN!" If a field has a opportunity to learn, then means that field has potential to growth.

What I'm trying to get out of school is how to approach a real world problem. For example, if you want to build an application for a customer who wants a simple web application for his business, how would I investigate, design, implement, and test the application.

It's like learning your first computer language. Once you learn C, Java is not too hard. Once you know Java, C++ is not too hard. Once you know C, Java, and C++, C# is not too hard to pick up.

So, I suggest you to do the same.

Don't be discouraged. Rather, become passionate about where you are right now (WE ARE HOT ASSETS). Try to learn how to approach a real world problem and how to solve. Also, try not to be intimidated by overwhelming amount of technologies.

share|improve this answer

I've been a fiberglass sailboat repairman, dog-sled guide, industrial welder, sawyer at my own sawmill, labourer and student but no job has ever held my attention by being constantly challenging like programming.

Don't despair, have some fun with the culture and the lore by reading the Jargon File.

If stuff like the The Meaning of ‘Hack’ doesn't make you happy then you might be headed in the wrong direction. In that case find a way to use computers to do something that you want to do.

share|improve this answer

I am a final year CS student. Don't be discouraged. The stuff here is much about the specific platforms and frameworks. Better concentrate on the basics. Like knowing how to make a dynamic page in JSP, .NET, Django won't help much. But not knowing HTTP or HTML will hurt you.

share|improve this answer

In order to not be overwhelmed by this site, I use the search function to search for subjects that I know a little about. Later, when you're more comfortable with the fact that there are thousands of things you don't know (yet), you'll feel better about the things you do know and are currently learning.

share|improve this answer

Seriously dude, with all due respect, you're still just a kid. You are comparing yourself to industry veterans. If you didn't feel lost, something would be wrong. And to be honest, most professionals have no idea of what half the stuff here means either, trust me. =)

Don't waste your mental effort with the ego part of engineering. Don't get intimidated, and don't work with the purpose of learning so you can feel superior. Just do what you do, learn what you learn, until you have your own self-confidence that you know what you know, and you know it well. Then none of this comparing yourself to others will matter. If I bothered to read through all of SO and ask myself "do I understand all these questions, and if not am I a bad person?" I'd probably end up discouraged and drive myself crazy. It's an easy pitfall to fall into, but resist the temptation. Unfortunately SE & IT are filled with many bad examples, find a solid mentor and stick with him, learn from him.

So I'd go with #3, this is normal. but ultimately irrelevant.

share|improve this answer

Felt the same way here. The fact is that you can't just take classes and think you're prepared; you need to teach yourself. And it takes time. Lots of it.

share|improve this answer

You could follow a tumor/virus model?...

  1. Find a niche (i.e. tag).
  2. Flourish under that tag by answering all the questions you can.
  3. Branch out (i.e. metastasize) into other tags that your main tag tends to overlap with.

EDIT: BTW, you shouldn't be discouraged. SO is a big place (around 100k questions!), so it's normal to not understand it all. After all, you don't eat EVERYTHING in the supermarket.

share|improve this answer

Except for probably a handful of users here, feeling discouraged at times is probably normal. This is a fairly smart group of people with a wide variety of experience in different languages.

The fact that you're here is a good sign that you're willing to learn and move up. Look at it this way, where else are you going to be able to surround yourself with some much expertise, for so little money????

share|improve this answer

I've been making a good living at this software thing for probably longer than you've been alive, have worked on a large variety of systems, and have done some poking around on my own. I've also tried going to grad school. I've amassed more than 4K rep points here, and have been active elsewhere.

I couldn't answer most of the questions here, and in many cases have absolutely no solid knowledge of what they're about.

Don't let this discourage you. There's always more to learn.

share|improve this answer

If you get discouraged seeing active discussions in your field, you probably aren't in the right field. New ideas in a field you love should get you fired up! When those new topics are bouncing around in an approachable, open community like this, and you still don't feel comfortable learning, there's something wrong.

How did you pick your major? Do you tinker with software, math, ideas, writing or other other creative things? Do you enjoy being around other creative people? Analytic people? I've known many software engineers that had unhappy CS educations and unhappy careers. I've also known people who've fallen in love with software that had practically no formal training. In my experience, you can't learn to love your career -- you have to find something you love (or at least like a lot) and then learn how it works.

share|improve this answer

I have been working as a programmer for 6 years now and have a variety of languages under my belt (.Net, classic ASP, ABAP, and more) but I still don't understand everything that is discussed on StackOverflow or other forums I watch. that's why I watch them to learn new things get insight on the new technologies, etc. Don't get discouraged, that's what this is all about ask questions make comments and build off the knowledge that everyone is sharing. I think if someone thought they knew everything that was discussed on StackOverflow they would be kidding themselves and the profession. The area we are all in is so dynamic and ever changing that it would be virtually impossible to know everything. That's why sites like this are awesome you can ask a question and get a response within minutes in some cases. Very awesome and helpful in the crunch.

share|improve this answer

Don't get discouraged - it's this way for everybody.

In addition to what other people have said, a few more pointers:

You have two main choices in software/technology - become a specialist or a generalist. This is the same as in other professions. I tend towards being a generalist because I enjoy working on an object model, then optimizing stored procedures, fixing a DLL issue on a windows server, and then banging on a router that is having DNS issues. A lot of people are specialists, which has its advantages too. A specialist might be able to give very specific answers to a lot of the questions on SO and be correct - a generalist could provide an answer to a wider swath of questions on SO, but would probably end the answer with "I'm no expert, so take this with a grain of salt".

Specialists will also get paid more and have an easier time finding jobs in multiple locations. Generalists will have an easier time finding jobs in one location (if you don't want to move), and will get hired quickly if the business sees that they can get a network admin/programmer/server guy all in one package.

share|improve this answer

There are five orders of ignorance:

  • Zero order ignorance (0OI): Lack of ignorance; that is, knowing something and knowing that you can demonstrate that knowledge.
  • First order ignorance (1OI): Lack of knowledge; that is, knowing that you don’t know something, but knowing that you could learn and how you could learn.
  • Second order ignorance (2OI): Lack of awareness; that is, not knowing something and not knowing that you don’t know. You are ignorant (unaware) that you have first order ignorance.
  • Third order ignorance (3OI): Lack of process; that is, you don’t know how to "discover" whether you have second order ignorance. Practically, this means that no suitably efficient (reasonably time-limited) help is at hand to guide the discovery process.
  • Fourth order ignorance (4OI): Lack of ignorance about the orders of ignorance.

You now do not have 4OI. By coming here to SO, you are reducing your 2OI and 3OI. Congrats. Now work on reasonably moving from 1OI to 0OI.

Also, think of this: knowledge is like a circle. 0OI is the area of the circle. 1OI is the perimeter of the circle, and 2OI is everything beyond. When the area of the circle expands, so does the perimeter.

share|improve this answer

Don't be discouraged. StackOverflow can be viewed as a good mirror for where you are at and what you can learn, and there are many, many helpful people here who have started from all sorts of backgrounds. I look at it as a chance to test your knowledge and find areas where you can improve. Along the way you'll see areas where you have something to contribute, and as long as you are good willed with your input you'll get something back.

Don't worry about the badges or reputation. I have had very authoritative yet amazing false answers from people, but overall the majority of answers have been great. In the end, it's just dudes and dudettes who love software development. Jump in, get ready to learn and give it shot. Just remember, we really can't see you, so be bold and participate, and don't be concerned with your knowledge level. Yeah, there's a lot we all don't know, but that should only spur us on.

share|improve this answer

I changed communities, tried Microsoft Forums, tried and many other sites. I always face the same problem (that you face) so it's normal. There's millions of developer, there are thousands of technologies and problems, so finding someone who have a problem that you can solve it hard :/

share|improve this answer

SO is an enormous database of tech questions. But most of it is practical guidance and specific to certain technologies/apis/libs. There is no reason for you to get discouraged because, you may not even have worked in more than half the technologies discussed in here. But when you're stuck with some problem in a specific technology, this is the "second best" place to ask and get expert opinions. i say second best because the mailing list or forum will be more exhaustive, but SO beats them on the swiftness and quality of answers.

SO is great for language related questions and sometimes you need to be really good in multiple languages and programming paradigms to even understand the questions. I hope SO encourages rather than discourage you to learn more languages

share|improve this answer

Questions on here are extremely specialized. It would be almost impossible for one to know the answer to most things.

share|improve this answer


Don't fell that you are neglected.

We all are here to learn. Post your questions however simple it is , we all are here to help each other.

This forum is for all.

Good luck.!!! (:

share|improve this answer
...or do your homework... – gbn Jun 8 '09 at 4:18

I have been in the business for over twenty years. In my opinion - it seems that the field is and has always been much to large to even begin to get a grip on everything. You should feel completely normal in your view of the vast amount and range of questions posed here. The real "secret" for me to being a successful programmer is not knowing the answer to all the questions - but knowing how to FIND the answer quickly. And Stackoverflow is one of the many resources to use. Getting to know all the tools and resources to find answers to the problems you will encounter as a professional is the biggest trick I never learned in college. Once you realize this - coming to a site like SO is a great discovery - not a depressing one.

share|improve this answer

Dude I feel like that every day. Learn to enjoy it, I say...

share|improve this answer

The greatest thing about SO is that it makes you understand you don't know everything and there are lots to learn!

share|improve this answer

Computer science have evolved into enormous systems with uncountable facets. Sometimes, just mastering one software product will take a lifetime. Broaden your horizon and pick the niche that interests you the most. The rest will come naturally.

share|improve this answer

Pfft! Do you really expect to understand every language, library, platform in existence? Questions on SO cover so much territory there is no reason to be discouraged. Just because someone can code in assembler doesn't mean they'll know html

share|improve this answer
  1. Yes, because most questions are about problems/languages/tools that are (currently) completely irrelevant to my job or hobbies.
  2. I simply ignore questions about problems/languages/tools that are completely irrelevant to my job or hobbies.
  3. Yes, this is normal, by definition, because nobody can possibly use every single tool out there, program in all languages, and be familiar with every single problem that has ever existed.
share|improve this answer

Discouraged! What the hell? I mean, Come'n man ! You are student, these questions that you don't understand have been asked and answered by people with years experience in the field (sounds like a CIA .. in the field .. hah !) .. You're not a dump, actually you're a smart kid, you dig you toes in the water before jumping up to the swimming contest. Just take it easy and have faith!

share|improve this answer

1) yes, it's the same for everyone

2) Experience, but to be honest, you'll never stop being overwhelmed by how much there is to learn. People keep on inveting more more stuff to learn goddamnit

3) No, you're probably ahead of the majority of your peers already, they're unlikely to be seeking out this kind of experience, never mind asking such honest questions.

share|improve this answer

This site covers a broad spectrum of aspects of our craft. I've been working professionally for almost 10 years, and a lot of information here is new to me. If anything this should be encouraging - always a challenge in this field.....always areas that you can add value if you put in the effort. AND it ALWAYS changes.... :)

share|improve this answer

Yes it is normal and yes I also felt the same way. My question to you is: what are your outside of school activities? What are your long-term career aspirations?

More specifically, do you intend to work in the private sector or do you expect to continue your education for a Masters Degree or PhD?

Most of the people on this site are professionals. My advice to you is to go out in the real world and get some experience building Web sites, doing some small-time consulting, etc. You will be surprised at how fast you catch on and next thing you know you will be answering questions with the big dogs!

share|improve this answer

Question on SO is not related to one specific area, but generally it covers programming related question. Initially it happens to everyone.
It is good for you to find easy topics and study them. Google and research them.
Yes it is normal.

share|improve this answer

The thing to take away from the university experience is not that you have learned everything there is to know or that you have "learned enough." Rather, you have used the opportunity to learn how to learn.

Technology is always changing. Software development is always changing.

SO is great place to continue the process of learning. Some day,perhaps sooner than you expect, you will be teaching others.

Don't get discouraged.

share|improve this answer

You must log in to answer this question.