Top 10 Mistakes by New Software Developers, fresh out of College

By Partho, Gaea News Network
Monday, December 21, 2009

When it comes to learning a software developers mistake Steve McConnell’s list of classic development mistakes is always an inspiration. However, the new regime of project-based commercial software development has undergone a vast change over the years. With highly optimistic schedules the software development process is often plagued by process-related hassles. For any just out of college software developer the whole scenarios reminds somewhat Neo’s entry in Matrix. Overtly, a college graduate has no idea about - large teams, compliance and audit requirements, technical complexity, contractual constraints, enterprise focus, etc. The greatest hurdle faced by a newbie while running though the development work is that ‘they don’t know what they don’t know’. Our effort would be to emphasize the weaknesses of a fresh out of college software developer, and to inform about the areas of software development, in which they need to hone their skills.

1. Handling large database

As a fresher handling large database at the first go would be baffling. This is due to the fact that they assume data consistency while data retrieval. For any developers its important to learn how to handle data inconsistencies. The front end developers lack familiarity with business operation which is why they ignore the ease of operation and go for intricate methods.

2. Lack of planning and peroration

A newly graduated developer might perform database operations at the application layer instead of the database layer. This will put the processing on the application and not server. Further, this would also put the database at risk of data integrity issue and receive bad data.

3. Distinction with server-side scripting

The newbie web developers often fail to differentiate between server-side scripting and browser-side javascript code. For instance, they expect the javascript to interact directly with the functions in the server script automatically(without Ajax).

4. Thinking as per customers point of view

New developers need to think as per customers point of view and users point of view, along with the coding part. Developers must think they are developing a production ready code that needs to be used by several types of customers, specifically the non-techie end users. It should be user-friendly. For instance auto tabbing is a cool feature. It must satisfy all the customers needs.

5. Explaining Coding standards

It’s crucial for fresh developers to understand that delivering functionality is the highest priority and following the coding standards comes next. However, they often misinterpret it assuming that coding standards are unimportant.

In most cases, the new developers write perfect code for their first pass. Due to this the results in the project fall behind schedule or just meet the deliverabilities. During the development, there are changes in design and requirements. Now loosing time early in the project reduces the time for unplanned efforts required later. It loses the confidence of the business managers when things are disturbed.

6. Coding for ease of Maintenance

Maintenance is one of the foremost customer needs. It should be maintainable and satisfy all customer need. This is the part where most companies invest a lot and at the time of initial development, new developers forget that their code need to ease the maintenance.

7. Neglecting document designing

Most developers neglect the need for documented design before coding. This mistake has been repeated over the years, especially due to time constraints. Some of them don’t even document their after work.  Given that there are tools that can document the code when its written the developers seldom care write it as long as it conforms the standards. Typically, it is considered as an extra burden with no apparent benefits.

8. Using Global variables

Freshers are in the habit of using global variables everywhere. They need to realize that these should be avoided, as they hog memory like anything.

9. Understanding of the deployment or hardware

Not frequent, but there are instances where the new developers start working without any understanding of the deployment or hardware. Essentially the software should be designed according to the hardware in which it will run.

10. Hurrying through projects

In a bid to compete with other developers, freshers often rush through projects.  Typically, newbies try to use shortcuts and cramp together source codes from various places. This might lead to inconsistencies in naming conventions and anomalies in coding style. Instead of taking time to learn how certain code/functions/procedures work they get carried off. This sometimes necessitates re-working on the same project. Instead of researching on coding to adopt the best practices they go commit to overcoding.

Discussion
December 24, 2009: 10:02 pm

Great post!

I have summed up some common database design mistakes..

programminglanguagefaqs.blogspot.com/2009/12/development-mistakes-for-databases-part.html

Hope freshers will read it prior to any design!

December 21, 2009: 11:00 am

#11 Not testing their code.

This could surely be a part of rushing or failing to plan but the gap in developers who practice testing and those that don’t is huge when we look at hiring.

YOUR VIEW POINT
NAME : (REQUIRED)
MAIL : (REQUIRED)
will not be displayed
WEBSITE : (OPTIONAL)
YOUR
COMMENT :