Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C++ > most software jobs are software maintenance rather than new development?

Reply
Thread Tools

most software jobs are software maintenance rather than new development?

 
 
Andrew Thompson
Guest
Posts: n/a
 
      10-20-2005
Roedy Green wrote:

> Chairman Mao used to insist bureaucrats spent a few weeks each year
> out on the farms.


I guess that was after the incident where Mao had the
bureaucrats direct (force) the rice farmers to plant
the rice seedlings so close together that they all
suphocated, resulting in widespread famine?

Maybe Mao should have been the one put out to pasture,
...errr, 'sent to the farm'.

"Ooh, Mao, M'Mao, Mao"
Russel Morris - 'The Real Thing'
 
Reply With Quote
 
 
 
 
Greg Comeau
Guest
Posts: n/a
 
      10-20-2005
In article <>,
Roedy Green < > wrote:
>On Thu, 20 Oct 2005 14:06:52 +0000 (UTC),
>(Walter Roberson) wrote or quoted :
>>The flip side of this is that it turns out that relatively few people
>>are actually -good- at maintenance.

>
>Chairman Mao used to insist bureaucrats spent a few weeks each year
>out on the farms. If he were in charge of the world's programming I
>think he would do two things:
>
>1. make all programmers spend a few weeks a year maintaining code so
>they would learn what you need to do to write maintainable code and
>what makes code unmaintainable. See
>http://mindprod.com/jgloss/unmain.html
>
>2. make all system programmers and language designers also spend a few
>months a year doing applications coding so they would stop designing
>to make their jobs easier and consider the application coder too.


When I was a manager years ago, I used to take Friday's off.
That meant, in addition to meetings, design etc through the week,
actually sitting with the programmers and doing the work with them.
That meant I was approachable, not above them, and actually provided
a mechanisn to ricochet stuff back and forth, learn some of the
nitty gritties to make decision from, toss it back, etc.
I always felt it made us all more efficient, in sync, etc.
This also got newbies on board properly.
--
Greg Comeau / Celebrating 20 years of Comeauity!
Comeau C/C++ ONLINE ==> http://www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
 
Reply With Quote
 
 
 
 
Greg Comeau
Guest
Posts: n/a
 
      10-20-2005
In article < .com>,
BigBrian <> wrote:
>I would be willing to bet that if you don't understand Java that well,
>then you aren't doing the work as well as you think you are. You
>should look at this an opportunity to learn every feature of the
>language and use this knowledge to correct the bugs and/or bad design
>decisions that may be the real cause of the bug. Doing this will gain
>you alot of respect within your group. Maintance is a very important
>part of the software life cycle.


Amen.
--
Greg Comeau / Celebrating 20 years of Comeauity!
Comeau C/C++ ONLINE ==> http://www.comeaucomputing.com/tryitout
World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90.
Comeau C/C++ with Dinkumware's Libraries... Have you tried it?
 
Reply With Quote
 
bugbear
Guest
Posts: n/a
 
      10-20-2005
wrote:
> This topic should apply to software jobs regardless of the programming
> languages.
>
> I want to know if most of the software jobs in the market are software
> maintenance (fix bugs, new feature enhancements on existing code)
> rather than new developments (from scratch). This is my first job as a
> Java programmer, but I really don't see I do much Java development, all
> I do is to fix bugs, and add some new features for new builds. Well, of
> course I need to understand the logic of existing code, but my
> standpoint is that even I don't know Java well, I still can do the
> work.


As long as the changes are small, and the original
code nicely modular - yeah, you can do what
I have heard called "peephole development".

Unfortunately, this activity degrades the overall
quality of the code (including modularity) over time.

Eventually, more significant refactoring is required,
which may require more skill/insight/experience.

BugBear
 
Reply With Quote
 
Robert C. Martin
Guest
Posts: n/a
 
      10-20-2005
On Thu, 20 Oct 2005 07:35:12 GMT, John Harrison
<> wrote:

> wrote:
>> This topic should apply to software jobs regardless of the programming
>> languages.
>>
>> I want to know if most of the software jobs in the market are software
>> maintenance (fix bugs, new feature enhancements on existing code)
>> rather than new developments (from scratch). This is my first job as a
>> Java programmer, but I really don't see I do much Java development, all
>> I do is to fix bugs, and add some new features for new builds. Well, of
>> course I need to understand the logic of existing code, but my
>> standpoint is that even I don't know Java well, I still can do the
>> work.
>>
>> Is that normal in my case? Or I am just unlucky...
>>
>> Please advise. thanks!!


From my point of view there is no difference between maintenance and
new development except, perhaps, for level of intensity. As soon as
the first line of code is written on a project, the project is in
maintenance; or so it seems to me.

The older a system gets, the more skill is required to maintain it.
Thus, it makes little sense to me to put new people into a maintenance
role unless they are being mentored by very experienced people.


-----
Robert C. Martin (Uncle Bob) | email:
Object Mentor Inc. | blog: www.butunclebob.com
The Agile Transition Experts | web: www.objectmentor.com
800-338-6716


"The aim of science is not to open the door to infinite wisdom,
but to set a limit to infinite error."
-- Bertolt Brecht, Life of Galileo
 
Reply With Quote
 
Robert C. Martin
Guest
Posts: n/a
 
      10-20-2005
On 20 Oct 2005 11:09:07 -0400, (Greg Comeau) wrote:

>When I was a manager years ago, I used to take Friday's off.
>That meant, in addition to meetings, design etc through the week,
>actually sitting with the programmers and doing the work with them.
>That meant I was approachable, not above them, and actually provided
>a mechanisn to ricochet stuff back and forth, learn some of the
>nitty gritties to make decision from, toss it back, etc.
>I always felt it made us all more efficient, in sync, etc.
>This also got newbies on board properly.


The craft of software development it taught by masters to journeymen
and apprentices. It is not learned in school; and it is difficult to
learn it without a mentor. So, Greg, I applaud the approach you took.
Managers who have risen from the ranks should not leave the old job
behind. They need to mentor and guide the newer people coming behind
them.

One of *my* advisors (Dave Thomas of OTI fame) calls this the practice
of being a "playing coach".



-----
Robert C. Martin (Uncle Bob) | email:
Object Mentor Inc. | blog: www.butunclebob.com
The Agile Transition Experts | web: www.objectmentor.com
800-338-6716


"The aim of science is not to open the door to infinite wisdom,
but to set a limit to infinite error."
-- Bertolt Brecht, Life of Galileo
 
Reply With Quote
 
Mark P
Guest
Posts: n/a
 
      10-20-2005
Greg Comeau wrote:
>
> When I was a manager years ago, I used to take Friday's off.
> That meant, in addition to meetings, design etc through the week,
> actually sitting with the programmers and doing the work with them.


Your idea of taking the day off involves a lot more work than my idea of
the same.
 
Reply With Quote
 
E. Robert Tisdale
Guest
Posts: n/a
 
      10-20-2005
wrote:

> This topic should apply to software jobs
> regardless of the programming languages.
>
> I want to know
> if most of the software jobs in the market are software maintenance
> (fix bugs, new feature enhancements on existing code)
> rather than new developments (from scratch).
> This is my first job as a Java programmer
> but I really don't see I do much Java development,
> all I do is to fix bugs, and add some new features for new builds.
> Well, of course I need to understand the logic of existing code
> but my standpoint is that even [if] I don't know Java well,
> I still can do the work.
>
> Is that normal in my case? Or I am just unlucky...
>
> Please advise.


Most programming jobs are (were or should be)
advertized as "programmer/analyst".
A programmer develops new code.
An analyst tries to understand and maintain existing code.

The reason that you got stuck maintaining old code
is that there is no proper documentation
so you are obliged to read it and "reverse engineer"
the original design from the code itself.
How's it going?

The problem with compelling new programmers
to analyze and maintain old code is that
they inherit bad habits from the original author.
You shouldn't be finding and fixing bugs
if the original code was any good.

If you really want to be a programmer,
ask your supervisors if you can re-write the bad code.
If they won't let you do that, consider moving on.
There are lots of really good jobs for Java programmers.
 
Reply With Quote
 
BigBrian
Guest
Posts: n/a
 
      10-20-2005
> If you really want to be a programmer,
> ask your supervisors if you can re-write the bad code.


Ah, that appears to be the tendency for many novice programmers doing
maintenance. Yes, sometimes code needs to be re-writen, but IMHO,
novice programmers are more likely to suggest it than seasoned experts.

> If they won't let you do that, consider moving on.


IMHO, sometimes managers really do make the right decision. Many times
their decision is based on business information that the programmer
doesn't have or doesn't understand. Moving on for something like this
is childish, IMHO.

 
Reply With Quote
 
.
Guest
Posts: n/a
 
      10-20-2005
On Thu, 20 Oct 2005 wrote:

> This topic should apply to software jobs regardless of the programming
> languages.
>
> I want to know if most of the software jobs in the market are software
> maintenance (fix bugs, new feature enhancements on existing code)
> rather than new developments (from scratch). This is my first job as a
> Java programmer, but I really don't see I do much Java development, all
> I do is to fix bugs, and add some new features for new builds. Well, of
> course I need to understand the logic of existing code, but my
> standpoint is that even I don't know Java well, I still can do the
> work.
>
> Is that normal in my case? Or I am just unlucky...


As people have pointed out, there is more maintenance work out there then
there is new development. I've heard people claim there is 4 times more
people doing maintenance then there is doing new development. I think it
is even higher than that.

Right now I'd say my site has 50 developers and 40 of them are doing
maintenance or enhancement requests.

The thing you have to realize is that putting a new programmer onto new
development is just asking for trouble. As you do your maintenance you
will notice that coding decisions some people have made creates a tonne of
problems for you. The hope is that after having dealt with other people's
code for a while, you will know what not to do when you finally are given
the chance to do new development.

--
Send e-mail to: darrell dot grainger at utoronto dot ca

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
"jobs in finland" "jobs in finland in english" "jobs in finland Muhammad Ijaz Python 0 08-19-2009 01:23 PM
"JOBS IN USA" "USA JOBS" "USA GOVT JOBS" "USAJOBS" "USAJOBS" saima81 Python 0 07-31-2009 08:25 PM
most software jobs are software maintenance rather than new development? apngss@yahoo.com C Programming 131 11-12-2005 07:23 PM
most software jobs are software maintenance rather than new development? apngss@yahoo.com Java 124 11-12-2005 07:23 PM
JOBs............JOBs............JOBs hardikh2000 Python 0 08-16-2005 03:55 AM



Advertisments
 



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57