In trouble for succeeding again
Just got called into the boss's office and told I was being "written up" because of had yet again actually succeeded at my job, even though it wasn't technically possible.
I'm supposed to use a restricted set of tools. Essentially, only Delphi and Delphi components. To do my job though, which was stressed by the owner of the company (my boss's boss) as being of the highest importance, Delphi wasn't an option. A convenient C program, with all the hard parts already done for me, was.
Anyway, I'm hopeful that my future here is short. With a little luck I'll be working for a friend shortly, where the money is just as good and management is a lot easier to get on with.
This is why shooting people, especially if all you do is pretty much wing them, should be ok every now and again.
July 13th, 2007 10:08am
did you write it in C or in Delphi?
July 13th, 2007 10:31am
Replace "C" with "whitespace" or "brainfuck" and contemplate the ramifications if *everyone* just went and used their favorite language to get stuff done.
Maintaining code costs 10x more than writing code.
July 13th, 2007 10:32am
"To do my job though, which was stressed by the owner of the company (my boss's boss) as being of the highest importance, Delphi wasn't an option. A convenient C program, with all the hard parts already done for me, was."
So, in other words, Clay did what he was supposed to do: he found a way to deliver what the owner wanted him to deliver.
Would it have been great if he found a Delphi-based solution? Of course. But he said that wasn't an option, so he found a C-based solution.
So it goes in the world of software development.
And as a practical matter, I expect that I need to know more than 1 programming language/development environment if I'm going to survive for a long time in this line of work.
July 13th, 2007 10:38am
...Which may be part of the problem. They want isolationist one-trick-pony developers. There's less chance of them jumping ship.
July 13th, 2007 10:40am
Wrote it in C.
Philo, your analogy is fine for a business school classroom. Outside of a business school classroom that falls apart.
First, everyone here has had at least some exposure to C as a requirement for their university courses.
Second, C is a far cry from using something like brainfuck or even Lisp. Using brainfuck would be switching to a language that very few people understand. There are more C programmers available than Delphi programmers.
LOL. "What if everybody did their job effectively?! We managers would not be needed!!!"
sorry, I couldnt figure out if "Delphi wasn't an option" was referring to a directive from the boss's boss, or a Directive from the boss's boss's boss's boss's ... (ad infinitum).
I guess the question is whether you informed your boss that you were implementing in C. If I had two mutually contradicting tasks: implement in specific language and do this thing, I'd ask for a way to resolve the issue. Then let your boss make the decision (and take the heat). Perhaps this feature is not worth the additional maintenance cost. Perhaps, the thing needs to interoperate with other people's work, and a Delphi interface is needed. Bosses hate surprises.
that everyone else should have 'C at university' is an academic argument itself. as if people haven't forgotten most of the things they learned in school.
If i were your boss, I'd defend you to the boss's boss (as a self-motivated and capable developer), but I'd also tell you to give me a head's up next time. Companies need to have employees coordinate or one hand doesn't know what the other hand is doing.
July 13th, 2007 11:04am
Are you sure it couldn't be done in Delphi? Delphi is a pretty powerful language, there's a lot of different stuff written in it.
Off course, it could be much harder to do in Delphi than in C, but then we have the issue Philo raised, the maintenace of the software. It's much cheaper if it's all in the same language, even if C is a very popular one.
Then again, if C was really the only choice, then you should've informed your boss, and promised him to generate a really good documentation along with the new C code.
July 13th, 2007 11:17am
I dunno, Latino. Sounds good. But doing it that way assures you MORE work, not less, with no potential reward.
Barbie says "managing is HARD!"
Yes, it is MORE work. The problem is that, with LESS work, he's getting screwed.
July 13th, 2007 11:38am
What was specifically impossible in Delphi?
Because I hardly know of any C construct that cannot be done in Delphi. And even then there is always the inline assembler option in Delphi. (for instance for some rotation operations that are not directly supported in Delphi).
He must have found some code or some library in C: "A convenient C program, **with all the hard parts already done for me**, was."
July 13th, 2007 11:49am
Then just pack it into a dll and call it from Delphi.
Apologize to the boss and delete all the C code. Then write it in Delphi with 1/10 the features and not working properly. Proudly announce it as the best that was possible.
July 13th, 2007 12:03pm
Let's clarify some things here.
1. I have standing instructions to only work in Delphi.
2. I did not discuss this matter with my immediate superior because his answer was a forgone conclusion. He would have told me not to do it and to find another way. I had already ruled out any reasonable other way, so there was a stalemate. I've been down this road before and it usually takes a month to get through, at the end of which I still have to implement it in C and deal with the exact same yelling for the exact same reasons.
3. Owner of the company told me it had to be done and he was non-specific as to how. Just had to be done. Contracts worth massive amounts of money were on the line.
4. The library in question is GTK+ and several supporting libraries such as librsvg. I looked for Delphi interfaces to these libraries. They aren't out there.
5. Writing my own Delphi to GTK+ interface units would have introduced more maintenance dependencies than using the pre-written C program. Maintaining a Delphi interface to a C library is much further beyond the capability of the other staff members than modifying an existing C program.
6. My comment about the other staff having C experience was not a "should have had" but a "did have." I have verified that they have all used it, all delivered programs in it.
7. Yes, Delphi is the greatest thing since slice bread. But like sliced bread, it isn't suitable for every task, and I am doing one of those tasks. Find me a Delphi library that doesn't have a per seat license that will convert an SVG file to a PDF file and I'll reconsider, and beg you for google-fu tips. Until then, C is the only choice, because GTK+ and librsvg are the only combination that I could fine to do it.
Strictly speaking, not raising the issue with my boss was a big mistake. From a practical standpoint, I'm better off asking forgiveness than permission. I moved the project forward by several weeks in so doing.
PE, I like your solution, although at the moment it's not an option. It already has the minimal usable feature set.
+1 for "Then just pack it into a dll and call it from Delphi".
July 13th, 2007 12:31pm
What? That dll? Oh yeah, I found it on some now-defunct internet site. Good thing I snagged it when I did, the site was gone two days after I got it!
July 13th, 2007 1:26pm
JoC, that's definitely a funny solution, although not one I'm comfortable with. If it doesn't have long-term support or I don't have source it makes me squirmy, because later when I have to maintain the thing it's going to be bad.
Also got in trouble for actually installing the software, instead of foisting it off on somebody who already had enough pressure coming down on him to get other more important shit done. That part is rich.
whoa. that's good work, Clay. since your boss's boss 'contracted' you to get this done, talk to him/her about getting credit. perhaps your boss just feels like a fool for not knowing about the C implementation. No boss ever wants to look foolish.
The core rule of corporate life: if you can't make your boss look good, get them fired.
July 13th, 2007 1:34pm
>>> JoC, that's definitely a funny solution, although not one I'm comfortable with. If it doesn't have long-term support or I don't have source it makes me squirmy, because later when I have to maintain the thing it's going to be bad.
No, he was suggesting how you explain where the dll you "found" came from.
July 13th, 2007 2:06pm
Yeah, you just 'found' a dll. ;)
I'm not sure if I think that would be horribly unprofessional or unethical really.
I suppose my frustration with your manager is that I am very results oriented. I don't care how it goes from A to B. It just needs to get there. Hopefully, it will be efficient. But I think you can always review the past and improve efficiency over time.
July 13th, 2007 3:45pm
Yeah, that's my frustration too. I understand that he's pissed because I left him out of the loop, but he demonstrated quite thoroughly why I left him out of the loop. It's bullshit like that that encourages me not to tell him what I'm up to.
On the flip side, the proposed remedial action actually has me implementing part of it the way I would like.
Here's the really funny bit: about an hour after I got my ass chewed for implementing this solution we got a call from the customer, who doesn't think he wants this after all.