I accidentally autism'd a software engineer interview in C once. The prompt was to take a string...

I accidentally autism'd a software engineer interview in C once. The prompt was to take a string, convert it to binary ascii, and then encode it with manchester encoding. I was allotted 90 minutes.

Because I'm a fucking sheltered retard I thought they would be impressed if I wrote my own atoi function to use, which I did, and create my own malloc for char arrays, which I did, and then finally manchester encoding it.

Surely that would demonstrate an employable grasp of the C language, right?

No lmfao the fucking senior engineers testing me just wanted me to call on stdlib.h functions and run through a for-loop for the encoding part.


Fucking kill me lads. How the fuck was I supposed to know the barrier to entry was so low. How do people get off complaining about being unemployed with CS degrees? All you had to have done was not sleep through like 1 or 2 classes and you're apparently """employable"""


tl;dr software gigs only expect the absolute bare minimum while all other engineering disciplines expect you to have a firm grasp on everything you should have learned during undergrad. why is this?

reply to me faggots, where are all the people who love to larp on here as hiring managers?

i dont understand the problem here aside from you jerking off during an interview and subsequently jerking off in this thread

I wouldn't have hired you. It's not an academic exercise, and if you spend your expensive Dev time on buggy reimplementations of common functions instead of shipping features / fixing bugs, you're a trash employee

>demonstrate tangible knowledge of a language & compsci fundamentals (bit manipulation)

>get BTFO for not being a retarded code monkey drone

You weren't hired right? Because I wouldn't have hired you.

More like
>reinvented the wheel wasting valuable time

>wasted time reimplementing standard library functions
>don't get hired due to ineffective programming technique
how could this happen hmmmm

Dummy. You should have used C as a scripting language to call a Bash program to do the heavy work. Now, that would impress them.

>This bullshit about wasting time itt

Why is everyone so stressed out about time nowadays?

Not the OP but spending the time to understand things deeply is surely better than calling standard functions and not digging further.

Good software engineering is not about productivity per unit of time like a good little robot.

>apply for cook position at a restaurant
>interviewer asks me to fry some chicken wings to test my skills
>go to a farm and buy a new born chicken
>raise and feed it
>kill it and remove wings
>fry wings
>apparently I was supposed to work with the wings I was given
>didn't get the job
wtf bros

>Thinks employers want to hire you to rewrite standard library functions instead of getting the job done
>Being a good employee is not about being productive and using your time efficiently

...

work smarter not harder

mathematics calculates the volume of the ball, physics finds the displacement of the ball, engineering goes to the ball colume table and looks up the model number. because anything else is wasteful wheel reinventing.

i wouldn’t hire you because you could have asked “do you want to see me implement this or do you want the most efficient solution “

Because it isn’t engineering. Computer Science is a meme compared to the traditional applied sciences.

Yeah, keep thinking inside the box to save time, that is how innovation happens. Never waste a single minute doing inefficient things ever.

>the barrier to entry was so low

No innovator has the time to rewrite shit that's already been done. You can waste your time all you want on your own time but doing that in a job interview is moronic.

Pretty much this.
You should know how to do those things, but they shouldn't be what you reach for.
Anyone who CAN'T write an allocator is a dumbass, but the engineers hiring you can figure that out on their own without you trying to show off.

>Something works perfectly fine and already exists
>Let's remake it for fun, even though there is no specific reason why it wouldn't be perfectly suited to our purposes
lmao

I also hate "don't reinvent the wheel" as a rule, but come on.

You're like that one guy who goes to very basic tutorials and writes out their special long ass way of getting the answer even though the tutorial says specifically to do something else.

I don't like those people, they put way too much effort in for no result other than to try look cool on a intentionally easy thing. It's stupid.

Either you were already not going to be hired for one of the following reasons:
>interviewer didn't like you
>interviewer made a deal with another interviewee
>you were one of the first interviewees and the interviewer wanted to go through some more interviews
>bullshit libtard diversity stuff
or they are just looking for some dumb drone codemonkey tard who'll whip up something at the minimum acceptable level, aka just-get-the-job-done type of deal.

It feels like most software shops just want shipped_product++ instead of doing actual decent work

They don't care about quality, they care about money, more quality = more time per project = less projects = less money

It's good practice to work on understanding how things work under the hood. But don't waste your time reinventing a well thought out and thoroughly tested library.

Also, it's bad showing yourself using a very complicated solution to a simple problem.

The only thing you showed to them is that you don't know that atoi exists. Nice C programmer that you are, holy fucking shit.

>Good software engineering is not about productivity per unit of time

go tell that to your board of ceos

TIME IS MONEY, GOY, NOW BACK TO YOUR CUBICLE

OP here back from a night's rest. Something I should have mentioned to all you >muh efficiency
cucks is that I only took 25 of the 90 allotted minutes and used the time leftover to write a subsequent decoder. I had 90 minutes to do this task regardless of the complexity, why the fuck would I settle for a fucking for loop and calling atoi()?

Now that I think about it, was I completely in the wrong? Should I just switch off my brain and do the bare minimum like they ask for $55/hr? Was what I did the equivalent of a "firm handshake" in software?

You are a fucking case study for why Sup Forums is so fucking retarded. The world works on money, and time is money. One day, when the tendie delivery lady dies, you will realize that money doesn't come out of her ass.

>engineering
>science
what did he mean by this?

You may get 90 minutes, but in fact they are evaluating you on time taken. 5 minutes of stdlib.h atoi is far better than 25 minutes for the following reasons:
>1/5 the time
>reuses existing code from an existing standard library
Everyone knows how stdlib.h atoi works. Having to deal with a custom implementation hurts readability, especially for possible differences in edge cases.
You're not completely in the wrong. Knowing how standard functions work is a difficult and important skill. However, what you should learn is the difference between knowledge and wisdom.

Do you get it now op? You're fucking autistic

your post OP just shows you how inexperienced you are

so don't talk shit

>so don't talk shit
>using nigger street speak on a technology forum

wew lad

Whyever would you think it a good idea to make a mountain out of a mole-hill? Why would you even need an atoi and malloc for something like this? Sounds like it should be doable in 10-20 lines of code.

>Sounds like it should be doable in 10-20 lines of code.
To wit:
/* Ensure destination buffer is twice as large as source buffer when
* calling */
void manchester(char *dst, char *src)
{
static const char mantab[] = {
0x55, 0x56, 0x59, 0x5a,
0x65, 0x66, 0x69, 0x6a,
0x95, 0x96, 0x99, 0x9a,
0xa5, 0xa6, 0xa9, 0xaa,
};
int i, o;

for(i = 0; src[i]; i++) {
dst[o++] = mantab[src[i] & 0xf0 >> 4];
dst[o++] = mantab[src[i] & 0x0f >> 0];
}
dst[o] = 0;
}

Took me all of two minutes, after reading up on what Manchester encoding is.

>Meant: for(i = o = 0...)
Also fuck Sup Forums for not using proper tabs in pasted code.

Not using the standard library is a sign of poor knowledge of the language. They're hiring you to write practical code, demonstrating that you know the standard library inside out is far more valuable that demonstrating that you know how bits work.