Open Side Menu Go to the Top
Register
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** ** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

12-05-2018 , 02:23 PM
Thats pretty much my job on this team, they hired me a year ago to make their product in React from Angular 1 and also teach the current UI devs React and ES6 so uh they just do what I say because they don't know better. Suckers.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-05-2018 , 02:24 PM
Quote:
Originally Posted by Grue
This is probably my UI role shining through, all I'm saying is when we have a "bigger" thing to do I'll talk it through with my team and we'll just do it the way it probably should be done without someone saying "oh no we should do it Foo way" and someone else adamant about about doing it Bar way. Never had those kinds of arguments.
I rarely see people "adamant" about doing it Bar way. But I also actively avoid working with people like that.

I'd say its fairly often that there's a thing, someone suggest Foo way, someone else offers Bar way with trade offs, and then a decision is made - generally pretty amicably.

Maybe its my lack of UI role, but it seems strange that you rarely encounter issues with multiple competing trade offs.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-05-2018 , 03:32 PM
My attitude is that 99% of software sucks so if you are gonna refuse to consider alternatives to how you are designing something you are surely a moron.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-05-2018 , 03:50 PM
I saw an argument over exception handling that almost came to blows.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-05-2018 , 07:17 PM
I've really been taking for granted the fact that I work with adults.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-05-2018 , 07:22 PM
Quote:
Originally Posted by iversonian
I've really been taking for granted the fact that I work with adults.
inorite
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-05-2018 , 07:50 PM
Quote:
Originally Posted by goofyballer
After getting home, had a call w/ a recruiter from the other (not Desirable Bay Area Megaco, but the other place I interviewed) company whose interview I passed with offer details. This offer came from them unprompted, in the sense that I never told them current or desired salary info, so I still have room to negotiate from here. Pretty happy with the details for an opening round:

Base: same as I currently make (which, again, I did not disclose to them)
Bonus: 50k/yr if performance review is satisfactory (current employer: does not give bonuses)
RSU: 200k, typical 4 year vest

The one downside: company is private. I think they are more viable and more likely to have some sort of liquidity event compared to my current employer, so the RSU doesn't feel as much like paper money as my current stock options do. And it's 50k more than I currently make in cash alone, so that's sweet. And once I have an offer from DBAM (still going through team matching) I'll have even more leverage to negotiate.
Quoting above for comparison. Update: got DBAM offer details, finally. It is...on the low side! And obviously I can negotiate it up a bit, but there's a large gap to be made up that has me nervous.

Base: current salary minus 60k
Bonus: 20k/yr (base; could be as high as 40k if I kick ass but I have no visibility into how easy or hard that is)
RSU: 140k, typical vest

RSU is public stock in this case, but all in all, that still means...
- ILPS: total comp is current salary + 50k cash + 50k private stock
- DBAM: total comp is current salary minus 5k

I mean, yikes.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-05-2018 , 08:16 PM
Wow. Do you have numbers on DBAM? Is it a levelling issue (as in they’re viewing you as more junior than the other places)?

Maybe a first response (assuming it’s not something like a level issue) is that they’re way below another offer you received and that even though you’re really interested they’re just not competitive at all.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-05-2018 , 08:50 PM
Quote:
Originally Posted by goofyballer
Quoting above for comparison. Update: got DBAM offer details, finally. It is...on the low side! And obviously I can negotiate it up a bit, but there's a large gap to be made up that has me nervous.

Base: current salary minus 60k
Bonus: 20k/yr (base; could be as high as 40k if I kick ass but I have no visibility into how easy or hard that is)
RSU: 140k, typical vest

RSU is public stock in this case, but all in all, that still means...
- ILPS: total comp is current salary + 50k cash + 50k private stock
- DBAM: total comp is current salary minus 5k

I mean, yikes.
That is rather disappointing, but sure seems to make your decision easier!
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-05-2018 , 09:03 PM
Ask your recruiter what gives?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-05-2018 , 10:33 PM
Recruiters always overstate. Numbers don't mean anything until they come from horse's mouth.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-05-2018 , 10:41 PM
Quote:
Originally Posted by goofyballer
Quoting above for comparison. Update: got DBAM offer details, finally. It is...on the low side! And obviously I can negotiate it up a bit, but there's a large gap to be made up that has me nervous.

Base: current salary minus 60k
Bonus: 20k/yr (base; could be as high as 40k if I kick ass but I have no visibility into how easy or hard that is)
RSU: 140k, typical vest

RSU is public stock in this case, but all in all, that still means...
- ILPS: total comp is current salary + 50k cash + 50k private stock
- DBAM: total comp is current salary minus 5k

I mean, yikes.
Cmon man this isn’t a hard decision at all. Congrats btw!
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-05-2018 , 11:02 PM
Looking on levels.fyi, unless people are lying, it's definitely possible to get a ILPS-sized offer at DBAM (filtering for people with 0 years at the company, so I'm not comparing myself with people who have a couple years of additional stock grants added on). Obviously it's not a hard decision as it stands, but I'd like to negotiate both of these up. If DBAM doesn't budge, oh well.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-05-2018 , 11:21 PM
I don't have any experience, but I've heard that most of the DBAMs will at the very least match another offer you received.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-06-2018 , 02:11 AM
Goofy I offer you $1M a year, but you owe me $100k of your DBAM salary if you don't take it. Deal?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-06-2018 , 02:21 AM
This is kind of speculative for someone who is interested and kind of for fun and education, but I think I'm going to do something with getting info from and controlling various internet of thingy things. Home Assistant is an open-source python platform for doing this and has integration for loads of things like Rainbird sprinklers, Ring doorbells, security cameras etc.. Looking at something like that.

Anyone have any thoughts/experience with such things and have an opinion? Waste of time? Something off the shelf already does this? Pain in the ass? Sounds awesome?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-06-2018 , 02:59 AM
This is node.

You have one file called pdftester.js that starts out like this:

Code:
const pdf = require("./app.js");

var foo = require("foo-api")({ key:process.env.FOO_KEY });
foo.customer = require("./test/mockCustomer.js");
pdf.setFoo(foo);
and the app.js file starts like this:

Code:
const fs = require('fs');
const PDFDocument = require('pdfkit');
const https = require('https');
require('dotenv').config();
const request = require('request');

var foo = require("foo-api")({ key:process.env.FOO_KEY });
function setFoo(fooObj) {
  foo = fooObj;
}
and ends with

Code:
module.exports = {
  generatePDF: generatePDF,
  setFoo: setFoo
}
in between is some stuff that generates a pdf and includes the generatePDF function.

The foo object itself is a big thing with lots of functions and some data.

What does the setFoo function in app.js do? Why would it be necessary?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-06-2018 , 03:18 AM
Quote:
Originally Posted by KatoKrazy
He seems to lack ambition as well as street smarts. Probably not a good career move to just flat refuse to do something that a higher level person wants done without extremely concrete reasons, especially if you aren't a superstar on the fast track.
Agreed. He doesn't do a good job of handling things at all. Our manager decided to go with his approach simply because it is the quickest path to getting things done. But it doesn't take away from the fact that I think the senior engineer is very difficult to work with.

Both the senior software engineer and staff software engineer have communication problems, so when they work together on something it becomes a **** show.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-06-2018 , 10:49 AM
javascript/typescript question.

I have a generic type that I created. (I didnt create it, it was already there but whatever).

Anyway, I want to check if a field is of that generic type. apparently typeof only works with strings, booleans and some other stuff instanceof doesnt work either.

Is this impossible and I need to convert this to an enum? I dont want to change it in like 8 files.

heres what I have in one file.

export type myType = 'oneString' | 'anotherString'

then in another file I have a field that is of that type. I need to check and make sure that field is of that type before I do something. ya I know with type checking the field should obv only ever have those values if its given the type, but we need to check it anyway.

myMethod(someObject):someReturn{

if(someObject.myField is of type myType){
doSomething
} else {
doSomethingElse
}

}
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-06-2018 , 11:23 AM
Quote:
Originally Posted by microbet
What does the setFoo function in app.js do? Why would it be necessary?
Depends on what you're doing with pdf after that call.

Quote:
Originally Posted by Victor
Anyway, I want to check if a field is of that generic type. apparently typeof only works with strings, booleans and some other stuff instanceof doesnt work either.
In vanilla js typeof will work for all types other than null array and object. Array.isArray is basically "typeof array". Typically you can get away with process of elimination for objects.

The real question is why are you calling methods with variables you already don't know the type of?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-06-2018 , 12:32 PM
what's dbam?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-06-2018 , 12:43 PM
"Desirable Bay Area Megaco"

I don't know which one though if that's what you were asking.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-06-2018 , 12:53 PM
Victor: If you create a type alias that's just 'one string' | 'another string', then the value of a variable set to that type is just going to be a string. Type aliases don't create any actual javascript code, they just tell the typescript compiler what you should be allowed to set. There is no instanceof or typeof because no actual code is generated in relation to the type alias.

But if you know it's either string a or string b at runtime you can just check for either:

if (myvar === 'string one' || myvar === 'string two') ...

(See type aliases and string literal types here: https://www.typescriptlang.org/docs/...ced-types.html)
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-06-2018 , 12:58 PM
Quote:
Originally Posted by Grue
Depends on what you're doing with pdf after that call.
If I mean at kind of a low level, like "creating a new object with the same name" or "pointing this name to the same object" does it really depend on what happens after?

But, looking further I see something that it must have to do with enabling. In the pdftester.js bit shown there is that foo.customer which is getting data from a local file. There's no access to that in the app.js file other than through the foo object. So, it's somehow making that available.

As for what happens, pdftester.js also call the pdfGenerator function in the app.js file. app.js creates a pdf and saves it to the file system. It uses info from calls to the foo-api as well as from that customer data in doing that. I wrote these files originally, but someone I'm working with took the customer info out of the app file and added the setFoo function. Yes, I can just ask him about it, but I'd rather be an idiot here than there.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
12-06-2018 , 01:12 PM
Quote:
Originally Posted by jjshabado
"Desirable Bay Area Megaco"

I don't know which one though if that's what you were asking.
Thanks, no I just didn't get the acronym.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote

      
m