 |
C++Talk.NET C++ language newsgroups
|
| View previous topic :: View next topic |
| Author |
Message |
apngss@yahoo.com Guest
|
Posted: Thu Oct 20, 2005 7:13 am Post subject: most software jobs are software maintenance rather than new |
|
|
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!!
|
|
| Back to top |
|
 |
John Harrison Guest
|
Posted: Thu Oct 20, 2005 7:35 am Post subject: Re: most software jobs are software maintenance rather than |
|
|
[email]apngss (AT) yahoo (DOT) com[/email] wrote:
| Quote: | 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!!
|
No its normal, at least in my experience. New development is much more
interesting of course, but you likely to need a little more experience
before you get given jobs like that.
Not relevant to you (I'm sure) but I heard a funny phrase recently, a
newbie programmer was given a couple of Java classes to develop from
scratch. After a while he delivered these new classes and promptly got
taken off the project because his code had 'logic issues', he's bug
fixing now.
john
|
|
| Back to top |
|
 |
Andrew Thompson Guest
|
Posted: Thu Oct 20, 2005 7:48 am Post subject: Re: most software jobs are software maintenance rather than |
|
|
[email]apngss (AT) yahoo (DOT) com[/email] wrote:
| Quote: | Is that normal in my case? Or I am just unlucky...
|
To have work? No.
Perhaps you are undeserving, ungrateful and extremely
self-centered*, but unlucky? No.
* To think your problem is so important that it justifies
cross-posting to such a wide range of groups.
Now GET BACK TO WORK.
|
|
| Back to top |
|
 |
Mark McIntyre Guest
|
Posted: Thu Oct 20, 2005 9:57 am Post subject: Re: most software jobs are software maintenance rather than |
|
|
On 20 Oct 2005 00:13:48 -0700, in comp.lang.c , [email]apngss (AT) yahoo (DOT) com[/email]
wrote:
| Quote: | 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).
|
Theres a large body of existing code out there. Ergo there must be
lots of jobs maintaining it. Its impossible, given the length of time
that computing has been around, for new work to be larger than old
work.
| Quote: | This is my first job as a
Java programmer, but I really don't see I do much Java development,
|
You're the new boy. Its commonplace for newbies to spend a lot of time
fixing bugs, it lets them cut their teeth, explore their abilities and
so forth.
--
Mark McIntyre
CLC FAQ <http://www.eskimo.com/~scs/C-faq/top.html>
CLC readme: <http://www.ungerhu.com/jxh/clc.welcome.txt>
http://www.newsfeeds.com The #1 Newsgroup Service in the World! 120,000+ Newsgroups
----= East and West-Coast Server Farms - Total Privacy via Encryption =----
|
|
| Back to top |
|
 |
Ross Bamford Guest
|
Posted: Thu Oct 20, 2005 12:27 pm Post subject: Re: most software jobs are software maintenance rather than |
|
|
On Thu, 20 Oct 2005 08:13:48 +0100, <apngss (AT) yahoo (DOT) com> wrote:
| Quote: | 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!!
|
It's normal. It's something of a privilege to work on a new project, and
especially when you're new you'll tend to get stuck on the fixing jobs,
simply because there are usually more fixes to be done.
--
Ross Bamford - [email]rosco (AT) roscopeco (DOT) remove.co.uk[/email]
|
|
| Back to top |
|
 |
xpyttl Guest
|
Posted: Thu Oct 20, 2005 12:31 pm Post subject: Re: most software jobs are software maintenance rather than |
|
|
There probably is a lot more maintenance going on than new construction.
But I would hope that most shops would expect new programmers to do a fair
bit of maintenance before they do new development. Its pretty easy to
design cool new stuff without any consideration for what it costs to own
that code. If you spend some time getting beat up by other people's
mistakes, you are less likely to make those mistakes on your own.
...
<apngss (AT) yahoo (DOT) com> wrote
| Quote: | 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!!
|
|
|
| Back to top |
|
 |
Phlip Guest
|
Posted: Thu Oct 20, 2005 1:39 pm Post subject: Re: most software jobs are software maintenance rather than |
|
|
apngss wrote:
| Quote: | 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...
|
Ideally, all software projects should deploy to real users as soon as
possible. Then all further development is "maintenance", because you must
preserve existing (good) features while adding better ones. That depends on
clean code.
In your case, you are probably unlucky. Much software was written in a big
rush, under the belief that the software can't deploy until it has enough
features that customers will buy it and then use it through long maintenance
cycles. So the code has lots of bugs and a poor design.
The next AntiPattern in our industry: Managers then put the new guys into
maintenance, because it's slow burn. The hot-shots who wrote the bugs and
the poor design get rewarded with new and more lucrative projects.
Install JUnit, and start these policy:
- capture bugs with tests. Write new test cases
to capture every bug before killing it
- as you learn about the code, refactor - just a
little - to clean it up
That effort allows the code to get better over time. When you fix a bug, do
not throw away the knowledge that is fresh in your head write now. Invest
that knowledge back into the code by improving its test resistance.
--
Phlip
http://www.greencheese.org/ZeekLand <-- NOT a blog!!!
|
|
| Back to top |
|
 |
Walter Roberson Guest
|
Posted: Thu Oct 20, 2005 2:06 pm Post subject: Re: most software jobs are software maintenance rather than |
|
|
In article <1129792428.032878.177440 (AT) g47g2000cwa (DOT) googlegroups.com>,
<apngss (AT) yahoo (DOT) com> wrote:
| Quote: | 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).
|
As others have noted, it is quite common to put new people onto
maintenance.
One of the posters suggested that this was training so that people
would learn the value of writing good maintainable code. Posters
might also have suggested [but haven't yet in my timeframe] that it
was an opportunity to give the new programmer a good understanding of
the project as a whole.
These two factors certainly apply, but there is another factor which
is often more important: maintenance is given to the new programmer
because in most power relationships, you give the unwanted tasks to
those who don't have the power to effectively refuse them.
In -every- programming environment i have worked in, the young
new programmers have chomped at the bit, eager to *write programs*,
and frustrated when they aren't given a program to write within a matter
of days. I have often seen new programmers upset that they aren't
creating new programs yet; often they would at least -say- that they
were thinking seriously of quiting because "this isn't what I
hired on for!" And most of them held that resentment of doing
maintenance (or even real formalized design specs), and pushed their
managers to rush into -new- -code-. Quite a few of them thereafter
refused to do maintenance as soon as they had accumulated enough
internal political capital to make it stick.
I've heard much the same thing from other people I know who are
in the software industry: most programmers really dislike code
maintenance -- even if it is their own code that is being maintained!
Most do not even like to do feature or design changes to their
existing code, not unless the change is clearly to add something "new".
Even to get someone to rewrite their code to make it faster
can be hard to convince them to do, unless you can make the situation
into a challenge to make their code run as quickly as possible...
a situation which often results in unmaintainable code that would
probably run slower on the next compiler over.
New programmers get stuck with maintenance because the more
senior people don't like to do maintenance. I've heard intermediate
people seriously tell their manager they would quit if they
were not given a "real" programming project.
The flip side of this is that it turns out that relatively few people
are actually -good- at maintenance. To be able to take existing code
(often poorly documented) and not only figure out what it -does- do,
but to figure out what it was -meant- to do, and to do massive
revisions to get clean code that does what it -should- do -- this is a
skill that I have rarely encountered. For a disorganized program of any
real size, it requires someone who is patient and an excellent mental
modeller, able to simultaneously hold in mind -many- program aspects
and relate them all to each other, seeing the overview of what is
logically consistant and yet able to pinpoint the minute details of
what does not fit. My experience suggests that the portion of
such people is less than 1 in 100 programmers; I'm not even confident
that as many as 3 in 1000 are good at this kind of work.
--
"No one has the right to destroy another person's belief by
demanding empirical evidence." -- Ann Landers
|
|
| Back to top |
|
 |
Roedy Green Guest
|
Posted: Thu Oct 20, 2005 2:25 pm Post subject: Re: most software jobs are software maintenance rather than |
|
|
On Thu, 20 Oct 2005 14:06:52 +0000 (UTC), [email]roberson (AT) ibd (DOT) nrc-cnrc.gc.ca[/email]
(Walter Roberson) wrote or quoted :
| Quote: | 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.
--
Canadian Mind Products, Roedy Green.
http://mindprod.com Again taking new Java programming contracts.
|
|
| Back to top |
|
 |
BigBrian Guest
|
Posted: Thu Oct 20, 2005 2:54 pm Post subject: Re: most software jobs are software maintenance rather than |
|
|
[email]apngss (AT) yahoo (DOT) com[/email] wrote:
| Quote: | 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.
|
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.
| Quote: | Is that normal in my case?
|
Yes, it's normal. And this is not a bad thing. If you're never in
maintainence mode, this probably means that your product has been
replaced with another vendors product and now you're scrambling to
start up another project.
It seems that the trend for software projects is for them to get larger
and larger. As this trend continues, more and more people will be
doing maintance, and those who do it well will be rewarded and valued.
| Quote: | Or I am just unlucky...
|
No, you apparently have a job, and have admitted that you don't know
Java all that well. Sounds like you're very lucky!! ( I know expert
programmers who are looking for work. )
|
|
| Back to top |
|
 |
Andrew Thompson Guest
|
Posted: Thu Oct 20, 2005 3:00 pm Post subject: Re: most software jobs are software maintenance rather than |
|
|
Roedy Green wrote:
| Quote: | 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'
|
|
| Back to top |
|
 |
Greg Comeau Guest
|
Posted: Thu Oct 20, 2005 3:09 pm Post subject: Re: most software jobs are software maintenance rather than |
|
|
In article <f1afl19o3doibjk3fkuljj0v064bjss0mi (AT) 4ax (DOT) com>,
Roedy Green <my_email_is_posted_on_my_website (AT) munged (DOT) invalid> wrote:
| Quote: | On Thu, 20 Oct 2005 14:06:52 +0000 (UTC), [email]roberson (AT) ibd (DOT) nrc-cnrc.gc.ca[/email]
(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?
|
|
| Back to top |
|
 |
Greg Comeau Guest
|
Posted: Thu Oct 20, 2005 3:11 pm Post subject: Re: most software jobs are software maintenance rather than |
|
|
In article <1129820062.597739.133920 (AT) z14g2000cwz (DOT) googlegroups.com>,
BigBrian <work (AT) brianmielke (DOT) com> wrote:
| Quote: | 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?
|
|
| Back to top |
|
 |
bugbear Guest
|
Posted: Thu Oct 20, 2005 3:17 pm Post subject: Re: most software jobs are software maintenance rather than |
|
|
[email]apngss (AT) yahoo (DOT) com[/email] wrote:
| Quote: | 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
|
|
| Back to top |
|
 |
Robert C. Martin Guest
|
Posted: Thu Oct 20, 2005 5:25 pm Post subject: Re: most software jobs are software maintenance rather than |
|
|
On Thu, 20 Oct 2005 07:35:12 GMT, John Harrison
<john_andronicus (AT) hotmail (DOT) com> wrote:
| Quote: | apngss (AT) yahoo (DOT) com 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: [email]unclebob (AT) objectmentor (DOT) com[/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
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|