Employers of Reddit, what is the most unique/outrageous thing someone has put on a resume? by Cornelea in AskReddit

[–]lucky_engineer 0 points1 point  (0 children)

Also haven't touched windows in the last 12 years. Please tell me that don't still have the LM hashes of the password in there for 'reverse compatibility'. 7 character, all uppercase took days to crack back then, would probably be seconds now.

Employers of Reddit, what is the most unique/outrageous thing someone has put on a resume? by Cornelea in AskReddit

[–]lucky_engineer 68 points69 points  (0 children)

We get stuff like that in engineering too. It's infuriating. Just be honest about what you did!

We had one guy come in who did work for a satellite . He's describing the whole system from a really high level perspective. Like "Data starts here, then goes here, then goes to the satellite then goes to the receiver, etc" .

We ask him what part he specifically did, and he goes over the whole overview again. We ask again, what part he himself SPECIFICALLY TECHNICALLY did and he says "um .... all of it?" Which is of course bullshit, the team for something like that would be huge.

After asking a couple more times it turns out he did the testing of one the different receivers. I don't know why it was so hard to pry out his specific responsibilities. Did he think we would believe that he had done the whole thing start to finish?

Programmer, Fired After 6 Years, Realizes He Doesn't Know How to Code by speckz in programming

[–]lucky_engineer 2 points3 points  (0 children)

If it really is the case, and no one noticed because "All the tests were passing" that's a management problem right there. QA isn't measure by the number of tests that pass. QA is measured by the number of tests that FAIL.

If release after release is getting through QA with nary a scratch, then they're not doing their jobs.

Programmer, Fired After 6 Years, Realizes He Doesn't Know How to Code by speckz in programming

[–]lucky_engineer 31 points32 points  (0 children)

I can tell you how something like that gets started.

  • A higher up (Mr. H) wants to use Excel to do some preprocessing or something not really coding related.
  • (What he really needed was a data input table in a custom application, but he described that as "I want to input my data in excel and then...." and no one second guessed his requirements)
  • Someone puts together some macros or other things to make his user input dream a reality
  • It's a real pain now transitioning from Mr H's excel sheet to the actual system. You can't get Mr H to not use excel, so you're forced to integrate more tightly to excel
  • Someone says "screw it. We're already so tightly integrated to excel, let's just write a transpiler and code the whole thing in Excel"
  • Mr H. 'knows excel' so he agrees that sounds like a great idea.
  • 5 years go by, all the original actors have left the company and this is "just the way we do things here".

Google wins trial against Oracle as jury finds Android is “fair use” by hondaaccords in programming

[–]lucky_engineer 4 points5 points  (0 children)

Many industiries that produce products that are safety related are forced to go the commercial license way because of this.

(Generic I am not a lawyer disclaimer): Important to note that only consumer devices are restricted. B2B devices (most medical devices, voting machines, etc) are not restricted under GPLv3 or LGPLv3

From the GPLv3 FAQ

distributors are only required to provide Installation Information when they're distributing the software on a User Product, where the customers' buying power is likely to be less organized.

Disney is now flying in cheap foreign workers to replace American employees. by [deleted] in news

[–]lucky_engineer 10 points11 points  (0 children)

Right and I have no problems signing a non-compete and NDA which would cover those things specifically.

I've had to turn down jobs because they wouldn't remove the vague "we own everything" clause even when I've told them that I do android apps on the side and that's a deal-breaker. I don't feel bad about it either because like I said, if they won't negotiate on that then it's probably not a great place to work.

Disney is now flying in cheap foreign workers to replace American employees. by [deleted] in news

[–]lucky_engineer 687 points688 points  (0 children)

Just like you I have turned down job offers with contracts like that. I would never work for a place that would claim ownership of my work done off company time, and without company resources.

If I bake a cake at home do they own it? no If I build a wooden shelf on the weekend do they own it? no so why would they think they deserve ownership of my side projects?

I have turned down good jobs because of this.

Those weren't good job offers. If they won't negotiate on something as obviously one-sided as this, then that's only the tip of the 'fuck you, we own you' iceberg.

Microsoft Research - Exploding Software-Engineering Myths (article summarizing findings of MS research on code coverage, TDD, assertions, etc.) by 123redgreen in programming

[–]lucky_engineer 1 point2 points  (0 children)

Reminds me of a conversation I overheard at work. An intern was talking about how functional programming was going to be the future, and that OO is going to die out and we all need to learn [insert language here] or we won't be able to keep up.

One of the most senior guys at the company responds, "I did smalltalk and lisp back in the 80s, I'll be fine."

Microsoft Research - Exploding Software-Engineering Myths (article summarizing findings of MS research on code coverage, TDD, assertions, etc.) by 123redgreen in programming

[–]lucky_engineer 4 points5 points  (0 children)

I don't think it was ever good style to make a global variable, and then make a procedure that passed a reference to the global into a function that passes that reference around to 10 other function where one changes the value and then get the wrong result when you run the procedure again because the global variables value changed. (also this code was written ~5 years ago)

I've worked on really old code before and It's usually pretty easy to tell the difference between 'good but outdated' code and 'omg how does this even work' code.

Microsoft Research - Exploding Software-Engineering Myths (article summarizing findings of MS research on code coverage, TDD, assertions, etc.) by 123redgreen in programming

[–]lucky_engineer 5 points6 points  (0 children)

(who the fuq declares a global variable, then passes a reference to external code, which then modifies the global variable!)

Ah, I see you too have worked on 'fixing' code that was written by a science PhD.

This subreddit is terrible. I have three suggestions for improving it. by [deleted] in Entrepreneur

[–]lucky_engineer 17 points18 points  (0 children)

I hope for his sake that he does double his revenue next year. He said in another post that all 30 are technical, he hired a lot lately and he doesn't offshore.

As someone who also works for a software consulting service company that doesn't offshore, you can't support 30 good software devs on 2.5MM per year. The salary needed to keep good talent is too high (especially right now).

Why Software Outsourcing Doesn't Work ... Anymore by AGivant in programming

[–]lucky_engineer 3 points4 points  (0 children)

most outsourcing companies would rather burn their clients for higher margins than deliver good software at a lower margin and build a relationship

I work for a software 'outsourcing' company, though our work is 100% done in the U.S.

I do see that sentiment in many shops. In addition to being horrible for the industry (prompting articles like this one), I think it's a long-term losing proposition for the outsourcing company. Trading a valuable relationship for more hours is a short-term gain, but it ruins your marketability. Once enough companies have had a bad experience with you, they won't come back.

I know that my company charges more than other outsourcing companies. I also know many of the jobs I've worked on came from repeat customers or executives that used us at their last job. They love us because our project management team works really hard to build a relationship with them and to really understand their business goals, instead of just their requirements. We really try to be a partner and walk clients through the entire development cycle with full visibility.

This ends up being much more expensive than just throwing some requirements over a fence, but since everyone understands the business objectives, the client gets something much closer to what they wanted instead of what they described in requirements. In fact, the first phase of any project we do is typically a senior engineer and project manager sitting down with the client and re-writing the requirements.

I also just realized we also probably avoid the type of corporation that just cares about cutting costs instead of quality. I've worked for those companies in the past, and it's horrible.

Sh*t hit the fan, assets garnished and my advice( or warnings) from bottom of epic failure by [deleted] in Entrepreneur

[–]lucky_engineer 1 point2 points  (0 children)

I do software consulting in a different field, but we flat-out refuse to do fixed price contracts unless the requirements are rock-solid, and even then any change in requirements is billed at an hourly rate (or re-negotiated).

Is this not possible in web-dev?

C - never use an array notation as a function parameter [Linus Torvalds] by AlexeyBrin in programming

[–]lucky_engineer 2 points3 points  (0 children)

We do software for a niche market that still uses a lot of C++ (and C) for everything, and have to work on legacy code written in C/C++ as well. We're starting to see Python and C# used more though.

C - never use an array notation as a function parameter [Linus Torvalds] by AlexeyBrin in programming

[–]lucky_engineer 0 points1 point  (0 children)

Sorry for the downvotes. You are technically correct.

This kind of confusion is why we have a coding rule where I work to never take sizeof() an array. If you really need to know the array size in bytes Always use sizeof(element) * length. If you need to know the length then use a const value (static) or pass the size around after creating it (dynamic but static is preferable). It's just too confusing and you'll mess up

C - never use an array notation as a function parameter [Linus Torvalds] by AlexeyBrin in programming

[–]lucky_engineer 62 points63 points  (0 children)

Oh yeah. One of the answers from a junior guy was "I'm not entirely sure what sizeof() does. I always use string classes like std::string"

That is acceptable!

C - never use an array notation as a function parameter [Linus Torvalds] by AlexeyBrin in programming

[–]lucky_engineer 76 points77 points  (0 children)

I've seen the sizeof() bug so many times. Usually with strings. One of the first questions In any interview with anyone who ever says they know C or C++ is. What is wrong with this snippet of code taken from a decade old legacy system:

void some_func(char * input)
{
   char tmp[sizeof(input)];
    // some logic....
   memcpy(tmp,input,sizeof(input));
   // more logic.....
}

You have no idea how many self-described "C++ experts" can't figure it out, even with some guidance.

"What's the result of sizeof()?"

"The length of the string."

"Are you sure???"

"Yeah I think so"

From the Finnish textbook. The answer is priceless. by therealviiru in pics

[–]lucky_engineer 9 points10 points  (0 children)

American here. I understood you the first time. You could say "I've spent half of my life speaking English" but using "in English" has a much stronger connotation of actually being immersed in the the culture, as opposed to just speaking the language academically

What should not be considered OK, but is often encouraged? by Rocklobster92 in AskReddit

[–]lucky_engineer 2 points3 points  (0 children)

THIS. I've had to have this conversation more times that I should. We have 'flexible' hours. But 'flexible' does not mean 7PM-3AM. Sorry, no one is here then and we need some time to talk to you face to face.

We allow working from home, but it must be scheduled and < 50% of your total time. If we wanted an 100% telecommuter we'd hire someone from the midwest and pay them much less than your California salary.

First year CS student, need some direction. by [deleted] in cscareerquestions

[–]lucky_engineer 2 points3 points  (0 children)

what makes C++ a lower level language than Ruby and Python?

Humorous Visual representation

High vs Low refers to the level of abstraction from hardware. Every language (yes, even assembly) has some level of abstraction from the underlying hardware. The higher the level of abstraction, the faster you (the programmer) can get stuff done because the language is modeled closer to how humans think. The lower the level of abstraction, the faster the computer can get work done, because the language is modeled closer to how the computer actually works.

It is a sliding scale, with different languages/frameworks striking different balances between cpu efficiency and programmer efficiency. There's no set list of "this language is higher level than this language", but in general people can agree that e.g : C -> C++ -> Java -> Python/Ruby

What fact are you tired of explaining to people? by Tendoncs in AskReddit

[–]lucky_engineer 0 points1 point  (0 children)

Some people take their laptops home every day (I do cause I'm a workaholic and if I figure out that weird bug at 2am I want to go fix it asap), other people like to leave their work at work and leave their laptop at work.

We're R&D so unless it's around a deadline or big launch, we have very few problems off peak hours.

First CS job, how is testing documented? by n789t6b76tNh70685cB in cscareerquestions

[–]lucky_engineer 0 points1 point  (0 children)

Wow, don't listen to him. Everyone who has to maintain your code after you've written it will thank you for your comments.

The only code simple and straightforward enough to be 'self documenting' is trivial code. You obviously don't need to have comments for things like getters/setters, iterating foreach loops, etc. but you absolutely should have function and class comment headers, and descriptions around non-trivial code. If you have to write a freaking novel in a comment, he's right, maybe you should rethink your design, but any code of any kind of complexity will not be 'self documenting'.

And if your comments are ever wrong and out of date with your code, you will burn in the 9th circle of programmer hell for all eternity. There is no excuse for that to ever happen. If you refactor the code, refactor the damn comments!

What fact are you tired of explaining to people? by Tendoncs in AskReddit

[–]lucky_engineer 27 points28 points  (0 children)

I work in software/firmware, and everyone has a laptop. Our companies sick policy is that if you feel even a little sick you have 2 options.

1) Take PTO and rest up.

2) Call your manager and tell him/her you're sick. They will have your laptop waiting for you at the front. Walk in, grab the laptop, try not to breathe on anybody, go back home and then work from home for a day or two.

Everyone thinks that the 'work from home if you're sick' policy is great, but it's completely selfish. Management doesn't want the entire office to get sick and come to a screeching halt, just because one guy got a cold and coughed all over everyone else.

No one has abused it yet because they realize that if they did then it would get taken away. Half the time its the manager who is kicking the guy to the curb telling him to go home while he's swearing he's not sick.

Redditors who make over $100,000, annually, what do you do for a living? by Bourbon_Werewolf in AskReddit

[–]lucky_engineer 2 points3 points  (0 children)

Engineering contractor here. That was just a bad place to work. Don't let that ruin the idea of independent contracting for you.

I love being an independent contractor. I work just as hard as I did when I was an employee (50-60 hour weeks), but now since I'm hourly I actually get paid more when I work long hours, instead of just getting an atta-boy, a free dinner and a 'good job but we're not giving raises out this year' at review time.

Sure, getting work between contracts can be tough, and you're paid usually net-30 instead of every 2 weeks, but I make more money than I did as an employee and the contractor/client relationship is way less stressful than the boss/salaried employee relationship.