2184
votes
73answers
204k views
What should every programmer know about web development?
What things should a programmer implementing the technical details of a web application consider before making the site public? If Jeff Atwood can forget about HttpOnly cookies, sitemaps, and ...
63
votes
27answers
4k views
How do you dive into large code bases?
What tools and techniques do you use for exploring and learning an unknown code base?
I am thinking of tools like grep, ctags, unit-tests, functional test, class-diagram generators, call graphs, ...
68
votes
29answers
13k views
Are certifications worth it?
I am finishing my college degree in programming soon and I'm exploring the next steps to take to further my career. One option I've been considering is getting a certification or a series of ...
369
votes
19answers
69k views
I've inherited 200K lines of spaghetti code — what now?
I hope this isn't too general of a question; I could really use some seasoned advice.
I am newly employed as the sole "SW Engineer" in a fairly small shop of scientists who have spent the last 10-20 ...
40
votes
13answers
4k views
How to find a programming mentor? [closed]
I decided to learn programming. I've been reading SO for few days, and I think I will start with C++, as I read some articles. I am aware of loops, arrays, program logic and objects a little and I ...
296
votes
27answers
19k views
How Can I Know Whether I Am a Good Programmer? [closed]
Like most people, I think of myself as being a bit above average in my field. I get paid well, I've gotten promotions, and I've never had a real problem getting good references or getting a job.
But ...
101
votes
31answers
14k views
How old is “too old”? [closed]
I've been told that to be taken seriously as a job applicant, I should drop years of relevant experience off my résumé, remove the year I got my degree, or both. Or not even bother applying, because ...
117
votes
10answers
19k views
How can I find a good open source project to join?
I just started working a year ago, and I want to join an open source project for the same reasons as anyone else: help create something useful and develop my skills further.
My problem is, I don't ...
68
votes
24answers
6k views
How do I improve my coding skills? [closed]
Here's a bit information about me, before starting with the question.
I am a Computer Science Undergraduate, Java being my primary coding language.
The basic problem in my University are the ...
58
votes
26answers
4k views
If you could only have one programming related book on your bookshelf what would it be and why? [closed]
One per answer please. I'll add my favourite as an answer.
68
votes
17answers
5k views
How would you know if you've written readable and easily maintainable code?
How would one know if the code he created is easily maintainable and readable? Of course in your point of view (the one who written the code) your code is readable and maintainable, but we should be ...
5
votes
11answers
669 views
How does one keep up with all the new tools/languages/framework? [closed]
Just wondering how everyone keeps up with it. I mainly work with ASP.NET and Windows form, but I'm stuck using 3.0 for business reasons. So most of my self education is on my own time (weekends, ...
86
votes
110answers
41k views
Do people in non-English-speaking countries code in English? [closed]
I've heard it said (by coworkers) that everyone "codes in English" regardless of where they're from. I find that difficult to believe, however I wouldn't be surprised if, for most programming ...
121
votes
16answers
9k views
How to respond when you are asked for an estimate?
We, as programmers, are constantly being asked 'How long will it take'?
And you know, the situation is almost always like this:
The requirements are unclear. Nobody has done an in depth analysis of ...
68
votes
29answers
6k views
How do you manage your knowledge base? [closed]
As programmers we have a lot of inputs:
Ebooks
Code snippets
Interesting emails
Documents
Web articles
Blog posts
StackOverflow questions
Podcasts
...
Which tools do you use to store, ...
18
votes
12answers
2k views
Is it better to specialize in a single field I like, or expand into other fields to broaden my horizons? [closed]
This is a dilemma about which I have been thinking for quite a while.
I'm a graduate student and my topics of interest are programming language design, code analysis, compilation, etc. So far, this ...
71
votes
22answers
7k views
Job hopping, is it a problem? [closed]
How would you, as someone involved in the hiring process (manager,interviewer, etc) feel about a candidate that has changed jobs every 1-2 years?
updateThanks for all the input everybody, some really ...
42
votes
14answers
6k views
When are Getters and Setters Justified
Getters and setters are often criticized as being not proper OO. On the other hand most OO code I've seen has extensive getters and setters.
When are getters and setters justified? Do you try to ...
27
votes
8answers
2k views
Should a developer also act as a tester?
We're a scrum team of 3 developers, 1 designer, the scrum master, and the product owner. However, we don't have official tester in our team. A problem that is always with us, is that, testing the ...
42
votes
8answers
3k views
Are design patterns really essential nowadays? [duplicate]
I was reading "Coders at Work" and have faced the fact that some of the professionals interviewed in the book are not so enthusiastic about design patterns.
I think that there are 2 main reasons for ...
28
votes
32answers
5k views
How many monitors do you use? Why? How they are used? [closed]
Why more or less monitors is worse than your configuration?
Why is important use it in this way (position)?
Productivity is obvious, but what specific advantage?
A picture would be nice.
85
votes
22answers
5k views
When is a BIG Rewrite the answer?
Just read the question about the Big Rewrites and I remembered a question that I've been wanting answered myself.
I have a horrible project passed down to me, written in old Java, using Struts 1.0, ...
52
votes
14answers
6k views
What “version naming convention” do you use?
Are different version naming conventions suited to different projects? What do you use and why?
Personally, I prefer a build number in hexadecimal (e.g 11BCF), this should be incremented very ...
40
votes
28answers
6k views
How do people read big technical books? [closed]
I see that most of the good programmers have the habit of reading big books for learning about technology.
What does it really take to read technical books, apart from the real interest on the ...
60
votes
39answers
21k views
Should curly braces appear on their own line? [closed]
Should curly braces be on their own line or not? What do you think about it?
if (you.hasAnswer()) {
you.postAnswer();
} else {
you.doSomething();
}
or should it be
if (you.hasAnswer())
{
...
38
votes
11answers
3k views
Metric by which to hold developers accountable [duplicate]
I asked a question on lines of code per hour and got torn a new one. So my matured follow-up question is this:
If not lines of code, then what is a good metric by which to measure (by the ...
26
votes
11answers
914 views
Techniques to re-factor garbage and maintain sanity?
So I'm sitting down to a nice bowl of c# spaghetti, and need to add something or remove something... but I have challenges everywhere from functions passing arguments that doesn't make sense, someone ...
29
votes
14answers
4k views
What are the key differences between software engineers and programmers?
What are the key differences between software engineers and programmers?
3
votes
1answer
469 views
Good resources for learning Rails? [duplicate]
Possible Duplicate:
Is there a canonical book on Ruby on Rails?
I just finished working through Peter Cooper's "Beginning Ruby". So now I've got a reasonable grounding in the Ruby language ...
32
votes
6answers
10k views
How to prepare yourself for programming interview questions? [duplicate]
Possible Duplicate:
Really “wow” them in the interview
Let's say I appear for an interview. What questions could I expect and how do I prepare?
30
votes
13answers
3k views
To branch or not to branch?
Till recently my development workflow was the following:
Get the feature from product owner
Make a branch (if feature is more than 1 day)
Implement it in a branch
Merge changes from main branch to ...
16
votes
12answers
1k views
What are some good tools for introducing kids to programming? [closed]
What tools would you suggest for introducing kids to programming?
44
votes
9answers
3k views
When do you know it's time to move on from your current job? [closed]
Have you ever reached a point at your job when you just know it's time to move on?
When do you move to the point that you're willing to let go of the demons you know for the ones you don't know?
...
61
votes
6answers
3k views
Agile for the Solo Developer
How would someone implement Agile process concepts as a solo developer? Agile seems useful for getting applications developed at a faster pace, but it also seems very team oriented...
18
votes
7answers
3k views
Best approach to learning web programming [closed]
I come from a scientific and embedded programming background, and I have had minimal experience with web programming. What would be the best approach to take to get up to speed with web programming? ...
28
votes
8answers
3k views
Version control for independent developers?
Do you think it's worth it to use version control if you are an independent developer, and if so, why? Do you keep the repository on your own computer, or elsewhere, where it can serve as a backup?
22
votes
17answers
4k views
Does Silverlight have a future?
Recently I have read some articles/blogs/comments about the development and history of WPF and Silverlight. In some forums many developers and users criticize the performance of WPF applications (for ...
227
votes
12answers
17k views
I'm a Subversion geek, why should I consider or not consider Mercurial or Git or any other DVCS?
I try to understand the benefits of distributed version control system (DVCS).
I found Subversion Re-education and this article by Martin Fowler very useful.
Mercurial and others DVCS promote a ...
102
votes
47answers
15k views
How can I really “wow” an employer at an interview? [closed]
I'm a top-notch programmer, but a notoriously bad interviewee.
I've flunked 3 interviews consecutively because I get so nervous that my voice tightens at least 2 octaves higher and I start visibly ...
87
votes
11answers
41k views
How can I teach a bright person, with no programming experience, how to program? [closed]
I have been asked to take a person in our IT department who has no programming experience but is a smart and capable person and help him move into programming at lets say an entry level developer ...
16
votes
10answers
20k views
How to learn PHP effectively? [closed]
A dozen of bad tutorials out there that teach you bad habits especially when we speak about PHP. I want to learn how to avoid the things that can lead me to develop inefficient web applications. I ...
74
votes
22answers
17k views
Tabs versus spaces—what is the proper indentation character for everything, in every situation, ever? [closed]
The coding standards for the code hosted in drupal.org suggest to use two spaces to indent the code; other sites suggest to use tabs to indent the code.
What is the proper indentation character for ...
31
votes
7answers
15k views
When to use abstract classes instead of interfaces with extension methods in C#?
"Abstract class" and "interface" are similar concepts, with interface being the more abstract of the two. One differentiating factor is that abstract classes provide method implementations for derived ...
18
votes
6answers
3k views
Is there a canonical book for learning Java as an experienced developer? [closed]
I have been a .NET developer now for about the past 5/6 years give or take. I have never done any professional Java development and the last time I really touched it was probably back in college. I ...
88
votes
18answers
7k views
How to market yourself as a software developer? [closed]
I have noticed that this is a frequent issue among younglings from technical areas such as ours.
In the beginning of our careers we simply don't know how to sell ourselves to our employers, and ...
82
votes
16answers
17k views
When to use C over C++, and C++ over C?
I've been introduced to Computer Science for a little over a year now, and from my experience it seems that C and C++ are both considered to be "ultrafast" languages, whereas others such as Python and ...
51
votes
14answers
10k views
Where does this concept of “favor composition over inheritance” come from?
In the last few months, the mantra "favor composition over inheritance" seems to have sprung up out of nowhere and become almost some sort of meme within the programming community. And every time I ...
36
votes
3answers
1k views
Preparing to release code as open-source
I have developed a fully functional tool which I would like not only to share with anyone interested but also get support from the community. This tool is cross-platform, written in C++ with Qt, the ...
21
votes
14answers
2k views
Why develop free, open source programs? [closed]
Why would someone use his own time to develop an open-source project for free and without compensation?
10
votes
8answers
1k views
What books would you recommend to someone who wants to learn C# programming? [closed]
A friend asked me this
Which book would you suggest for a newbie who wants to learn C# programming? This newbie understands basic programming concepts such as looping, data structures such as ...