|
BruceN wrote: Why am I in my van eating noodles?
I think the problem lies less in the crappy legacy project and more in your choice of crappy legacy projects (and particularly your choice of compensation.)
Perhaps you should consider a "commit failure" and roll back a few of your own decisions.
Marc
|
|
|
|
|
BruceN wrote: Why am I in my van eating noodles?
Well you'll have plenty of time eating noodles in your van down by the river when....
...
...
...
... YOU'RE EATING NOODLES IN YOUR VAN DOWN BY THE RIVER :laugh
BTW don't forget that as we speak the deadline is shrinking and the scope is creeping. But it takes rare breeds to deal with Legacy code with grace and patience so whatever they're paying you, friend, you know it's not enough... But you wouldn't be in the biz if you didn't mind getting peed on like a pion even if you are a consultant making 3-4 times what the perm employees make. And sh!t at least you have a van and noodles!
R.I.P. Chris Farley - he was one funny fat f^ck
... having only that moment finished a vigorous game of Wiff-Waff and eaten a tartiflet. - Henry Minute
I'm still looking (eagerly) for wisdom in terms of best practices in OO design; and I doubt I'll ever quit looking. - BillWoodruff
Programming is a race between programmers trying to build bigger and better idiot proof programs, and the universe trying to build bigger and better idiots, so far... the universe is winning. - gavindon
|
|
|
|
|
BruceN wrote: Why am I in my van eating noodles? Hey, I empathize with your situation and the almost certainly high levels of stress involved.
What I seem to be missing is information about whether the exiting code you've inherited isn't working, or is working so poorly that operations are snarled. I assume that's the case, and that is the reason for the "deadline."
If you have the financial resources, and can afford to, it seems to me you are in a position to re-define your working relationship with the company, but, that's easy for me to say. If you confront now, and make demands, they might be met, but, the consequences might be that your employer might feel you'd "held a gun to their heads" when they were vulnerable, and that could lead ... assuming you successfully restore the project to full functioning ... to them wanting to get rid of you asap as soon as they no longer have a critical need for you.
It's a tricky situation with some double-bind aspects to it, and I wish you good luck. At the risk of sounding like I'm giving you advice, I'd like to suggest that now is the time for you to use all of the techniques you know for reducing your own stress level, and maintaining health, in body and mind so you can keep the "big picture" in focus.
yours, Bill
«I want to stay as close to the edge as I can without going over. Out on the edge you see all kinds of things you can't see from the center» Kurt Vonnegut.
|
|
|
|
|
BillWoodruff wrote: It's a tricky situation with some double-bind aspects to it, and I wish you good luck. At the risk of sounding like I'm giving you advice, I'd like to suggest that now is the time for you to use all of the techniques you know for reducing your own stress level, and maintaining health, in body and mind so you can keep the "big picture" in focus. Really good advice Bill!
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
BillWoodruff wrote: It's a tricky situation with some double-bind aspects to it, and I wish you good luck. At the risk of sounding like I'm giving you advice, I'd like to suggest that now is the time for you to use all of the techniques you know for reducing your own stress level, and maintaining health, in body and mind so you can keep the "big picture" in focus.
Word
... having only that moment finished a vigorous game of Wiff-Waff and eaten a tartiflet. - Henry Minute
I'm still looking (eagerly) for wisdom in terms of best practices in OO design; and I doubt I'll ever quit looking. - BillWoodruff
Programming is a race between programmers trying to build bigger and better idiot proof programs, and the universe trying to build bigger and better idiots, so far... the universe is winning. - gavindon
|
|
|
|
|
Do you see any benefit, financially, if you give more than 8 hours a day (or whatever default your contract has)? If you work an extra hour a day without extra money and in near future that might give you a good payback, go for it.
If not, then just work for what you get paid for. If you think you are underpaid, then it was your mistake since you did agreed to work for this pay on this application. Meanwhile, search for a better job.
BruceN wrote: Why am I in my van eating noodles?
This is where you will learn how little we need to sustain a good life and be happy. Most of the things we buy in life are useless.
|
|
|
|
|
As others have indicated, your situation depends upon your agreement, which you haven't touched upon. If it is a 'gentlemen's agreement,' now that you know what is involved, you might be able to non-confrontationally ask your boss if he knows anybody who can do that job for even double your noodle wages, and renegotiate your situation. But framing it non-confrontationlly may be a bit of a challenge.
If your boss makes 'shitloads', and is paying you peanuts, he is not paying you 'all' he can, and it is your learning experience. If you can't get out of it and find another job, or get better wages, look at it as resume building, and finish that sucker as quickly as you can. Make the experience a jumping point for something better. "I took project X, refactored it, and obtained a 300% improvement in metric X" is something someone will be interested in hearing. But if that variable is still named 'ip' they won't.
Good luck, and Happy coding!
|
|
|
|
|
BruceN wrote: Original developer took their final check and buggered off to the opposite side of the country to become a truck driver.
Sounds like a good idea!
Once you lose your pride the rest is easy.
In the end, only three things matter: how much you loved, how gently you lived, and how gracefully you let go of things not meant for you. – Buddha
|
|
|
|
|
|
BruceN wrote: Why am I in my van eating noodles?
See any connection?
BruceN wrote: Original developer took their final check and buggered off to the opposite side of the country to become a truck driver.
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a f***ing golf cart.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
|
|
|
|
|
BruceN wrote: Why am I in my van eating noodles?
Because you're Chris Farley?
|
|
|
|
|
I know you are not asking for tips on how to go about things but if you want a tip this is how I would go about maintaining or fixing something like what you mention:
The first thing I would do is set up some version control on the code.
Then any changes I make I would commit every 2 hours to the version control system with decent comments as to the changes I am making.
That way if I mess up I can go back a few steps and I am building some documentation system as I go along of what I am doing.
This sort of thing is all about small steps - the thing may look like one hell of a mess to begin with however in time you will get to understand it.
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
Just make sure that you do no work outside of the original scope for free!
You want me to change the title on that report?
I will have to bill you $100 for that.
etc.
|
|
|
|
|
If it's any comfort you are not alone. I'm on the third "clean up after the cowboy programmer" mess in five years. "Comments are useless clutter", and "documentation? look for it in the toilet", direct quotes from the original coder. Think of it as a job of reverse engineering, pretend you are Turing cracking the Enigma, anything to keep your sanity. Console yourself that there is a special circle in Hell for cowboy coders, where they will spend eternity unraveling spaghetti code and infinitely deep inheritance classes.
Learn to love the zen of Ramen. You can vary the noodle diet with cans of Vienna sausages, two for $1 USD at Walmart.
|
|
|
|
|
Wow... Here is how I see it:
1) With you at the PRICE YOU NAME, they have a CHANCE
or
2) Without you, they have ALMOST no chance of bringing someone in, and getting it done.
If the deadline is more important than the cash, make them pay. If it is not, move on.
The most valuable thing I ever learned was: "I choose how much I work for!". Once you have
a track record you can point to, and references who convey your value. There is no reason to
work on the cheap in this industry.
The LEAST I would settle for is about $2,000/month ROYALTY after you leave the company for ANY Reason, as long as that kind of software is in use. In perpetuity.
BTW, unlike most technical people. Business people LIE about their budgets all the time.
I find technical people to (myself) to be terrible negotiators, until they see INSIDE a company,
and what we would call LYING is referred to as "business" or "sales". It changes you.
Finally, NEVER write software to "help" a company until you are FINANCIALLY SECURE. (Meaning the amount you would/could make is immaterial to how you live, and you have nothing better to do with your time).
|
|
|
|
|
"Why am I in my van eating noodles?"
Deeply philosophical dilemma. Maybe you should try as a truck driver too?
modified 20-Oct-19 21:02pm.
|
|
|
|
|
It's easy for me to say this but: get a better job now.
Ok it may not be easy, but you will use less energy getting a better job and you will be less frustrated.
|
|
|
|
|
I had a freelance project a few years back that was a similar situation. Key differences were this "simple tool" scope creeped into so much more. And the boss was a 1 man army. And this was freelance not my fulltime job.
In the end, I evaluated my priorities, cut ties, and found other opportunities. It really came down to that whole work/life balance and money. I've written it off as purely a life lesson and a horror story of what not to do.
Best of luck to you, my advice is to evaluate your priorities..
Is this really a resume builder if it literally could put you on the street? Is there any possible way to leverage compensation given the apparent critical nature of the project? Did you bid on this or was this mess just handed to you with a "good luck we're all counting on you" speech? There's a difference between underestimating a project and truly being thrown into the pit blind folded. If the deadline is as critical as it sounds, the boss finding someone else for cheaper doesn't sound like much of an option. On the other side, putting the boss in such a position also could spell the end for you once the project is complete.
I don't know, just seems to me like there is no good ending. Sounds to me like this only ends with you looking elsewhere albeit now or later. Gotta Eat!
|
|
|
|
|
Start with testing ... create a development environment that replicates Production and start playing with it. Figure out the use cases and trace them to how they mimic themselves in the database and start designing tests for the use cases that you do understand. Try to find any documented requirements and map those against the use cases.
Find a tool that can do refactoring so that major variables like "ip" can be renamed to something that makes sense to you. Add documentation as you figure stuff out.
I know it's a pain, but try to have fun with it, instead of being annoyed as to how bad it is. It's not going to get better if you hate it.
Think of how to express the experience on your resume; I fixed a computer system with no documentation, tiny variable names, and blah blah blah; and helped the company secure 3x more customers. That will resinate with a lot of hiring managers that you succeeded in an area where most fail.
|
|
|
|
|
You will always encounter projects where best practices aren't followed, documentation is nil, and no one can explain what is wrong with the code as-is. But they want it fixed. They don't know enough about the problem to explain what the problem is. They don't want to to waste time moving code into best practice so it is easier to pin-point the problem. So, go fix it.
You are left with ??????? and no real answers. So, do what you were hired to do and fix it.
Takes patience, talking with people, finding the best informed on what the project does and what is currently desparately wrong with it. Then, isolate the problems that don't need fixing now and ignore them and work on the real problem(s), whatever it is (they are.)
If it takes little effort to sneak best practices in, sneak that in, you'll thank yourself later. (God knows, no one else will.)
|
|
|
|
|
Quite clearly this is yet another case of Managerial 'Your problems are yours, and mine are yours'. If this software is in such an appalling state then it is a result of Managerial sins, either of commission (just fix it OK), or omission (I hired that man because he was the cheapest and he said he could do the job, it isn't my fault he made a mess, what was I supposed to do, check his work?). My advice, stand your ground, it is basically his problem, not yours. Do not take ownership of problems that are not yours. Sleep easy at night.
|
|
|
|
|
It's increasingly the same in all technical professions - those with technical skills are being paid less and less in real terms, whilst the bosses earn more and more. Those that get paid the most are the ones who control the flow of money (bankers, accountants, actuaries, CEOs, etc.) and not those with the real hard-to-acquire skills who do the most demanding and important work (such as teachers, scientists, academics, nurses, computer programmers, etc.). That's Western capitalism! Don't worry, this trend will only continue until it totally wrecks the economy and then everyone will be equally stuffed.
|
|
|
|
|
What do you call the man who teaches you the design of integrated circuits? A microprofessor?
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a f***ing golf cart.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
|
|
|
|
|
If he has little hair: short-cut
M.D.V.
If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about?
Help me to understand what I'm saying, and I'll explain it better to you
Rating helpful answers is nice, but saying thanks can be even nicer.
|
|
|
|
|
Back in highschool we used to call a not-so-tall teacher 'The Running Meter'
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a f***ing golf cart.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
|
|
|
|
|