|
|
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.
|
|
|
|
|
No I simply try to avoid him as much as I can.
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~
|
|
|
|
|
|
Technically that is a program, not a computer and it doesn't teach circuit design, just how to tell the circuits to play nice. Computers are full of redundant terms so no-one really knows what you are really talking about. It is perfectly OK to call two different things the same thing, that improves confusion which seems the main purpose of having computers in the first place.
|
|
|
|
|
I called him my undergraduate advisor: Carver Mead[^]
"Fairy tales do not tell children the dragons exist. Children already know that dragons exist. Fairy tales tell children the dragons can be killed."
- G.K. Chesterton
|
|
|
|
|
Cool!
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
|
|
|
|
|
I call him "Dad".
(I should call him...)
|
|
|
|
|
CDP1802 wrote: The language is JavaScript. that of Mordor, which I will not utter here
I will not beg your pardon, Master CDP1802, for the black tongue of JavaScript may yet well be heard in every corner of the West... GetElementByID() is altogether evil
... 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
|
|
|
|
|
Yes, Orcs breed faster than rabbits.
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.
|
|
|
|