share
Meta Stack OverflowShould I be discouraged by Stack Overflow?
[+296] [71] Erik Ahlswede
[2009-02-25 19:45:29]
[ discussion stackoverflow new-users ]
[ http://meta.stackoverflow.com/questions/12259/should-i-be-discouraged-by-stack-overflow ] [DELETED]

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?

Thanks

(28) 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
@gabriel - It will help him to understand what are proper questions here though. - EBGreen
Upvoted and favorited. This is a great question. - Robert S.
@Out Into Space: Agreed, +1 here too. If SO was created for anything, it was this. - Dave
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
Also important: Don't be discouraged by SO if this question gets closed. Really. - BoltBait
@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
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
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
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
This particular question got upvoted by 22 votes and favorited by 11 people. Surely that should outweigh the 4 or 5 of you who decided to close it instead of turning it into a CW. - GregD
@Gabriel - Pointing out other questions that do not fit the SO paradigm is an Appeal To Common Practice. A fallacy that is often used to justify more questions that do not belong here. I am not unsympathetic to the question. I think it is a great topic to discuss. Just not here. - EBGreen
@Greg - It just takes 5 people to reopen it and they did. See, the system works. - EBGreen
@EBGreen So I see. - GregD
@m4, maybe Erik hasn't come back to the site to check answers yet. - Robert S.
Hey @EB, another 3k+'er question for you: how many times do you vote for a question to be closed before you leave it alone? Just curious. - Robert S.
@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
@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
@RexM - You are correct. However logic is logical wherever it is applied. Also in general, if you look at those highly rated "squishy" type questions they were almost invariably asked a long time ago (in SO terms at least) and attitudes change over time. All I can do is express my feeling on it. - EBGreen
@EB, same here. The old adage of "pick your battles" rings true. - Robert S.
(15) 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
@m4wbav, nobody gets rep for wiki questions/answers. - Robert S.
Well, if it is marked wiki you don't get rep. - EBGreen
@Out Into Space - not true, check out the asker's profile, you will notice a large bump for this question in the reputation chart. Also there is the added effect of having people first your user page, and then navigating to your other questions. - m4bwav
having people first your user page -> having people first visit your user page - m4bwav
Not to mention all the people who got tons of rep before the community wiki rule restricted the amount of reputation you get - m4bwav
This question was marked community wiki after it was upvoted. Community wiki posts gain zero rep. That's the way it's been for quite some time. - Robert S.
@Out Into Space - right, so your still encouraging people to ask fun, but useless questions. - m4bwav
@m4bwav - What would your proposed solution be? - EBGreen
You should lose all reputation points and badges from asking or answering a question marked as community wiki, as soon as it is marked as such. I imagine you should get it back if it is unmarked community wiki. - m4bwav
I could see losing rep after it is wiki'd. I think there may be implementation issues. Check Uservoice and see if it was already suggested (I think it was). Since marking wiki up front is completely up to the OP iI think getting rep when it is un-wiki'd would be easy to game. - EBGreen
True, but the system is already "game"ed as is. - m4bwav
I don't think he suspects you specifically, this is just a long running discussion. - EBGreen
As for the gaming aspect, upon more thought, I think wiki'ing cannot be reversed. - EBGreen
Yeah, sorry dude I'm not trying to point at you in particular. I'm just frustrated with current stack overflow system. - m4bwav
@m4bwav, if I put a lot of work into answering a question, and the OP marks the question as wiki, why should I be penalized? - Robert S.
(1) 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
Aaah...I see your misconception. Rep in no way represents programming expertise. It purely represents site participation. Jeff has been very clear about that. - EBGreen
Regardless of how clear Jeff was about that, that's not how it's perceived. The defacto state of affairs is that high rep = programming expert, in the eyes of the majority of the users. Why would you want a system that does otherwise, other than to experience vain glory. - m4bwav
It doesn't matter how users perceive it. The reality is what the reality is. I don't understand what you mean by "Why would you want a system that does otherwise, other than to experience vain glory." - EBGreen
I mean why would you have reputation system, if it did not correlate to some kind of expertise? What would be the point of such a score? - m4bwav
There is absolutely no way for the site to programmatically determine your ability as a programmer. The site can programatically determine how much you participate and most importantly how that participation is received by others. - EBGreen
(5) 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
I'm sorry I think you must misunderstand me, I'm sorry if my response was aggressive earlier, I, perhaps, misperceived it as condescending. I'm not referring to any kind of computer created score, but community structure. - m4bwav
Yeah, yeah, I know system thoroughly - m4bwav
know system -> I know the system thoroughly. Man, my grammar sux today - m4bwav
Your reputation number is a computer generated score. The only other rep that I can think of is what I would call interpersonal reputation. So one person's personal opinion of another. If that is the rep that you are talking about then wiki'ing a question has nothing to do with that. - EBGreen
The reputation is not completely "computer generated", it is of course generated in reaction to any number of user inputs, right. I click up, someone gets ten points, the computer did not just read the post and parse it from its text to get more points. I think we are just miscommunicating here. - m4bwav
I believe that is likely. - EBGreen
Sorry for the trouble - m4bwav
Well meaning discussion is never trouble. - EBGreen
@Erik...I think you're pretty normal. I don't think anyone on here understands every question...with the exception of Jon Skeet who even knows stuff he doesn't understand... I've been a professional developer for years and I still don't have the expertise to answer even 50% of the questions on here. - mezoid
@m4, my question still stands: if I give a good programming answer and get 10 gold badges and 200 rep, then the questioner changes the question to wiki, should I lose what I've "earned"? That's what you're proposing. - Robert S.
Actually it could be changed through no intentional action of the asker at all. - EBGreen
Like when 30 answers are posted? - Robert S.
Ya, or 5 users edit. - EBGreen
But even then you shouldn't lose the rep you've earned by answering a good question. - Click Upvote
Gold badge incoming. - Robert S.
From what I hear, PLNU's CS department is more math oriented (it's part of the ath department, no?) - switchmode
Anyway, university education builds a solid theoretical foundation on which your REAL-WORLD experiences can grow from. Most of us SO folks are industry professionals. Learning, for the most part, is enhanced and magnified if you go out there and put your knowledge to good use, in a practical way. - switchmode
Math, Information Systems and Comp Sci are one department, but it isn't necessarily math oriented. - Erik Ahlswede
[+398] [2009-02-25 19:47:57] Paul Tomblin

The secret to happiness as a developer is not to know everything, but to be prepared to learn a lot about a particular niche. I don't know the answers to 90% of the questions here, but I do pretty well with the ones I do know. (And I've been a developer for 25+ years)

And then some day, you'll be like me, nearly 50 years old, and looking at all these questions and think "am I too old to learn all this new stuff?" In my case, I snap out of that funk by assigning myself a new side project involving a new technology. Last time I felt this way, I learned Perl and built some web sites using Fast::CGI. This time I'm doing an iPhone application.


+1 for being there, doing that. - BoltBait
Excellent answer. - Erik
(37) and as soon as you see a question that falls into those 10%, snipe it like there's no tomorrow! - grapefrukt
(4) @grapefrukt - you've noticed my method for getting 17K rep, have you? - Paul Tomblin
+1 people who have a working knowledge of more than 20-30% of the questions asked here cannot be an expert in any of them. Really good senior devs and software architects with a decade+ experience can probably answer ~/<10% - Rex M
Well, there's your 200 for the day Paul! =) - gnostradamus
Yeah, I was getting worried having made it past lunch time without hitting my limit. - Paul Tomblin
Pff, like you needed another silver badge. ;P - Robert S.
I'm still hoping for my first gold badge. Unlike some people. :-P - Paul Tomblin
+1 Absolutely, so completely true - user132053
Man, those gold badges are tough to get. (Of course. If I get 32 more votes on my top answer I'll get a gold badge out of it. But, that'll never happen.) Should I be discouraged? ;) - BoltBait
I got my gold badge for posting an XKCD comic. I don't think that's what Jeff intended. - Robert S.
Has anybody but Jon Skeet gotten a gold badge after the beta ended? I doubt it - questions don't stay on the front page long enough to get seen. - Paul Tomblin
Thanks for the insight. This is encouraging to hear that other people struggle too =) - Erik Ahlswede
@Paul: Nice job. Said it better than I could. - Mike Dunlavey
@Paul: I got a gold badge a few weeks ago for a "Great Answer". But I had to mention Jon Skeet to do it! It's sort of sad that my highest rated answers are non-technical. - Greg Hewgill
great answer, +1. - John T
+1 well said - (I also started pre-Internet) - Anders Karlsson
Oh man, you're on your way to a gold badge! - Robert S.
Woo hoo, I got it! - Paul Tomblin
I was feeling the same way this morning. VERY good answer! - asp316
Congrats Paul! Your gold badge came from a good answer. :) - Robert S.
I'm currently learning linux system configuration and kde programming as a side project. There's always something new to learn in this profession! - Skizz
(55) "I don't know the answers to 90% of the questions here". Wow! You know the answer to 1 out of 10 questions!!!!! I haven't even heard the words in 9 out of 10 questions before! :-) - danbystrom
great answer :) + 1 ! - Morph
Sure, I don't know anything about a lot of questions here too because they're just not in the field I work in. The key is to find some that are interesting and learn about them. Or find one to really learn a lot about. - John Ellinwood
+1 for giving me hope that I will still enjoy my own personal programming projects in 20 years (after 15 years of programming) - Jared Updike
Nice to know I'll still be able to learn new tricks... ;) - Dave
I've had to go through Visual FoxPro, strange design decisions, 3rd party vendors, and a transition to a OO framework/API that has so many broken components that I'm not even sure where to begin. Reading your response reminds me that (a) it's all temporary and (b)there's always something else new to try, and lastly (c) it reminds me why I got into this to begin with. Thanks, and +1. - Avery Payne
@PaulTomblin Thank you Paul. In a professional that's brutally ageist, I am sure a lot of developers are thinking "Am I too old to learn all this new stuff?". Like you've said, side projects are the answer. - Shiva
1
[+98] [2009-02-25 20:02:36] user133503

Don't be discouraged. Just be willing to learn, one little chunk at a time. To answer your questions:

Is this normal?

Yes.

Did it start like this for you?

Most definitely so. It turns out that computer science (or programming or software engineering) requires a lot of nitty gritty know-how e.g. knowing your way around the command prompt. And on top, it also requires solid fundamentals e.g. understanding big-Oh and how your algorithms perform. School tends to focus heavily on the latter, which is a lot of hard work and thus it can be overwhelming to find out that you still lack all the nitty gritty knowledge after all that. This definitely happened to me as I was finishing school.

If so, how did you conquer it?

I'm not sure that I have conquered it. You never stop learning. The thing to get good at is knowing how to read documentation, learning tools, libraries, etc and being methodical about this. Oftentimes it is really tempting (specially with SO around) to just search for how to do something and not understand what you are doing: drop that habit if you have it (I did/do). Always look into things until you understand them fully. If you don't know how to begin, it is probably an indication that you're also lacking some fundamentals knowledge -- find a book and read it from the beginning. This whole thing will be very time consuming at first, but as you build up your knowledge-base it'll become less so.


(8) +1 "You never stop learning" - true. - Hamish Smith
2
[+54] [2009-02-25 19:50:54] Robert S.

The questions on SO represent practically every aspect of professional software development. Languages, frameworks, tools, techniques, algorithms, specific products, patterns, UI design, and best practices are just the tip of the iceberg for discussion here. Then you add in the somewhat-offtopic stuff pertaining to IT, system administration, and personal approaches.

So I'd say don't get discouraged because what you want to do will bear itself out. If you want to be a Windows developer using C#, then that's what you'll be, and the questions about Erlang or Grails will be of no consequence to you. In other words, you'll create your own filters.

Even our beloved Jon Skeet [1] doesn't work in every tag. :)

[1] http://stackoverflow.com/users/22656/jon-skeet

I've added link to @Jon Skeet's profile. - J.F. Sebastian
+1 Love the comment on Jon Skeet. - batbrat
(7) If Jon Skeet hasn't worked in some tags, it's only because they're not yet strong enough to withstand the awesome power of his mind. (sorry, couldn't resist) - David Z
3
[+34] [2009-02-25 19:47:20] BoltBait

Yes, this is normal. Unless you are Jon Skeet [1], you probably aren't an expert in every tag.

If you love programming, keep going. If you don't get out.

Believe me, they don't teach you everything in college. You'll just have to learn the rest of the stuff in the real world.

[1] http://stackoverflow.com/users/22656/jon-skeet

(1) I'd amend that to say "they don't teach much in college". I've yet to hear of a college that did more than get your feet wet (though I'm sure it seems like a lot more when you're learning it, it really is just the tip of the iceberg). +1 - rmeador
(7) even Jon Skeet aint there in 'every' tag :-). so we can all be happpy. - M.N
(2) @rmeador, you're completely right, college just teaches some of the basics and how to learn. I think SO should be a part of any college now. - Nathan Koop
4
[+30] [2009-02-25 19:48:53] Dave
  1. YES.
  2. Read, then try.
  3. Yes.

Medicine, Law, and Programming all have one thing in common: DO NOT consider University the place where you Learn, and the workplace where you Do. University is the beginning of your career, which must always include learning. The nice thing about programming is that no one dies or gets sued while you experiment, which is by far the best way to learn ;)


What if you're programming implantable defibrillators? ;) - gnostradamus
Hopefully you aren't doing this at University. - jmucchiello
Oops! Got me there! xD - Dave
(4) Look up "Therac-25". It may be a rare exception, but there definitely are areas (and increasingly not just in medicine) where a software error can kill people. And getting sued is not that unlikely at all if you do it professionally. - Michael Borgwardt
(2) I guess the difference is that you can experiment directly with programming without worrying about death or lawsuit... I would hope that no "experimental" code would go into "production" in life-or-death situations ;) - Dave
What about space shuttle? Or any GPS out there...etc. You underestimate the power in your hands... - Sybiam
(1) Come on. For every version that goes to live production I make 10 that even fail to compile. - Tadeusz A. Kadłubowski
5
[+24] [2009-02-25 19:50:33] m0j0

It's funny, but I remember way back when I was still a beginner, and I would read programming magazines or hear REAL programmers talking, and I would be intimidated too. So, yes, it started like that for me as well.

How I handled it was just being patient. Over time I realized that many of the concepts and stuff weren't really that difficult, once you understood them. I just made it a habit that whenever I felt intimidated by something, I would go out and learn as much as I could and master whatever it was. For instance, at one point in time C pointers really threw me for a loop. That's when all my experience was in BASIC on TRS-80s. Nowadays I find them easy to comprehend.

I think it's pretty normal, and you just have to keep plugging away. Just remember that ignorance does not equal stupidity. Just because you don't understand something NOW doesn't mean that you're incapable of understanding it.


+1 for "ignorance does not equal stupidity" - Andreas Grech
(2) +1 for the TRS-80 Basic reference. Good times, gooood times. Excuse me, I have to get back to my rocking chair on the porch of the old-folks home. - Kelly S. French
6
[+17] [2009-02-25 19:57:20] Neil N

I've been coding for 20 years and see some questions that I have no idea what they are about. And that's simply because there is such a wide range of topics.

For example, I was never a Python programmer, so if a question comes up that has terminology that is specific to Python, I think to myself, "huh?"

So yes, it's perfectly normal.


7
[+16] [2009-02-25 19:49:38] Jared

No, you shouldn't be discouraged at all. Nobody knows everything.

You'll start out in a career and it will be a rough and rocky but soon you'll be amazed at how much you learned in the last year, month, week, day, hour, minute, etc.


8
[+14] [2009-02-25 19:54:19] Randolpho
  1. Yes. Somebody who's just coming out of college is very frequently woefully unprepared for some of the very important aspects of software engineering these days. That's not to say your education is fail; it's just to say that CS courses don't do enough on some of the things that are important for writing software professionally. I think there really needs to be more Software Engineering focus in a CS degree.

  2. The Internet is a really, really great place (for more than just Porn!). The best software engineers these days are autodidactic. Trawl the blogs. Spend time here on SO. In fact -- don't be afraid to research an answer to a question you don't understand. That's a great way to learn. Remember: things change a lot in our field.

  3. Yes, these feelings are perfectly normal. For more than just CS majors, really; everybody getting close to graduation has those "Am I doing the right thing here?" moments. It's worth investigating before you go off into a career, but don't dwell on it too much. A CS degree is often good for more than just a programming career.


I could not agree more on your first post. I simply minored in CS since I'd been programming since I was < 14, and after taking some advanced programming classes, I was SHOCKED at the elementary levels. I feel so sorry for fresh-out-of-college engineers. - Cyprus106
+1 for working the $0.50 word autodidactic into a sentence. - Troy Howard
Oh, it's worth way more than 50 cents! - Randolpho
Surely you want to trawl the blogs not troll them? :-) - kpollock
autowhatnow? holy crap! I never thought at this age I'd come across a word I'd never heard before let alone didn't know the meaning of. +1 for helping me teach myself the meaning of a new word. - BenAlabaster
@balabaster: Glad I could help! :) - Randolpho
" A CS degree is often good for more than just a programming career. " I dunno if I agree with that, I suppose it could be worse, you could have an MBA. - Jim B
9
[+9] [2009-02-25 22:54:39] sam

I would not be discouraged! Stack Overflow contains an odd-odd mix of many many topics. Yes, you start out with your mind swimming.

If you're in a Bible College, I would read Ecclesiastes 4 and 5, find what you love in computers, and love doing it. You'll drift toward your niche in the industry and work form there.

If it's any encouragement, I came out of school w/ an MS, started doing QA work, moved to IT, moved to SysAdmin, and landed finally in Java Development.

As a Christian, you have more promises than the average bear to lean on. :)


10
[+8] [2009-02-25 19:48:51] XMLbog

SO usually covers a lot of language-specific problems rather than the general problem-solving skills one learns in school, so I would say do not be discouraged by SO. Look at the more language-agnostic questions and see if you understand them. If you do, you're on the right track.


11
[+8] [2009-02-25 20:31:57] Orion Edwards

Sad to say, but I don't even understand a majority of the questions posed here

I have a university degree, My job title is "Senior Software Engineer", and I've been programming professionally for over 6 years, and I don't understand the majority of questions here, and to put it bluntly, I'm not supposed to.

One of the stated goals of Stack Overflow is to recognize that there are so many niche areas of programming, and that the only way to possibly find an answer to most questions is to have as wide an audience as possible.

In a nutshell this means: The only way to find the 3 people on the planet who know how to solve your specific exact problem is to make sure we have an audience of all 200 million possible people. Don't worry if you're not one of the 3 people with an answer to a particular question... sooner or later something will come along that you will be an expert on, and then you'll be able to show all of us that :-)


12
[+7] [2009-02-25 19:50:04] user131716

Try to answer a single question on a new technology you are learning every day. You may not initially know the answer, but research/test/play around until you find the answer. Do this and you will gradually improve.


13
[+5] [2009-02-25 19:50:08] Lloyd Cotten

Excellent questions... The answer is Yes to all three. :-)

Of course, when I started, there was no Stack Overflow but there were many forums and newsgroups that I visited. I became very overwhelmed with trying to understand the questions.

I found the best way to overcome it is to just get in there and start developing. As I come across challenges that I don't know, I search Google, blogs, and ask at forums and now Stack Overflow.

One way to do that is to look at places like CodeProject [1] (http://www.codeproject.com/) where you have a large repository of code samples, tutorials, and such-like. You can download the source code presented in many of the articles, build it, step through it with a debugger, and see how it works. Then try to modify the code in a way that would interest you and see what you can do.

And of course trying to come up with your own "pet" projects is a good way to learn and be challenged, so that questions will arise and you will have an opportunity to look for the answer or ask it in the community (online or your associates).

Best of luck, and I do know what you mean. Sometimes we forget once we've been around things for a while how it is to start out and just the quantity of information is overwhelming. Don't give up!

[1] http://www.codeproject.com/

You mean that your answer to the question "how did you conquer it?" is also yes? :-P - user133257
14
[+5] [2009-02-25 19:50:57] Christophe Herreman

Don't worry about that. There are so many different technologies in IT that it is impossible to understand or even be aware of all of them.

I know how you feel though, because I had the same feeling a couple of years ago. Just keep on studying and programming and you will naturally get interested in a couple of technologies that really matter for your job and which you will enjoy using.


15
[+5] [2009-02-25 20:56:00] Esko Luontola

Did it start like this for you?

I had learned some programming while in high school and had written a couple of small programs. Then I wanted to improve one of my programs and begun redesigning it, but I hit a wall in trying to manage the complexity. Writing small programs was OK (1000-2000 lines of Java), but I did know how to go about writing larger programs.

If so, how did you conquer it?

In university I got the skills for designing larger programs, and the basic information on how things work (databases, networking, operating systems, algorithms, data structures, assembly code, concurrency, project management etc.). None of the things in themselves were hard to learn. It just takes time to learn them one by one. You also need to practice what you learn. While studying, it's good to have some hobby projects or part-time programming work, so that you can put to practice the theory that they teach at university (but don't work so much that it slows down the studies).

Is this normal?

In programming, you need to be learning new stuff all the time. And the more you learn, the more things you will see in the horizon about which you don't know that much. Then depending on what your needs are and how much time you have, you need to decide what learning that will benefit you the most, and leave the rest for some other time, or ask someone else to do the work which requires knowing those things.


16
[+5] [2009-02-25 20:56:06] Mark Johnson

Let me channel The Sphinx ( Mystery Men [1]) here for a second: There is more to computer science than software development, and more to software development than computer science.

Also, let me try and recall / paraphrase what one of my professors said: The reason to study computer science instead of just learning the current hot technology is that the technologies you'll spend most of your career working with haven't been invented yet.

[1] http://en.wikipedia.org/wiki/Mystery%5FMen

17
[+5] [2009-02-26 10:14:06] Kramii

NOBODY understands most of the questions posted here!

We're all in the same boat. Programming is a huge field now - you simply can't know it all anymore. Fortunately, we all know a bit, so and can help each other out.

There is nothing better in life than doing something that you enjoy.


18
[+5] [2009-02-26 10:24:41] alok

1. Did it start like this for you? Ten years of programming and it still is like "this" for me.

2. If so, how did you conquer it? It's not necessary to "conquer it", realize that most of the posts here are related to programmers getting stuck while doing something looking for a quick answer to that problem. It's a bit like asking your neighbor how s/he fixed that problem yesterday, since it would save time, and would generate an interesting discussion too.

3. Is this normal? Yes.

My advice: spend time with a good programming book, many if possible. It was much easier to do that back when bandwidth wasn't so cheap. So many more distractions now.


19
[+4] [2009-02-25 22:26:58] cwallenpoole

On the cover, in large friendly letters, are the words "Don't Panic".

I'll admit, I'm a newb (I've been programming since June 2007 and I don't have ANY technical background at all), so perhaps I am completely unqualified to answer this, but here goes.

The reason I am not intimidated by most of this stuff is that a lot of it is completely unrelated to anything I need to do right now. I work predominantly on web stuff (and specifically on Flash and Flex), I use PHP, JS, HTML, CSS... Most of the questions here are completely beyond my scope. I view this as, "They know that, I know my field."

The thing that really gets me is that I don't know what I am supposed to be trying to learn half the time. I have never even heard a professor even say Olog2n, and I don't even own a textbook which describes "best practices" for OOP. I'm more or less forced to figure out all of this stuff on my own and I make a lot of mistakes because I have no idea what I am doing. I also really want to know C and C++ (and somewhere along the way master Java, Perl, and Python) but I don't even have a good place to start...

But, I'm not miffed. If anything, the very fact that I don't know any of this means that I am more likely to look at something new. If it looks like Greek, then my mouth drops and I center-click the tab. Otherwise it is a fascinating trip [1].

I also have in my favor a particular stubbornness, but mostly this is built on a knowledge that, in computer programming, "if you bang your head against a wall for long enough, the wall will move"

[1] http://xkcd.com/214/

+1 for the H2G2 link ... otoh, I too often just end up with a bloody forehead and the wall in the same place. - PTBNL
Try banging the wall with someone else's head. - Peter Wone
20
[+4] [2009-02-27 00:11:41] John Szurek

It is normal. Stackoverflow covers the entire range of development technologies. That is a huge range of knowledge, and nobody understands it all. You can't learn it fast enough to keep up with all the new stuff that is being added unless you specialize in a narrow niche. So get used to it. For the rest of your life you will go to sites like this and and wonder what all these guys are talking about. They will continue to invent new languages and new concepts and to give them strange new names.

But the best response is not to be discouraged any more than you should be discouraged when you walk into a library and realize you haven't read all the books. Stand in awe! Here is virtually limitless variety and opportunity for you. Take off your shoes --- in its own way, this is holy ground.

As you rise into management jobs in your career, however, you will have to make decisions to severely limit the variety within your organization so that you can build and maintain code cost effectively. Welcome to the real world!

It didn't start like this for me. I started writing Basic on an Apple IIe (found only in museums today). That was technology that a single human being could master. Ever since then I have watched the real world speed on past me. It has been a great life with wonderful people, and I am honored to have stood on the shoulders of so many giants who have built this stuff.


21
[+4] [2009-05-26 21:57:16] Karen Lopez

I'm guessing that most of the questions you are reading that are making your head spin are the ones that are specific to a technology, vendor product, or tool.

They make my head spin, too, because:

  • No matter what anyone tells you, you cannot possible ever know everything about everything. You will eventually develop specializations, so that you will eventually understand all the questions about some things and some of the questions about all things.
  • The vendors, tools and products will change. Today's detailed questions about them will morph into questions about other details. But the underlying principles that you are learning now will help you understand which parts of which answers apply to the new questions.
  • The education you are getting now should help you understand what the "real" questions and answers are. Those who are experts in only the syntax of the current tools will go through life getting their heads spun every 6 months or so.
  • Formal education, especially that in Computer Science, is typically less "applied" than some other offerings. CS grads are supposed to bring more foundational knowledge to a team. Sure, some people will applied degrees will know a bit more right out of school, but they will have to work harder on the foundational issues than you will...and vice versa.

Don't worry. The worst possible thing that could happen in the future is that you spend some night reading through thousands of questions and you start thinking "Geez, why aren't there any new questions these days?" That would mean that you have nothing left to learn.


22
[+3] [2009-02-28 15:23:28] user138326

Most of these questions are very specific and about tools. Who cares about tools? Work on your fundamentals and use/learn the tools that you have available. I probably don't know 99% of the questions asked here, and I'm not afraid to admit that. It doesn't keep me from being kickass at what I do.


23
[+3] [2009-03-26 16:39:23] tgerhard

First off, let me tell you that I am primarily self-taught. I went to a community college and got a cert in programming (C primarily and some VB with SQL and database stuff tossed in). My day job is not programming (I'm a tech editor). I do, however, create web sites for friends and write games and tests for my children.

That said

  1. Did it start like this for you?

Yes. The wealth of information here and elsewhere can be totally overwhelming and discouraging.

  1. If so, how did you conquer it?

You never have to change what you see, only the way you see it. I look at it as a vast treasure. I just dive in and try new things. Recently, I started using Perl for the first time ever. I was like a kid with a new tub of Legos. As for this site, take a look around at subjects you've studied or just touched upon and go from there. That's what I do. That way you'll have a comfort level while still being challenged and learning.

  1. Is this normal?

Totally. Even all the wise experts who have already responded have said so. You're in good company.


24
[+3] [2010-08-04 19:55:38] Ocaasi

Think of this site differently. Rather than a place where the answer is always known, it's a place where for every. single. answer. someone was as completely dumbfounded as you. They just didn't hesitate to ask. Great question.


25
[+3] [2013-09-07 09:13:51] Jamal

I definitely understand your situation. I'm a CS undergrad (senior year), I poke around on this site from time to time, and I've done so much on Code Review SE for the six months I've been on there, but SO still intimidates me greatly.

My lack of practical experience isn't the only reason, though. It's mostly because this place is so full of experts, and I feel very very small compared to them. I'd like to answer a question or two sometime, but I would most likely get beat with a better answer first. As for asking questions, I now only do that as a last resort. My previous experience with that has been so-so, and I would just find myself making excuses for not asking a question on here. If I need help with something, I'll just look for an existing question and then upvote accordingly to express my thanks. Nowadays, upvoting is the only thing I bother to do here.

But, on Code Review SE, I do everything: ask questions, answer questions, flag, vote (up, down, close, reopen), make edits, review edits, and participate on Meta (I'm even helping with introducing a new site policy). I've learned so much over there, and that's just where my heart is. Unfortunately, as that site is still in beta, it is still prone to shutdown. If that were to happen, my overall activity on SE would plummet, and it may even affect my enthusiasm of programming (hopefully not).


(2) I'm with you on the question asking front, in that I've never asked a question on SO simply because most of them had been asked and answered for me. Don't hesitate to answer though. Yes, plenty of my answers were surpassed by far better answers of more knowledgeable people. But that should not get you down. You should see it as a learning experience. The next time you come across a similar problem, you'll be far more able to answer it based on the experience you gained. - Bart
@Bart: I agree. Still, I'm not at the level where I can dish out answers like I can on CR. Once I get to a higher point, I may do that. For now, I'm just sticking with code reviews and even learning from the answers I post. I feel that a celebration will be in order when I finally earn my bronze C++ tag badge (9 upvotes remaining). - Jamal
Flagged @JanDvorak and your serial upvoting shenanigans. For shame! :p - Bart
@Bart: But it only has to do with upvotes from others (I cannot upvote my own answers). ;-) - Jamal
Sock puppets @Jamal. But you didn't hear that from me. ;) - Bart
@Bart: I can assure you that I've earned them all. :-) Well, I've lost one because a user was deleted, but whatever. - Jamal
26
[+2] [2009-02-25 21:24:25] dwc

When I look at things on SO, I probably don't comprehend much more than you do. And I've been coding professionally for 20+ years. The difference is that rather than being discouraged my experience tells me that most of these questions are so specific to a combination of tools that you'd almost have to work where that person works to have an answer ;-)

Further, by the time you graduate and begin working, many of these tools will either not exist or not be in widespread use!

Keep looking at SO, but focus more on the larger questions rather than the ones trying to put a square peg from tool X into a round hole in tool Y.


27
[+2] [2009-02-26 01:24:34] codingbear

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.


28
[+2] [2009-02-26 04:31:46] Ken Liu

CS programs teach a lot of important fundamentals about software such as algorithms, but don't usually teach many practical, real world skills, unless there is a Software Engineering course. Most questions on SO relate to professional software development. Writing software in the real world is a lot different than CS courses would lead you to believe.

If you have the opportunity, do an internship so you can get some hands-on experience, and you will see how many of the questions asked here apply to professional software development.


29
[+2] [2009-02-26 04:58:37] Mike Bonnell

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 [1].

If stuff like the The Meaning of ‘Hack’ [2] 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.

[1] http://catb.org/jargon/
[2] http://catb.org/jargon/html/meaning-of-hack.html

30
[+2] [2009-02-27 05:51:37] ryan.scott

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.


31
[+1] [2009-02-25 19:48:30] Won't

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.


32
[+1] [2009-02-25 19:57:12] Earwicker

It's not at all unusual for people to complete a computer science course without really learning anything they would need to work in the software industry. I've heard of people getting the degree without ever writing a single program that compiles or runs.

So don't be discouraged if you enjoy learning new things. So you have a lot of enjoyment ahead of you.

Also, if there's something you don't understand or never heard of, referred to in a question on SO, look to see if anyone has asked "Can someone tell me what X means?" and if they haven't, ask it yourself. A lot of people here enjoy trying to come up with a clear and simple explanation of key concepts.


33
[+1] [2009-02-25 20:01:50] gnostradamus

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.


34
[+1] [2009-02-25 20:02:52] gabriel1836

I would recommend that you take a look at some of the following posts from our ever fearless leaders Jeff and Joel:

Make certain that you also read this article [3] that Jeff links to in his blog.

Programming is a path, not a destination and being a great programmer means walking that path. We all had to start somewhere and that was at one point in time or another the place of knowing absolutely nothing.

[1] http://www.joelonsoftware.com/articles/LeakyAbstractions.html
[2] http://www.codinghorror.com/blog/archives/001207.html
[3] http://www.norvig.com/21-days.html

35
[+1] [2009-02-25 21:04:24] David Thornley

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.


36
[+1] [2009-02-26 14:44:48] Xolve

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.


37
[+1] [2009-02-26 15:00:12] Roqetman

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.


38
[+1] [2009-02-27 00:27:24] Gary Kephart

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.


39
[+1] [2009-03-06 20:55:43] Omar Abid

I changed communities, tried Microsoft Forums, tried developez.com 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 :/


40
[+1] [2009-03-14 15:34:22] Sathish

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


41
[+1] [2009-06-07 11:23:56] pewned_123

Hi,

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.!!! (:


...or do your homework... - gbn
42
[+1] [2009-06-07 12:32:39] Jim Evans

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.


43
[0] [2009-02-25 19:47:46] MarkusQ

No, do not be discouraged. Be challenged, and strive to live up to the challenge. If nothing else, it's a lot more fun that way.


44
[0] [2009-02-25 19:49:08] DavidN

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


45
[0] [2009-02-25 19:49:18] LeakyCode

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


46
[0] [2009-02-25 19:51:10] spoulson

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.


47
[0] [2009-02-25 19:52:17] username

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


48
[0] [2009-02-25 19:56:33] ЯegDwight
  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.

49
[0] [2009-02-25 20:18:19] Galilyou

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!


50
[0] [2009-02-25 20:22:17] GregD

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????


51
[0] [2009-02-25 20:34:16] rwarren

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.


52
[0] [2009-02-25 20:39:52] kodecraft

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.... :)


53
[0] [2009-02-25 20:46:13] Berkshire

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!


54
[0] [2009-02-25 22:02:18] Syed Tayyab Ali

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.


55
[0] [2009-02-25 22:14:19] Mike Chess

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.


56
[0] [2009-02-25 22:19:39] Jas Panesar

What are you discouraged about?

Programming is like swimming to me, we can take all the courses we want about it and take some lessons, discuss it all we want, read about swimming all we want, the only thing that builds the real comfort is the hours spent doing it.

The only thing a real developer ever knows is how little he knows. All he ever works on is his problem solving and ability to figure things out the best way possible. He does this through learning as many approaches as possible and then making it happen through the syntax of a few languages.

Start hacking, start building. The more you create, the more you'll see the patterns inherent in most if not all problems.

There is a fantastic post or two about managing your relationship with failure.

First: http://weblog.raganwald.com/2005/01/what-ive-learned-from-failure.html

Second is one article that I think is something every programmer should read.

Embracing Failure [1] by Eugene Wallingford:

A while back, I clipped this quote from a university publication, figuring it would decorate a blog entry some day:

The thing about a liberal arts education ... is it prepares you to fail successfully and learn from that failure. ... You will all fail. That's OK.

-- Jim Linahon

Linahon is an alumnus of our school who works in the music industry. He gave a talk on campus for students aspiring to careers in the industry, the theme of which was, "Learn to fail. It happens"

More recently, I ran across this as the solution to a word puzzle in our local paper:

You've got to jump off cliffs all the time and build your wings on the way down.

-- Ray Bradbury

Rich talked about how hard our discipline must feel to beginners, because it is a discipline learned almost wholly by failure. Learning to program can seem like nothing more than an uninterrupted sequence failures: syntax errors, logic errors, boundary cases, ugly interface, .... I'm not a novice any more, but I still feel the constant drip of failure whenever I work on a piece of code I don't already understand well.

The thing is, I kinda like that feeling -- the challenge of scaling a mountain of code. My friends who program can at least say that they don't mind it, and the best among them seem to thrive in such an environment. I think that's part of what separates programmers from less disturbed people.

[1] http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2009-02.html#e2009-02-09T16%5F31%5F38.htm

57
[0] [2009-02-26 00:17:57] Ken Fox

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.


58
[0] [2009-02-26 14:26:54] Robert

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.


59
[0] [2009-02-26 14:32:50] Sam Schutte

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.


60
[0] [2009-02-26 17:12:01] Valerion
  1. Did it start like this for you?
  2. If so, how did you conquer it?
  3. Is this normal?

1 - Of course. And it hasn't changed. Every time I come onto SO I'm humbled by the amount that I don't know and I have 10 years professional experience and 5 years of hobbying when I was a teenager. I bet those who have 40 years feel the same. In some areas I know a lot, in others I know nothing. This will never change. All you can do is learn as much as you can, but try and learn some areas quite in-depth first before branching out to other things.

2 - By realising that I'd never learn anywhere near everything. And realising that this doesn't matter.

3 - This is both normal and preferable. There are those who think they know it all after graduating or after a couple of years. Believe me, they don't. Having that attitude is a fast-track to fail.


61
[0] [2009-02-27 00:40:16] David Robbins

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.


62
[0] [2009-02-27 06:53:10] Chris

Absolutely Not! I'm sure most of the people here can't answer 10% of the questions. It's not our fault, it's because you can't know everything. There aren't enough hours in the day to learn everything. Specialize in an area you feel passionate about, only then, will you feel more confident.


63
[0] [2009-02-27 07:13:25] Tomas

Nope, you shouldn't be, first of all, the questions here spand such a wide area, so theres unknown areas for everyone. Secondly, when people give up troubleshooting, the problem is or kind of has to be non-trivial for anyone. I've been in java-development/architecture for 8 years, I find most questions here to be in other areas than my profession. Questions within java are seldom easy ones, rather complex and related to a particular tool/framework. Often if you haven't spend a lot of time with that framework, you can't answer the question.

So it's perfectly normal, cheer up! Get some experience and you'll start understanding more every day.


64
[0] [2009-02-27 11:12:36] Pavan

There is no need to be discouraged, first of all I dont advice you to visit this kind of forums to learn things.This place is for discussing issues/show stoppers that one encounters in work. Here nobody knows/understands every thing and moreover people ask questions here because they dont know how to solve the problem. So everyone here is almost same. Today you have asked a question and tomorrow you might answer other's queries :)

You can start learning things with something which is very easy.

Like: Take an excel macro, learn different things that you can do.


65
[0] [2009-02-27 20:22:03] newfie_coder

It's hard to top work experience (if you're not actively involved in your own or an open-source project) for giving you the know-how to answer some of these questions. A lot of things you'll just never encounter on your own, or in a classroom. I remember doing Java work for my CS degree before i had a workterm and not knowing about Eclipse (or any IDE for that matter) or even how to reasonably make use of abstract classes and interfaces... but you work with people who know more than you do and you learn from them. That's where i find the best stuff comes from - mentoring. Some people are very driven to learn things themselves, but not everyone is like that. So getting into a software job where you can learn from experienced/talented people will really make a difference. Then one day you'll be reading an article like this and remember when you asked a similar question... It just takes time... Good luck, don't give up.


66
[0] [2009-02-28 07:41:19] thomasrutter

You shouldn't be discouraged that you don't understand the majority of questions here.

A lot of the questions on Stack Overflow are very specific programming questions that are relevant to a particular problem. If you've never had to deal with that particular specific problem before, and would never have reason to in your career, there's no need to understand it.

Another thing is that a lot of the questions here are very specific to a particular framework, and if your day-to-day programming is in a different language, you won't understand it. A programmer will often specialise in a specific language and perhaps framework/environment, rather than trying to know everything about every programming tool for every language.

As for me, a lot of the questions about .NET or Visual Studio, or in some respects Java, are gobbledy-gook to me, as I usually program in other languages like C++, C, PHP, Python.

My tip would be to use the search feature to find questions that are more relevant to the types of programming you do.


67
[0] [2009-03-14 15:37:15] mysitecometrue

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


68
[0] [2009-05-27 18:53:43] Nathan L.

Well, since this is where people go to ask questions that they don't know the answers to, no. I wouldn't be. I'm not. We both are young and still learning a lot.


69
[0] [2009-07-09 16:58:11] Colin

The day I stop learning (should I ever arrive at a place in time where I would know everything :-P) is the day I quit my job. The whole thing that makes my job fun IS learning new things!

I wonder if Jon Skeet is still working...


70
[0] [2009-08-04 22:10:10] JB King
  1. This site can be intimidating, definitely. However, you can either leave or roll up your sleeves and get into what the site has that may help with something you want to learn. There are tons of different questions here and I'm not sure anyone knows all of them.
  2. Persistence, learning about different things, and recognizing that in some cases I'm sharing knowledge and in other cases it is my experience that can be shared and be useful to others, e.g. how do I like Scrum [1] or how do I handle some ASP.NET [2] thingie.
  3. It could well be normal because how many other people could say that they visit this type of site and know it like the back of their hand? Not many, IMO.

Just as something to ponder, what kind of coursework have you taken involving Oracle or ASP.NET or other very large things that I'm not sure CS courses cover this material in great depth. I remember well my 6 3rd year courses well: Data Structures and Algorithms (CS340), Concurrent Programming (CS342), Digital Design and Architecture (CS351), Operating Systems (CS354), Theory of Finite Automata (CS360), and Numerical Analysis (CS370).

[1] http://en.wikipedia.org/wiki/Scrum_%28development%29
[2] http://en.wikipedia.org/wiki/ASP.NET

71