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

Lendarios

Trump's Staff
<Gold Donor>
19,360
-17,424
I had a conversation with our product architect and I'm not sure how I should react to it. My apologies if this isn't the right thread.

We're looking for another software test engineer, someone whom I would manage. This is my first time sitting in on the technical question part of the interview. We asked him to implement %X, path elision, and some general questions regarding control flow graphs. I was fine with the first one, it's pretty simple and you can hang a lot of test-related questions on it. Path elision, well, I hadn't even heard of that outside of that scenario, so I had trouble with it myself. And I haven't touched control flow graphs since college. I'm not even sure I did that in college(computer engineering), maybe just bits and pieces I've picked up working here.

So, I'm getting kind of annoyed, why are we asking this guy questions that aren't directly relevant? If I did this stuff frequently, they would be familiar and easy to me. I want to see how he handles questions relating to testing and QA. After confirming with the product architect(he's not my superior, but pretty much is in a de facto manner) that these are the questions he wants asked, he tells me he wants a good programmer so that he doesn't have to edit the test system for us. He does this from time to time when the task at hand is large and complicated enough.

I'm pretty pissed at this point, but I argue that trying to fix this situation through hiring only is a flawed approach. Why not try to improve the skills of those already hired as well? He says we're overworked(which is true) so there's no time for that. It's like this pseudo catch 22: I want to get better because I'm tired of this prick making everyone feel bad(he's a huge fan of negative reinforcement) for not being as good as him, but there's no time to do that. I spend maybe 10% of my day coding.

He told me to go take some computer science classes. I dropped the matter at that point. I feel like he's pretty much evaluated my skills and isn't going to make any effort to invest in them.

I don't know how to frame this to my manager that would actually be productive(more time coding).

What do you want to do? Do you want to code more?
 

Deathwing

<Bronze Donator>
16,384
7,385
What do you want to do? Do you want to code more?
I always want to code more, that's the fun part of the job. But a job's a job, I understood the requirements when I took a managerial position. I may have written that from a personal standpoint but there are two other people on the QA team that he's insulting too. I want him to stop working on the test system too. All(within reason) test system coding should be done by QA. That doesn't have to mean me. I'm fine with it falling to the other people on the team.

But, not presenting the opportunities for your already-hired employees to learn, that I'm not ok with.

There's this unintentionally hilarious page on our internal wiki where sections of the codebase have their "experts" listed. Our product architect is 90%. He's pretty fucking good, I'm not going to deny that. He's not doing much to spread the knowledge, so to speak.
 

Lendarios

Trump's Staff
<Gold Donor>
19,360
-17,424
As a manager, maybe you should hire as many people as they let you. More people = more money for you.

Have your QA subordinates people express desire/skill on learning more coding?

Who makes the ultimate technical decision in hiring the Qa guy?
 

Khane

Got something right about marriage
19,826
13,341
Control flow graphs in a test engineer interview? Is he trying to hire an architect or a developer? This guy sounds like a typical technical prick who tries to lord his knowledge of the mundane and functionally useless over people to make himself seem smarter.

"We need someone who's going to get their head in the weeds and never be able to actually perform the tasks they were hired for!". Control flow graphs... hahaha.
 
  • 1Like
Reactions: 1 user

Deathwing

<Bronze Donator>
16,384
7,385
As a manager, maybe you should hire as many people as they let you. More people = more money for you.

Have your QA subordinates people express desire/skill on learning more coding?

Who makes the ultimate technical decision in hiring the Qa guy?
Definitely. One of them has said he wants to move to a developer position, multiple times.

The other one wants to learn. He's a bit slow, doesn't have much programming experience, but I'm still giving him appropriate opportunities when they come up.

The decision to hire is group wide. But if someone seriously poopoos the candidate during any stage of the process, it's hard to push past that.

If you mean the decision as to what TYPE of candidate to hire, I'm not 100% sure on that. Likely my manager with input from the product architect. I know I wasn't asked before the job req went out. And you can see what happened when I tried to give my feedback on the matter.
 

Deathwing

<Bronze Donator>
16,384
7,385
Control flow graphs in a test engineer interview? Is he trying to hire an architect or a developer? This guy sounds like a typical technical prick who tries to lord his knowledge of the mundane and functionally useless over people to make himself seem smarter.

"We need someone who's going to get their head in the weeds and never be able to actually perform the tasks they were hired for!". Control flow graphs... hahaha.
I'm of the mind that test engineers should be good developers too. Our test system is a mess for a variety of reasons, but mainly because QA is understaffed and we haven't been hiring people that are good developers. I'm trying to fix that.

To be fair, control flow graph theory does come up from time to time. We(and by we, I mean he) just redid our spider, implementing a Markov chain to improve coverage while reducing overall time. I'm not really sure you needed control flow graphs to get to the point he ended up, I mean, how could I, nobody in QA worked on that code. But I do know that's what he used.
 

Needless

Toe Sucker
9,169
3,268
yeah then you get carried away with it and it all becomes somewhat of a shitshow when you start destructuring into object keys which for random reasons are in brackets? My current react app has like 10 calls to a single function per page that I copy paste everywhere:

JavaScript:
updateState = (stateName, value) => {

    this.setState({[stateName], value})

}

Do you use Redux action/reducers at all? i've been just using that, seems a lot more efficient but this is entirely a learning process building this app for me. I'm not looking forward to making this app correlate with Xcode's restrictions, i haven't even looked into that at all yet, hnnngh.

Hell i cant even get the simulator to launch for android yet lol
 

Khane

Got something right about marriage
19,826
13,341
I'm of the mind that test engineers should be good developers too. Our test system is a mess for a variety of reasons, but mainly because QA is understaffed and we haven't been hiring people that are good developers. I'm trying to fix that.

To be fair, control flow graph theory does come up from time to time. We(and by we, I mean he) just redid our spider, implementing a Markov chain to improve coverage while reducing overall time. I'm not really sure you needed control flow graphs to get to the point he ended up, I mean, how could I, nobody in QA worked on that code. But I do know that's what he used.

You're going to have a hard time finding people who are good developers AND want to be QA. But the point I was making was that typically only an architect would concern themselves with control flow graphs. After they architect a solution they'd just go to the developers with deliverables. So asking control flow graph questions in a technical interview to a developer, any developer, seems pointless and self congratulating. In other words I was agreeing with you.
 

Deathwing

<Bronze Donator>
16,384
7,385
You're going to have a hard time finding people who are good developers AND want to be QA. But the point I was making was that typically only an architect would concern themselves with control flow graphs. After they architect a solution they'd just go to the developers with deliverables. So asking control flow graph questions in a technical interview to a developer, any developer, seems pointless and self congratulating.
I assumed that was your point, just wanted to be sure. And I do agree, we're having trouble finding people that just plain want to do QA. If you program your test system with enough complexity and automation, it can be quite the development task. That Markov chain I mentioned? That was a good 2-4 week task for a regular developer. The interesting programming work is there, if employers are smart enough to not just turn QA into a test review factory.
 

Khane

Got something right about marriage
19,826
13,341
Yea I don't doubt it but it just seems like a recipe for high turnover. They want to code but then realize their primary function is QA and get bored and want to move on to a full time developer position. QA is really tough to staff for. You either find people who are happy being purely QA staff but have limited technical knowledge, and so can't really create automated test cases, or you have people who are very technically savvy and get bored in a QA position.

We have similar issues here with having to hire system admins because of the ridiculous Sarbanes-Oxley requirements. A good admin is going to have to be technically savvy in many areas, but most people who are technical like that don't want to be an admin. I work with Microsoft BizTalk and our BizTalk admin has very limited technical expertise so I end up having to do screen shares with her constantly to troubleshoot anything beyond our integration environment because I am not allowed access to QA or Prod.

It's a sensible and reasonable desire to hire someone who can fulfill the job requirements without needing much help but it usually doesn't end up being a pragmatic approach to hiring.
 

ex-genj

Golden Squire
638
115
Do you use Redux action/reducers at all? i've been just using that, seems a lot more efficient but this is entirely a learning process building this app for me. I'm not looking forward to making this app correlate with Xcode's restrictions, i haven't even looked into that at all yet, hnnngh.

Hell i cant even get the simulator to launch for android yet lol

yeah redux is an industry standard at this point but I just do web not mobile/native. I mostly use it for ajax calls (redux saga). Personally not a huge fan of all the reducer/action nonsense.. its essentially pub/sub with extra steps. Strongly consider using react 16.3's context pattern instead or whenever abramov puts out "suspense" whatever that is.
 
  • 1Solidarity
Reactions: 1 user

Eidal

Molten Core Raider
2,001
213
So, some developmental duties have finally fallen on me.

I need to write a website or web based application that will query a database every X minutes, dynamically update corresponding data on a website, and re-order based on Y conditions.

I'm thinking PHP is going to be my go-to language for this.

Am I on the right track?

I researched something similar to this for a college project. I'd look into JS. What's cool about JS for this is that it easily lends itself to both front and backend work.

There are already tons of tutorials on how to do something like this. Tutorials will have you do something like this... Spin up an Amazon EC3 instance and an Amazon SQL instance. Log into the EC3, get node.js/express setup, point it at your database... boom. The front-end stuff will be harder than the back-end unless you have zero interest in how it looks.
 

ShakyJake

<Donor>
7,624
19,249
You're going to have a hard time finding people who are good developers AND want to be QA.

Yeah, we have this problem. Any good coder usually wants to be in development not QA. What we now have are several QA testers who wanted to be a developer but were brought in as QA because their programming skills and knowledge weren't up to snuff. But this has caused the test code to be a tangled, unintelligible mess as they try and write abstractions on top of abstractions in an attempt to not repeat themselves...
 

Deathwing

<Bronze Donator>
16,384
7,385
How much time are they given to develop their coding skills?

The lack of development time worries me. I'm scared I've sunk too much time into this position and I'm going to have to take a significant paycut to get into development formally.
 

Lendarios

Trump's Staff
<Gold Donor>
19,360
-17,424
The main thing you need from SQL 2017 is the SQL Engine and the SSMS,
SMSS= Sql Server Management Studio. That the the GUI that allows you to do queries, create tables and Databases.

SQL Engine is the actual windows process that runs the SQL database


After installing SSMS, connect to your local Computer and create a database.
 

Lendarios

Trump's Staff
<Gold Donor>
19,360
-17,424
Once you have your SMSS installed and ready to go, copy the database name somewhere, we will use that database.

Next step is in Visual studio. Open it and create a Blank Project. Here is the wizard screen

1524491628061.png


Second screen.
We have selected MVC and Web Api.
1524491767237.png
 
  • 1Like
Reactions: 1 user