You stupid, selfish, unprofessional bitch.

Four months ago our expanding communications electronics company hired on several new engineers and technicians, including you, our new (and first) dedicated software engineer. I was happy. Our engineering group had been overworked even before the company decided to start developing an entierly new product line. Having a dedicated software engineer meant that I wouldn’t have to split my time between hardware design and coding anymore. Management was potitively gushing over your credentials: Look at this list of patents she has! She’s done network programming for Lucent! Everything looked good.

Time passed. The company paid for us to all be trained on the new hardware. Development of the new products began. And you gave me reason to worry. It’s one thing when you keep asking questions that suggest that you don’t really understand what the product is supposed to do. When you derail design meetings with bizarre or impractical suggestions, or when I have to explain to you (repeatedly) why we’ve chosen this hardware architecture to use, and you don’t seem to even understand the engineering problems involved let alone our solution, I get concerned. When I ask you what compiler you’ll be using to develop the working application code, and then I have to explain to you what a compiler is and what it does, I get seriously worried about the future of the project.

There’s also the fact that you’ve come in late for work every single day you’ve been here. It’s not my job to keep track of your hours, but as someone who makes a point of coming in early every day, it bothers me. I also can’t help but notice, being in the cubicle next to you, all the personal phone calls and mysterious whispered conversations.

It’s not like I didn’t make my concerns known to management. I don’t think it was more than a month after you started that I went to my boss and told him I had serious doubts about your ability and willingness to do the job. Your concerns are noted, they told me. Give her time, she’s just starting, they said. It’s just her accent, she has trouble understanding English. And finally, She was the best of the people we interviewed.

Now to December. The week between Christmas and New Year’s. The office is open, though much of management has taken vacation this week. I’m here, I still have a lot of work to do. I can’t help but notice you’re not. I know you haven’t been here long enough to have vacation days. I’d ask management about it, but they’re all on vacation, we’re running a skeleton staff.

Then Tuesday of this week an email comes in from you announcing your resignation from the company. You have the gall to list of your accomplishments while here, most of which weren’t yours to claim, or weren’t particuarily difficult or ompressive, yet you make it sound as if you were singlehandedly responsible for making the new product line possible. You claim that your resignation was sudden and unavoidable, due to family emergency, yet when I go to search your cubicle for any sign of actual work you’ve done I find that you’d already removed all your personal belongings and left your building pass behind. Which means you knew you were quitting last time you were here, a week and a half ago.

And did I find anything useful in your cubicle? No, I mostly find datasheets, manuals, and project specification sheets, most of which are months old and relate to features and parts that aren’t even in the current design. The software design document that you’re so proud of is worthless fluff; pages upon pages of vamping about features with no actual content on how you were planning on actually implementating anything. On further investigation much of the text describing the various software functions apears to have been copied from various web pages. Were I an english professor and this a term paper, I’d fail you for plagerism.

Furthermore, checking your computer, I can find no evidence you even logged into it the last week you were here. It appears that you stayed just long enough to attend the company Christmas party before cleaning out your desk and leaving.

As a final laugh, I’ve just been informed that management recieved an email from you, demanding to know why your paycheck from the week you weren’t here hasn’t been deposited in your account. You quit without telling us and you expect pay? You’ll be lucky if we don’t take you to court to get a refund on your previous paychecks!

Fuck you, you selfish, slimy, unprofessional bitch. I hope your behavior here comes back to haunt you. I hope the free glazed ham you stayed with the company just long enough to get spoils and gives you food poisoning. I hope you never get another engineering position again in your life, and wind up having to do menial labor scrubbing toilets to get by. And I hope the next software engineer we hire is actually competent and trustworthy.

Garbage in Garbage Out? :wink:
Was no one who knew anything involved in hiring her?

A software engineer who doesn’t know what a compiler is? Wow. Just…wow.

It sounds like she was a software manager who tried to get a programming job, and failed miserably. The patents she had her name on were probably piggybacked with the real engineers who did the coding, while she managed the project.

I’m not a software engineer. What is a compiler?

And not the only one.

I was once showing one of my coworkers a GUI I was in the midst of building. He was supposed to be an engineer as well, but was dumb as a box of rocks. I didn’t realize just how dumb he was until he started asking questions about the program I was writing. It was a little database driven thing that allowed people to view information and run reports from the DB.

When I started it up to show him, there was a button on the first page that said something like “Run report.” He pointed at it, and asked “Is that the compiler?”

:eek:

Basically it’s a program that changes the english version of the code into computer-speak so it can run.

A compiler is a program that takes source code and turns it into something that the computer can use to do work. (Like machine code, or an execution tree.)

That certainly sounds consistent with her credit-grabbing exit email…

It’s a program that translates a program that you’ve written in Cobol, Fortran, or some other language, and produces an executable file. Or, it may produce an object file which is later combined with others to make an executable program.

I have a question for the nut-and-bolt engineering Dopers. Is it conceivably possible for a civil, mechanical, or electrical engineer to not know what a compiler is, given the nature of the work they do? An older one perhaps, who entered the profession in the days of slide rules?

At the time, I thought it had to be a translation problem. Her english wasn’t that good, maybe she just doesn’t know it by that word. Now, after having gone through what’s on her computer, I wonder if she’s ever written any code of her own.

I think that’s possible. But not a software engineer who’s actually ever made anything (and not just took credit for an underling’s work).

OK, there are some interpretive languages that aren’t compiled, like BASIC, so maybe a person could conceivable have worked in that environment and still call themselves a software engineer and never compiled any code explicitely. I assume the person described in the OP sold herself as somebody who developed in compiled programs, though. Or at least has a computer science education, where compilation is a very basic (heh) concept.

This sounds like the problem. If management said that she was the “best person they interviewed”, then whoever conducted the interview didn’t know what he was doing.

All the more reason why the hiring process for a software developer should require a coding test. “Here’s a computer. Write me a simple command line calculator program that will do basic arithmetic(±/*^()). You’ve got 4 hours.” would have solved a lot of problems.

Not only is it possible, it is likely. Heck, even those of us who schooled in the computer era were required to have have only rudimentary programming training; most C/M/E engineers educated before 1990 have only experience with various forms of BASIC (generally a strictly interpreted language) and FORTRAN (compiled, but many systems combine the compile and run step together, so the “programmer” doesn’t have to deal with things like header files, config options, DLLs, and the like). As a Mechanical Engineer, the only required programming I did in school was a basic FORTRAN class, some BASIC programming for labs, some work in Matlab, and a little bit of RLL (Relay Ladder Logic) programming for a PLC/controls lab, none of which required any familiarity with what happens after you type “Run” (or “FOR77”). I did take other Comp Sci courses and ended up in a school job writing code in C++, but that was atypical.

But anybody managing programmers doing complete application development should have at least a general understanding of what a compiler is, just as anyone managing, say, a structural engineering team should know that large structures are build out of this stuff called “steel”, or anyone doing PR for Paris Hilton should understand the concept of “brainless slut”. That’s basic information for the job.

Stranger

I come in contact with a lot of EEs and I don’t think I’ve met a single one who didn’t know what a compiler was. Some of them are actually pretty decent low level programmers if it comes to that.

I’m a structural engineer who graduated in Fall o’2000 and I only know what a compiler is because my brother (a ME with an almost PhD in Aerospace) has some interest in computers. The only programming class we took in school was an easy C class which was considered a wash-out class by many (not me tho’, I wound up grading for that class. It astounded me how hard it is for a lot of people to grasp even very basic programming).

It seems like a word that’d be taught in 99 level computer science classes, for the kids whose high school programs sucked.

I think it’s the concept of pointers that seem to separate the programmers from the wanna-bes. :slight_smile:

We had kind of the same experience. We needed someone to design a system that would transfer data with a legacy structure into a new database on demand. We hired a Masters level programmer with impressive credentials who piddled around for 6 months before we realized he didn’t know what he was doing. In his interview, he even lined out his strategy for accomplishing this, but it was very high level. It was the nuts and bolts stuff that threw him.

One of our in-house programmers (no degree) ended up writing it in about a month.

Why, oh why, do people lie (or exaggerate) on their resumes when they know they’re going to have to perform?

I vowed after the last interview I went to that asked me to do a programming test that I’d walk out of the next interview that wanted it. If you can’t figure out whether or not a person knows what they’re talking about when it comes to coding by asking questions and listening to the answer, with maybe a little white-boarding thrown in, then you shouldn’t be interviewing programmers.

Besides, 4 hours to do a basic arithmatic program? First off, job interviews shouldn’t last 4 hours. Second off, any programmer worth their salt can do it in ten minutes. Third off, it’s a silly academic exercise that doesn’t prove one way or another that someone can code. Any dumbass who thinks they can program can write something like that.

Joel Spolsky feels the same way: You should ask the interviewee to actually write a few lines of code, not a full test, mind, just solve a problem. I keep a few such stock questions on hand for interviews.