New job and I want to change the world...

V

VisionSet

Having been on this group quite a bit over the last 5+ years and almost
finishing my second degree, with some Java certs too...
I have now managed the career change and secured my first IT position.
Problem is it is not in Java, and the language is some pretty ropey inhouse
derivative of FoxPro.
Naturally the company would be much improved by ditching this and shifting
to Java :)
The majority of the programmers code in this inhouse language and don't have
much expertise in proprietory languages, since they are all junior roles and
I guess it is most peoples 1st programming job. There is another department
that code all the utilities we use, mainly in Delphi.
The business produces interactive voice recording applications (like phone
banking etc) But for a very specialised market.
Personally I think the whole business domain should be modeled in UML
starting now, I think there can only be benefits in doing this. This can be
a precursor to going down the Java road or whatever. Naturally OO is the
way to go :)

Now I want to get more out of this job, so I would like to be involved in
this process. I'm very junior but the company seems to have the right
attitude in this regard. How should I go about getting this process
started?

Obviously I know the specifics, but general pointers would be appreciated.
 
S

Scott Ellsworth

VisionSet said:
Having been on this group quite a bit over the last 5+ years and almost
finishing my second degree, with some Java certs too...
I have now managed the career change and secured my first IT position.
Congrats.

Problem is it is not in Java, and the language is some pretty ropey inhouse
derivative of FoxPro.

Welcome to the world of legacy software.
Naturally the company would be much improved by ditching this and shifting
to Java :)

Are you sure? Sure, this might be keen for you, as you know the
language, but it might not be keen for the other folks there.

To really answer this, start hunting up stakeholders. Accept that some
will have a vested interest in how things currently are, and others will
want change, but not change towards the things you want.

Build appropriate consensus, and then start pushing for movement. Do
not try to get everyone in the world involved; try to get enough people
to accomplish a specific named task. Further, remember that you will
need someone with experience at that specific company to achieve a
useful change. If everyone involved is a new hire, the change is a
nonstarter.
The majority of the programmers code in this inhouse language and don't have
much expertise in proprietory languages, since they are all junior roles and
I guess it is most peoples 1st programming job. There is another department
that code all the utilities we use, mainly in Delphi.

Try to figure out why that other department uses Delphi. There are
several possible reasons, and some would give you some allies, while
others enemies.
The business produces interactive voice recording applications (like phone
banking etc) But for a very specialised market.
Cool.

Personally I think the whole business domain should be modeled in UML
starting now, I think there can only be benefits in doing this. This can be
a precursor to going down the Java road or whatever. Naturally OO is the
way to go :)

Hold on, cowboy. Before trying to model the whole domain, why not try a
small project to prove the value of what you are claiming.

Moving from their current system to UML may not produce useful results,
and may instead result in a lot of pretty documentation, and not one
line of useful code. OO is not always the way to go, unless you have
enough people with experience in object modelling.

On the other hand, if there are enough people who are interested in UML,
then that might be a change worth making. They might find it more
expressive and efficient.

The only way to tell for sure would be to talk to the other department,
and to people in your own to see whether this has already been tried.
If it has, why did it fail? If not, is there someone who dislikes UML?
Then, try to find people who think this is a good use of time, a good
change for the company. Figure out what they do in common, and remember
that if it is not what you get paid to do, you are not going to end up
covered in glory by doing it.

For my own part, I tend not to use UML; it really does not do much for
me. Others I work with find it useful. Fair enough - we find a way to
get along and get the projects done. On a project done by a UML fan, I
write diagrams with everyone else, and argue using GOF patterns.
Projects run by an Agile fan have us making story cards. In all of
these cases, we are trying to find ways to manage complexity, and that
is the real goal.
Now I want to get more out of this job, so I would like to be involved in
this process. I'm very junior but the company seems to have the right
attitude in this regard. How should I go about getting this process
started?

Again, find the stakeholders for the current system and for the proposed
change, and see if there is a place for a test project. Something where
the stakeholders for change will not face much resistance, and where you
can start small and learn how your proposed changes will interact with
the company as a whole.

On a larger scale, what is your priority? Moving to Java, moving to
UML, moving to a more OO language?

Know that, and you are far more likely to argue convincingly.
Obviously I know the specifics, but general pointers would be appreciated.

Good luck,

Scott
 
T

Thomas Gagne

VisionSet said:
Having been on this group quite a bit over the last 5+ years and almost
finishing my second degree, with some Java certs too...

Sounds like extended Java vocational training
I have now managed the career change and secured my first IT position.
Problem is it is not in Java, and the language is some pretty ropey inhouse
derivative of FoxPro.
Naturally the company would be much improved by ditching this and shifting
to Java :)

Wow, that vocational training is paying off already!
The majority of the programmers code in this inhouse language and don't have
much expertise in proprietory languages, since they are all junior roles and
I guess it is most peoples 1st programming job.

You're in good company. It's everyone else's first job too!

There is another department
that code all the utilities we use, mainly in Delphi.
The business produces interactive voice recording applications (like phone
banking etc) But for a very specialised market.
Personally I think the whole business domain should be modeled in UML
starting now, I think there can only be benefits in doing this. This can be
a precursor to going down the Java road or whatever. Naturally OO is the
way to go :)

OO may be the way to go, but I thought you said you wanted to use Java?
Now I want to get more out of this job, so I would like to be involved in
this process. I'm very junior but the company seems to have the right
attitude in this regard. How should I go about getting this process
started?

Prove yourself competent using the FoxPro derivatave, and a superb
consumer of the Delphi utilities. You need to build up good will with
your coworkers and managers before discussing something radical. Else
you just sound like any other college graduate who thinks they have all
the answers.
 
P

Patricia Shanahan

VisionSet said:
Having been on this group quite a bit over the last 5+
years and almost finishing my second degree, with some
Java certs too... I have now managed the career change
and secured my first IT position. Problem is it is not in
Java, and the language is some pretty ropey inhouse
derivative of FoxPro. Naturally the company would be much
improved by ditching this and shifting to Java :)

Before you can decide that, don't you need to become expert
in the FoxPro dialect? It may have advantages for your
employer's applications that you don't yet know.

Learning a language so different from Java should be viewed
as an opportunity. Each language stretches the brain in
different directions, and adds its own ways of thinking
about programming. Learning it may also help you avoid the
"one true language" trap, where a programmer becomes so
attached to one programming language that they are incapable
of learning or working comfortably in anything else.

To be a valid player in your employer's programming language
selection decisions you need to grasp, and be able to
explain, the advantages and disadvantages of several
languages in the employer's context.
Personally I think the whole business domain should be
modeled in UML starting now, I think there can only be
benefits in doing this.

As soon as someone lists a piece of work and says "there can
only be benefits" I get worried.

Doing anything has costs, such as the opportunity cost of
people who understand the business domain writing UML rather
than getting on with whatever they would normally do. You
need to explain why you think the benefit exceeds the cost,
not just try to define the cost out of existence.
Now I want to get more out of this job, so I would like
to be involved in this process. I'm very junior but the
company seems to have the right attitude in this regard.
How should I go about getting this process started?

Once you are competent in their language and the
applications you should analyze the advantages and
disadvantages of switching to some other language, not
necessarily Java.

Try to think as much as possible to dollars - managers care
about them.

What are the risks and costs of not converting? What does it
cost to get a programmer trained in their FoxPro dialect?
How does that compare to the cost of hiring a programmer who
already knows the proposed language? Is there evidence of
productivity or similar problems due to the choice of
language? How maintainable is the existing code? Does fixing
bugs tend to introduce new bugs? Is it hard to find the
places to change for new features? Is there risk of lack of
language support (tools, compilers etc.) in the future?

You can stop here if there is no significant cost or risk to
staying in the same language. If it ain't broke don't
propose fixing it.

What are the risks and costs of the conversion? How would
the transition be managed? Is there risk of harming
customers, either by reduced service during the transition
or by loss of features or performance afterwards? How long
should the old code be maintained? What are the performance
requirements, and how will you determine whether the
proposed language can meet them? What is your estimate of
the recoding cost? The cost of retraining any programmers
who don't know the proposed language? Of replacing any
programmers who are too wedded to the previous language to
learn the proposed language?

These are just some examples, you should think through your
own list of questions your managers should be worried about.
Of course, you don't need all the details before discussing
it with managers, but you should have the broad brush
picture of the major costs and benefits.

A small trial project may resolve some of the trade-offs.
 
H

Hal Rosser

1. Learn the 'office politics' and the pecking order in the office before
you start changing anything.
2. Make your boss look good as often as possible. If he gets promoted, he
knows who helped him get there.
3. Show the boss how you improve the system, so he knows what you're doing.
4. Do not try to take credit for someone else's work. - Help them get
recognition.
--- then everyone else will help you succeed.
 
T

topmind

I used to do a lot of FoxPro. You may find Clipper, an XBase dialect
from the same root as Fox, of interest because Clipper has had OOP
features since the late 80's. In fact, the newer FoxPro does also.
(There are a couple of Clipper clones now also.)

However, I think OO and Java are mostly hype. I see no objective
benefits in OO for biz apps and the books mislead you about what code
is most likely to change in the future.

But here is some candid advice: if you don't like the language and
tools, then find another job. Unless you can produce slam-dunk coded
evidence relevant to the type of business it is, likely any preaching
about OO and Java will just start trouble.

-T-
oop.ismad.com
 
I

iamfractal

VisionSet said:
Having been on this group quite a bit over the last 5+ years and almost
finishing my second degree, with some Java certs too...
I have now managed the career change and secured my first IT position.
SnippitySnip


Now I want to get more out of this job, so I would like to be involved in
this process. I'm very junior but the company seems to have the right
attitude in this regard. How should I go about getting this process
started?

Obviously I know the specifics, but general pointers would be appreciated.

Congrats, VisionSet!

Now that you're in the door, you've to practice a little, shall we
say, "Social OO:" you've to separate and encapsulate management from
technical concerns, and you must derive specific solutions for both
spheres.

Always remember the First Rule Of Persuasion: to get anyone to do
anything you want, you must first show them how it will help them.
They don't care about you, or OO, or product excellence, or any other
crap; they care about themselves.

The Management Corollary to the First Rule Of Persuasion: if you want
a manager to do anything for you, you must first show him how it will
advance his career. If possible, show him how it's the *only* way to
advance his career. If further possible, show him how, if he doesn't
do it, not only will his career stagnate, but his peer manager (and
there always is one) will advance instead.

The Technical Corollary to the First Rule Of Persuasion: if you want a
techie to do something for you, you must first show him how it will
help get him a bigger bonus or reduce his workload/overtime. If
possible, both. (If you can throw in beer and members of the opposite
sex, then you should consider management yourself.)

..ed

www.EdmundKirwan.com - Home of The Fractal Class Composition.
 
L

Lee Fesperman

topmind said:
I used to do a lot of FoxPro. You may find Clipper, an XBase dialect
from the same root as Fox, of interest because Clipper has had OOP
features since the late 80's. In fact, the newer FoxPro does also.
(There are a couple of Clipper clones now also.)

However, I think OO and Java are mostly hype. I see no objective
benefits in OO for biz apps and the books mislead you about what code
is most likely to change in the future.

But here is some candid advice: if you don't like the language and
tools, then find another job. Unless you can produce slam-dunk coded
evidence relevant to the type of business it is, likely any preaching
about OO and Java will just start trouble.

As usual, topmind, you're over the top about OO ;^) But no matter, that is a topic for
another day. I wouldn't advise just giving up. I agree with other posters that you
should begin to learn and immerse yourself in the existing culture (you just might
learn something useful, maybe about yourself). However, do do a little cautious pushing;
just be prepared to lose ... and don't brood about it or seek revenge if you do lose!
 
H

H. S. Lahman

Responding to VisionSet...

At the risk of sounding heretical...
Having been on this group quite a bit over the last 5+ years and almost
finishing my second degree, with some Java certs too...
I have now managed the career change and secured my first IT position.
Problem is it is not in Java, and the language is some pretty ropey inhouse
derivative of FoxPro.
Naturally the company would be much improved by ditching this and shifting
to Java :)

Why? If all they are supporting are ad hoc queries for USER/CRUD
processing, then the sort of RAD environment they already have may be
fine....
The majority of the programmers code in this inhouse language and don't have
much expertise in proprietory languages, since they are all junior roles and
I guess it is most peoples 1st programming job. There is another department
that code all the utilities we use, mainly in Delphi.
The business produces interactive voice recording applications (like phone
banking etc) But for a very specialised market.

So far this sounds like the ER in USER; the UI is just based on voice
rather than a browser or GUI.
Personally I think the whole business domain should be modeled in UML
starting now, I think there can only be benefits in doing this. This can be
a precursor to going down the Java road or whatever. Naturally OO is the
way to go :)

Now I want to get more out of this job, so I would like to be involved in
this process. I'm very junior but the company seems to have the right
attitude in this regard. How should I go about getting this process
started?

As Shanahan suggested, the first thing to do is make sure you thoroughly
understand what the weaknesses of the present environment are (if any)
and how OO would address them.


*************
There is nothing wrong with me that could
not be cured by a capful of Drano.

H. S. Lahman
(e-mail address removed)
Pathfinder Solutions -- Put MDA to Work
http://www.pathfindermda.com
blog: http://pathfinderpeople.blogs.com/hslahman
(888)OOA-PATH
 
D

Doc O'Leary

VisionSet said:
Personally I think the whole business domain should be modeled in UML
starting now, I think there can only be benefits in doing this. This can be
a precursor to going down the Java road or whatever.

You're exactly the kind of person who we need less of in technology.
You know just a couple things, likely taught by someone who only knows
those same things, and yet think you've got all the answers. You are
the epitome of the hammer seeing nails everywhere. Quit your day job.
 
P

Patricia Shanahan

Doc said:
You're exactly the kind of person who we need less of in
technology. You know just a couple things, likely taught
by someone who only knows those same things, and yet
think you've got all the answers. You are the epitome of
the hammer seeing nails everywhere. Quit your day job.

This seems to me to be much too harsh. VisionSet seems to be
on his first IT job. I've met a lot of enthusiastic new
programmers who had exactly that sort of tunnel vision when
they started, but developed broader vision with experience
and exposure to more ways of thinking.

If VisionSet sticks at his day job he is going to be using a
proprietary screw driver. That will teach him much more
about the existence of alternatives to hammering than
quitting would.

Patricia
 
V

VisionSet

As soon as someone lists a piece of work and says "there can
only be benefits" I get worried.

True, very glib of me.
What are the risks and costs of not converting?

Slow time to production which is the most important factor for our clients.
Eventually this will mean we are no longer market leaders.
What does it cost to get a programmer trained in their FoxPro dialect?

Admittedly, it is an easy language and currently they do 3 weeks intensive
training
How does that compare to the cost of hiring a programmer who
already knows the proposed language?

Admittedly, Java people for instance don't come cheap, and we are paid
peanuts
Is there evidence of productivity or similar problems due to the
choice of language?

Yes, it is a mess, bad standard modules, with global variable scope that
pervades everything.
How maintainable is the existing code?

Not very, goto and label hell at least you can write Java to be more or less
bullet proof to the client programmer.
Does fixing bugs tend to introduce new bugs?

Yes due to the reasons outlined elsewhere.
Is it hard to find the places to change for new features?

Call structures are simple, so no it isn't too bad, but that aside the
language and the total lack of encapsulation does not help
Is there risk of lack of language support (tools, compilers etc.) in the future?

All in house currently with DBF persistence - moving to Oracle.
Language is all in house, utilities are all in house.
What are the risks and costs of the conversion? How would
the transition be managed? Is there risk of harming
customers, either by reduced service during the transition
or by loss of features or performance afterwards? How long
should the old code be maintained? What are the performance
requirements, and how will you determine whether the
proposed language can meet them? What is your estimate of
the recoding cost? The cost of retraining any programmers
who don't know the proposed language? Of replacing any
programmers who are too wedded to the previous language to
learn the proposed language?

We produce about 200 applications a year, and each one has a short life of a
few years. So no recoding. An ideal situation for change.

No I don't have many answers, but all these posts have given me a wider
appreciation that was my goal, thanks all.
 
V

VisionSet

VisionSet said:
Having been on this group quite a bit over the last 5+ years

oh, I meant the Java group.

All,

Thankyou very much for the replies. As usual they are full of useful
pointers.
I make no appologies for the original post, I realise it was contentious and
displayed ignorance, but then I don't have the experience for it to be
otherwise. It was intentionally so, anyhow - I know how to get the best out
of usenet. I just don't know how to get the best out of my new job. The
biggest challenge I now face is to get one which sees a benefit in my java
knowledge.

I am taking everything on board and of course I must learn the existing
system, and become expert in it. However as many of the existing
programmers readily admit, it is the newcomers that are most open to the
possibilities and recognise the daft processes more easily. Whilst I am
learning (and honestly not being blinkered by Java), I am always thinking in
terms of how it could be improved, and I do mean improved, not just ported.
On a purely selfish/personal level, of course, a move to java will benefit
me from the CV (resume) perspective.
 
D

Doc O'Leary

Patricia Shanahan said:
This seems to me to be much too harsh. VisionSet seems to be
on his first IT job. I've met a lot of enthusiastic new
programmers who had exactly that sort of tunnel vision when
they started, but developed broader vision with experience
and exposure to more ways of thinking.

But his stated desire is not to broaden his horizons. He's approaching
the situation as if he has more to teach than he has to learn. That
calls for a big attitude adjustment. So, really, I don't think I'm
being harsh enough.
 
V

VisionSet

Doc O'Leary said:
But his stated desire is not to broaden his horizons. He's approaching
the situation as if he has more to teach than he has to learn. That
calls for a big attitude adjustment. So, really, I don't think I'm
being harsh enough.

What is unsaid is as important as what is said, you can never judge
character on this medium. People bias what they write to elicit the best
response to meet there ends.
Of course I want to broaden my horizons but you can't really give me useful
input on that, I can only learn what I can while I'm there. What I wanted
to know was material to arm myself as best possible to improve my future
employability. Obviously learning all I can will help that, but I'm pretty
sure that whacking 'Helped model changes in OO...' would go down a treat
with a future employer in the direction I want to go. Whilst they will be
less enamoured with extensive experience of FoxPro!
 
P

Patricia Shanahan

VisionSet said:
message




What is unsaid is as important as what is said, you can
never judge character on this medium. People bias what
they write to elicit the best response to meet there
ends. Of course I want to broaden my horizons but you
can't really give me useful input on that, I can only
learn what I can while I'm there. What I wanted to know
was material to arm myself as best possible to improve my
future employability. Obviously learning all I can will
help that, but I'm pretty sure that whacking 'Helped
model changes in OO...' would go down a treat with a
future employer in the direction I want to go. Whilst
they will be less enamoured with extensive experience of
FoxPro!

-- Mike W

Now you are getting scary. It sounds as though you might try
to push a change on your employer, regardless of whether it
is in the employer's best interests, for the sake of resume
padding. I hope that isn't what you meant.

Patricia
 
S

steve

Having been on this group quite a bit over the last 5+ years and almost
finishing my second degree, with some Java certs too...
I have now managed the career change and secured my first IT position.
Problem is it is not in Java, and the language is some pretty ropey inhouse
derivative of FoxPro.
Naturally the company would be much improved by ditching this and shifting
to Java :)
The majority of the programmers code in this inhouse language and don't have
much expertise in proprietory languages, since they are all junior roles and
I guess it is most peoples 1st programming job. There is another department
that code all the utilities we use, mainly in Delphi.
The business produces interactive voice recording applications (like phone
banking etc) But for a very specialised market.
Personally I think the whole business domain should be modeled in UML
starting now, I think there can only be benefits in doing this. This can be
a precursor to going down the Java road or whatever. Naturally OO is the
way to go :)

Now I want to get more out of this job, so I would like to be involved in
this process. I'm very junior but the company seems to have the right
attitude in this regard. How should I go about getting this process
started?

Obviously I know the specifics, but general pointers would be appreciated.

watch out on the fox, 4 main areas you will have problems with , over java.

1. report gen
2. screen gen.
3. non-standard second source plugins.
4. database locale

basic background routines are easy to transfer over, as is , and java is
better for this.

Remember foxpro is a partial DATABASE language for manipulating databases (
remote or local)

Java is not.

steve
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,534
Members
45,007
Latest member
obedient dusk

Latest Threads

Top