IT/Software career thread: Invert binary trees for dollars.

Vinen

God is dead
2,788
494
Its weird. A strong, very large qa staff. Their suite is massive and pretty thorough but they struggle to pick up anything useful. The customers are the ones doing weird shit and finding bugs.
Then they are testing wrong.

Have they tried to fully understand said customers?
 

Deathwing

<Bronze Donator>
16,647
7,631
From my experience it seems many QA people I know and have worked with are just developers that couldn't hack it or have absolutely no development background. So they're really just glorified button pushers.
Just curious, what's the secret sauce to hacking it as a developer? And why shouldn't that be required of your testers?
 

Tenks

Bronze Knight of the Realm
14,163
606
Just curious, what's the secret sauce to hacking it as a developer? And why shouldn't that be required of your testers?
Be good? I mean they are just incompetent at development and eventually just transition over to QA. Possibly because it is such a huge pain in the ass to fire people for performance so its easier to just let them move to testing. The funny thing is at my internship it was pretty obvious who the people were that were going to go on to be actual developers and which were probably going to transition from QA intern to full on QA. Basically everyone I thought would go to QA is currently in QA. Thats not to say I just naturally look down upon all people in QA. I try and give most of them a fair shake. The project I got put on temporarily actually has damn good QA people. The project I was on previously the QA person actually got fired for performance -- which is unheard of at my company.
 

Deathwing

<Bronze Donator>
16,647
7,631
That's the culture I was referring to a few days ago. Is it really that hard to fire someone for performance? I thought "at will employment" meant for whatever reason you want(as long as it's not discriminatory).
 

Eomer

Trakanon Raider
5,472
272
That's the culture I was referring to a few days ago. Is it really that hard to fire someone for performance? I thought "at will employment" meant for whatever reason you want(as long as it's not discriminatory).
My understanding is that depending on the employment legislation and established court precedents, you don't have to keep someone on as an employer but you might have to pay them to go away in lieu of notice. Employment standards in Alberta/Canada mandate bare minimums, but for long tenured, and/or senior employees and managers, that notice period can be years. Hence why it's important to document why someone's a fuck up, document attempts at improving their performance, and so on. If and when you fire them and don't want to pay them to go away, you'll have a basis for doing so.

At will employment doesn't mean you can just fire someone for no reason with no consequences. It simply means you don't have to continue employing someone even if you no longer want/need to, like in many European countries. But there are consequences to letting them go. Although actually, in doing a quick Google search, it would appear that's not the case in most US states. But there are exceptions:At-will employment - Wikipedia, the free encyclopedia

I guess that's very much an American thing:Border Crossing: Differences Between Canadian and U.S. Employment Law | Work Place Post, April 2008 | Clark Wilson LLP

'Merica!
 

Vinen

God is dead
2,788
494
Network network network?

Being good seems to have very little to do with it tbh, there's no objective criteria for good, so one companies rock-star is another companies hard pass because no one can agree on what good means.

So if you want to be considered good, network a lot and write a blog.
This includes networking within your company. It is always a benefit to have your face known. Even if you do great work people won't really give a shit about your existence as you hide in a corner writing awesome code.
 

Noodleface

A Mod Real Quick
38,115
14,756
Then they are testing wrong.

Have they tried to fully understand said customers?
You can't really understand someone like data Domain. I mean they bring in some bios request a few weeks ago and we collectively go "what the fuck", but because they pay the big bills we bend over backwards. They're always doing something crazy.
 

Vinen

God is dead
2,788
494
You can't really understand someone like data Domain. I mean they bring in some bios request a few weeks ago and we collectively go "what the fuck", but because they pay the big bills we bend over backwards. They're always doing something crazy.
What is the point of the testers if it's not possible for them to understand what the customer is doing?

The only role of a tester is to emulate the customer.
 

Lendarios

Trump's Staff
<Gold Donor>
19,360
-17,424
What is the point of the testers if it's not possible for them to understand what the customer is doing?

The only role of a tester is to emulate the customer.
There are many roles for a tester, one of them is to to emulate the costumer (black box testing). Unit testing, integration testing, smoke testing, regression testing do not emulate the costumer at all.
 

Vinen

God is dead
2,788
494
There are many roles for a tester, one of them is to to emulate the costumer (black box testing). Unit testing, integration testing, smoke testing, regression testing do not emulate the costumer at all.
And everyone of those entails some level of understanding of how the customer will use the product
smile.png
 

Tuco

I got Tuco'd!
<Gold Donor>
46,591
76,602
Only took one post to back off from the absurd notion that "The only role of a tester is to emulate the customer". I don't know what to say to that other than you probably don't even believe that statement or think of testing in such meaningless terms that any use of the product is emulating the customer.
 

Lendarios

Trump's Staff
<Gold Donor>
19,360
-17,424
Imagine your company creates cars, and you create a the machine that builds the pistons. Testing is not taking the piston and assembling it on a engine block, and mounting the engine in car and driving the car. Testing the piston will be measuring the dimensions of the piston, its weight, its density, its tensile strength. You don't care how will the piston be used; or if they go to a plane or a truck or a F1 car; or used as paperweight. You have your specifications to follow, and it can be tested against that.

That is what unit testing is.
 

Vinen

God is dead
2,788
494
Imagine your company creates cars, and you create a the machine that builds the pistons. Testing is not taking the piston and assembling it on a engine block, and mounting the engine in car and driving the car. Testing the piston will be measuring the dimensions of the piston, its weight, its density, its tensile strength. You don't care how will the piston be used; or if they go to a plane or a truck or a F1 car; or used as paperweight. You have your specifications to follow, and it can be tested against that.

That is what unit testing is.
And in the end you are still unit testing a process which will lead to specifications a customer will expect.

Additionally, your customer is not always the end consumer...
 

Noodleface

A Mod Real Quick
38,115
14,756
Man, this week I've been pumping out features like I'm some kind of savage animal. It's probably because my boss is on vacation and I'm allowed to "just work" and not get inundated with bug fix requests and other menial things. The downside is I'm now fielding a million emails a day as things are ramping up. I have one vendor telling me it's perfectly acceptable that during BIOS boot their driver takes 2 minutes to load. Doesn't even take a BIOS engineer to know that's just plain shitty.

Spent a long time yesterday trying to find out where this goddamn function was defined that I wanted to use. We have to manually link libraries, and we have 100's and no easy way to determine what's in each library. Finally after a couple hours I found a strange assembly code file with the function in it - wanted to slap my face for missing that. The shitty part is our IDE only pulls in certain project files (.c, .h, some other ones, but doesn't include assembly and some other key files we need to edit to add libraries). Just a pain in the ass, and we can't use any other IDE's.
 

Cad

scientia potentia est
<Bronze Donator>
25,018
47,105
Man, this week I've been pumping out features like I'm some kind of savage animal. It's probably because my boss is on vacation and I'm allowed to "just work" and not get inundated with bug fix requests and other menial things. The downside is I'm now fielding a million emails a day as things are ramping up. I have one vendor telling me it's perfectly acceptable that during BIOS boot their driver takes 2 minutes to load. Doesn't even take a BIOS engineer to know that's just plain shitty.

Spent a long time yesterday trying to find out where this goddamn function was defined that I wanted to use. We have to manually link libraries, and we have 100's and no easy way to determine what's in each library. Finally after a couple hours I found a strange assembly code file with the function in it - wanted to slap my face for missing that. The shitty part is our IDE only pulls in certain project files (.c, .h, some other ones, but doesn't include assembly and some other key files we need to edit to add libraries). Just a pain in the ass, and we can't use any other IDE's.
There was a shitty informix 4gl project I worked on once like that. I had to actually find . -name *.4gl -exec grep function_name {} \; -print to find fucking functions that were defined. Fucking ludicrous!

And holy shit if you defined the same function in more than one library... I honestly don't even know what would happen. I think the thing would become self aware and kill people.
 

Deathwing

<Bronze Donator>
16,647
7,631
find | grep is a useful tool outside of searching for function definitions, so it's not a totally lost opportunity. Some build systems will absolutely not allow intelligent completing because the functions or libraries or modules or whatever simply don't exist until you compile it. I like some of the features in SCons, but it does make it a pain to understand the code base sometimes.
 

Noodleface

A Mod Real Quick
38,115
14,756
Unfortunately for me, I didn't even think about looking in assembly source files - this would be the first time I've found a function defined in assembly. Learning experience I guess.