software-development

How are people able to maintain their codebases?

I'd understand how if the codebase were good but more often it's more like a maelstrom. In code I'm asking about the variable names are foobar, stuff is getting calculated even if never needed, lots of hacks and patches are applied, abstractions fail, deployment scripts fail... The code is an incomprehensible and almost unusable soup. ...

Software Rewrite-vs-Running Cost Analaysis

The IT department I work in as a programmer revolves around a 30+ year old code base (Fortran and C). The code is in a poor condition partially as a result of 30+ years of ad-hoc poorly thought out changes but I also suspect a lot of it has to do with the capabilities of the programmers who made the changes (and who incidentally are stil...

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

Should you build upon a project you did for a client for another client?

I've had a few projects on my laptop that have been developed for previous clients. I've been thinking of actually building upon the projects to build bigger projects on my spare time or when the time comes that another client is need of a more complex or less complex software, I can just modify a few things and deploy much faster. What...

Where is the dividing line between complete lack of planning and analysis paralysis?

In my very short time working in the programming field, I've seen two extremes: Projects where little to no planning was done and thus become maintenence nightmares. Projects that are perpetually in the planning stages and don't move from there. It seems like the latter oftentimes happen as a reaction to the former. Where is the hap...

Bug Maintenance System

I spent a lot of time recently reading about debugging. One of the aspects that was continually referenced was not just a bug-tracking system, but a bug-solving process. I read about people writing down takes on the problem(that did or didn't work), tests that would determine if a given take on the fix would work or not, etc. So I am th...

What do I do with my career considering recession everywhere and dislike for my current job?

I work for a very good company and my salary is very competitive considering my less experience and pay structure followed in my country - India. I have 2 years of full time experience. In addition to that I did 2 internships, 6 months each, 1 in my company using C++ and the other in a very good semiconductor company on ETL development ...

What should a good technical design document contain?

When writing a technical design document of a yet non-existent application/system, what aspects would be most helpful for the developers - assuming that the person writing the document is not involved in the actual development? There are some obvious things, and standard structures, of course, like system architecture interfaces (exter...

Configuration Management with Subversion and SharePoint help

Ok, when hired on to my current company a year ago, I was tasked with migrating our development teams from VSS. They already had it in their minds that they wanted Subversion, and since I had experience using and setting up subversion, I was a good candidate. I first tried to sell TFS because it woul dhave solved the problem I am in ri...

Which language/runtime/libraries combination allow fastest development process for multiplatform software?

I would like to know opinions about the fastest combination of language, libraries and tools that allow for fast prototyping of application in the 3 most important OS (Win, Mac, Linux). In the past, I've used processing for visual sketches, but I would like to know about other options, since this is oriented to visual artists, not progr...

Where do new companies in IT Business developing softwares, websites and databases find work from?

Hi There, i am a qualified software engineer who has experience working on designing softwares, databases and websites but I don't understand how do companies find work for software database adn website development? Any advice will be much appreciated.. I do realise it may make me look dumb and may attract negative feedback but all throu...

Can software be developed without deadlines?

I have problems developing my personal projects because I don't have deadlines, so I rarely find time to pursue them and when I finally find some time I usually find myself "perfecting" the code instead of adding more meat. In contrast, my for-pay projects are less than perfect but work to the customer's satisfaction, earn my pay and ar...

How can social networking sites make you a better developer?

I am giving a keynote at Devscovery tomorrow at 9am. The title is "Social Networking for Developers." It's 90 minutes long and I don't want to waste anyone's time. Everyone I talk to who uses Twitter, Blogs, StackOverflow, etc, says that these sites make them "better developers." However, few are able to qualify HOW and fewer are able ...

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

Examples of outdated software development tools and techologies

I'm writing a paper on software process improvement. As i lack experience from actual software development companies, i made up a company that I'll use for the paper. However I need some examples on outdated tools and technologies they could use so that i have something to improve. I was thinking of CVS as the revision control system (...

Delivery of a product taking a long time

Have you ever worked on a development of a product which took a long time to release to public( at most 2 years)?.And, you were working on the same project for the whole time.How did you keep yourself motivated? And, I wonder should delivering a product take such a long time? There are others who have this philosophy- get the product out...

In-House Development

The in-house system I develop and maintain (at a UK college) is always under fire from requests for new subsystems to be added, minor amendments to major overhauls and a steady stream of bug fixes from previous work. The current consensus is that because it's developed in-house, changes(regardless of size) can be made on a whim, and de...

How can I make sure that all developers in a team create a uniform user experience?

In our development team we create many small applications, all targeted at a very specific needs of our customers. Therefore we often have problems with creating a uniform user experience regarding: Choice of icons (GUI) Naming of configuration files Naming of configuration options GUI language (as in "formal or less formal" or "for ...

What is the difficult part of software development?

What is the difficult part of software development that has major impact on final product/output? and How? What I expect is, in which areas [like technology, requirements..ect] should I concentrate 'more' to develop better applications. ...

Is UML the correct language for making software blueprints?

I was having a conversation last week with a coworker about architecture (real architecture, as in designing buildings). During our talk it came up that architectural blueprints give an architect, civil engineer, and contractor all the detail they need to build something. It got both of us thinking about the state of software engineeri...