software-engineering

Project source code that follows Microsoft Best Practices

Hi! I would like to know if you know some sites with great source code that follows Microsoft best practices? By best practice I mean that projects that most likely conforms to say, this documents: http://www.codeplex.com/AppArchGuide http://apparch.codeplex.com/Wiki/View.aspx?title=Pocket%20Guides&referringTitle=Home ...

What are some good resources for designing a web-services based architecture that can scale well?

I have a web application that currently has about 500,000 users, averaging about 500 page views per hour, and we are expecting to have to scale up to 20,000,000 users within the next year. Our current system cannot handle that scale, and so we need to move to one that can. I was thinking a services-based architecture would be more ro...

How do web services and databases relate to each other?

The idea that web services are small bits of functionality or data that are bundled together and encapsulated as small, stand-alone entities is pretty clear, and makes good sense. But how do services relate to databases that they use or provide an interface for? For example, when moving from a monolithic, 2-tier architecture with a mass...

The Three Systems of Man - How do you build a Third System?

I've been thinking about the story of the Three Systems of Man from the book The UNIX Philosophy. For those of you who aren't familiar, it goes something like this: The First System of Man is the one he builds when his back is against the wall. It's klugey, hackish, and doesn't it lend itself to new features. The Second System is des...

Is it possible to sell an idea for software without actually developing it?

I have my moments of inspiration like many others -- most of them bad, with a few diamonds in the rough. Is it possible to monetize those diamonds with stakeholders or entrepreneurs without actually being the person to handle development and technical? Any avenues that you can recommend would be appreciated. ...

How do you go about learning domain knowledge for a project?

I have only recently gradulated (6 months ago) and am working for a company that makes software for the mining industry. I have found it is the developers that know the most about mining that write the software the users like best (even if their code is not so great). Obviously domain knowledge is important, maybe the most important thin...

How do you continue to develope large (long term) software systems with legacy and new code?

I work on a large code base with a large install base of users. The code was originally written in vb6 with a few c++ COM modules for low level work. It is completely infeasible to rewrite all of the code that is already written in vb6 and is being used by our customers every day, but we are also continuing to make improvements and cus...

Software design vs. software architecture

Could someone explain the difference between software design and software architecture? More specifically; if you tell someone to present you the 'design' - what would you expect them to present? Same goes for 'architecture'. My current understanding is: design: UML diagram/flow chart/simple wireframes (for UI) for a specific module...

UI Driven Development

Hi, Does the idea of UI Driven Development make sense at all? Most of our clients like to convey their requirements in form of screens. For e.g. I want a screen to do THIS and THAT. Sometimes they even go as far as to dictate the layout of a screen by themselves (this may be because clients of today use software applications for most of...

Estimating Integration times, is it really 3x?

Hi I read in a mythical man month that integration takes 3 times the amount of time it took to develop the individual components. What has you guys experienced? ...

How much salary should I expect with my first job as a Software Engineer?

I'm a senior at a decent university majoring in Computer Science. Soon I will be interviewing for Software Engineer positions. I have had two good internships with will known tech companies, my grades are decent and I was active during college (president of ACM chapter, etc). I'm not sure if those things are even relevant though. I'l...

Is it typical for programmers to negotiate their salary?

In some industries salary negotiation is almost expected (sales for instance), but I'm not sure how prevalent this is in this IT industry. Is it typical in the software industry for software developers to counter salary offers made to them? Edit: My previous question was closed, so I'm attempting to extract anything too localized fro...

How do I design an application to support changeing requirements?

Changed requirement is bad thing in software development process. If requirements change, we must change software structure. How do you design flexible core modules to support solving this problem? Are there other techniques for dealing with changing requirements? ...

Does bathtub curve apply to modern software?

Of course software doesn't wear out, but few decades ago it was generally believed, that late in application's life-cycle code maintenance introduces more bugs, then it fixes. But does the bathtub curve apply to the modern software developed with modern software engineering methods? ...

What to expect from a SharePoint job position.

What can I expect from a "SharePoint" job? I have an offer from a company which is into SharePoint development. I'm wondering whether it is only about configuring standard SharePoint widgets or whether it is also about real development and programming. What are your experiences with SharePoint? ...

Is it possible to do a better programming job the second time around?

I hate the way this sounds but Joel says "It's important to remember that when you start from scratch there is absolutely no reason to believe that you are going to do a better job than you did the first time." I want to not believe this. Am I really doomed? Have you done a better job the second time around? Have you failed to do bet...

Static method hides instance method ! Anybody, please throw light!

Edit: I have asked question to understand why C# designers chose it to behave in particular fashion? Similar question has been asked, but this is little different. Should following code give warning? class Foo { public void Do() { /*...*/ } /*...*/ } class Bar : Foo { public static void Do() { /*...*/ } /*...*/ } It gives: "warning...

Writing Software technical documentation

What is the best resource where I can get samples of software life cycle documentation such as User Requirement Specification, etc? ...

Signs of Dying Software

What are signs that software is dying? How does a developer find early warnings to save a piece of software from dying? From user perspective, I think it is pretty clear - What they can not use efficiently, they will trash. Apart from this the software can die because of it's code - the architecture, coding style, size of codebase...

How can I encourage my local university to offer a course on secure coding?

Security is of increasing importance yet the vast majority of universities have no courses on this topic. What can we do to encourage universities at large to close this gap? The only mechanisms that exist for learning how to write secure code is a few good books and local user groups such as OWASP. ...