Open Side Menu Go to the Top

10-05-2016 , 12:47 PM
Fun situation at the startup:
  1. French developer who is supposedly great at POCs, but kind of useless otherwise has had a nervous breakdown or something and left.
  2. Me an another guy are now charged with converting his server and client side code to the new swagger format and new front end.
  3. Code is pure spaghetti. A lot of it is just copy paste from github - no idea what's needed and what isn't.
  4. There is no documentation. The code was basically dictated from the CTO to the French guy.
  5. There is no testing.
  6. CTO insists that we port over all functionality because he doesn't want to go through that again and we will need it eventually - even though requirements change massively every time we talk to the lead investor.
  7. CTO doesn't remember what the functionality is, just knows we need to port it all.
  8. Most of this functionality won't even be used in our first "Friends and Family" (= investor show pony) release.

So the code is a very dark grey box, and we don't even know how to test it because we don't know what it's supposed to do. FUN!

Apparently the French guy would just POC one thing, get it working enough to show, then move on - no regard for if anything still worked. And terrible code - no modularity.

A few weeks ago I was tasked with pulling the oAuth code out of his massive app. It's literally just a cut and paste of this - comments and all. I have no idea how to test it within his server, or if it even works. After beating my head against the wall for a week, I finally told the CTO this is ridiculous and we came up with a new plan that didn't involve the existing code at all. I suspect we're going to have to start from scratch on the rest as well. CTO needs an intervention.

Last edited by suzzer99; 10-05-2016 at 12:54 PM.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **
$25m Guaranteed WPM on CoinPoker
Join the action now
Daily Rewards • Splash Pots • CoinRaces
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **
10-05-2016 , 12:58 PM
lol. I would tell them to **** off until they have actual requirements for what they need. And why is oauth critical for a POC/alpha?
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-05-2016 , 01:35 PM
It's not. It will be eventually. This was before we had UI/UX so we were kind of in a holding pattern. Which is another fun story. Some dude who had worked for Microsoft and everyone was convinced is a genius was basically spending all his time with the lead investor (who is very bad at articulating his vision and changes his mind a lot) then supposedly going to go off in a cave and produce a fully functional react-based front end.

SHOCKER - that didn't happen. That dude is now gone and we're basically starting the front end from scratch. Basically the lead investor needs the following process: 1) listen to everything he says, 2) browbeat him into simplifying and removing most of it for Alpha, 3) just build something/anything, 4) let him make concrete suggestions about what he should change.

We're in between 2) and 3) right now. But our project manager keeps asking him open-ended questions that re-open all kinds of complication we already negotiated away. It's driving me nuts. Basically if you ask him to choose between A and B, he'll choose C every time. Then change his mind the next time you ask him. You need to show him A, say this is what we're building. Then if he has a very specific change, try to accommodate him.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-05-2016 , 01:37 PM
On a side note:



HOW IN THE HELL CAN CHROME SPELLCHECK AUTO-SUGGEST BE THIS BAD??? WKJ@#(&QCKN#WI$YU

They have to be trying to make it suck for some reason. I can't imagine what that is, but it's the only thing that makes sense.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-05-2016 , 02:02 PM
I'm totally with you on the chrome spellcheck, **** it is bad.

This company unfortunately sounds like a total joke.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-05-2016 , 02:17 PM
Yeah they definitely have some issues. The positives are I think the product is a good, simple idea that has a chance, the lead investor has supposedly sold 5 companies already, the CEO seems very connected in Sili Valley, and there are some good developers. Well now we're down to one dev that I didn't bring in - lol. But I really like the swagger->API auto-generation thing he came up with. He's very solid. The CTO on the other hand is starting to drive me crazy. I think the CEO and lead investor aren't very happy with him either.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-05-2016 , 03:02 PM
If you have brought in all the developers and don't like the CTO and neither do the CEO and lead investor...

If he has sold 5 companies already then that trumps everything else. It probably shouldn't be that way, but there is so much "larger fool" stuff going on in tech that just having a history of other people being willing to buy your stuff makes it tremendously more valuable and likely to sell without super strong metrics.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-05-2016 , 03:12 PM
The problem is the CTO knows everything about how the back end is put together and all the complex cryptography (there are multiple stages of de-encryption involving multiple actors). We'd be completely lost without him.

I just can't fathom though how he could have someone build the primary microservice w/o any documentation. I think maybe he's never lead a major project before. Or he just got lucky and his developers never churned.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-05-2016 , 03:17 PM
Maybe you could just privately bring up some concerns to the CEO re:French dude leaving and the nature of not having documentation, and that if the CTO were to ever leave that the same issue would be orders of magnitude worse.

From the little I have seen with multiple layers of encryption and dealing with endpoints that terminate and de-encrypt and re-encrypt things it is super technical and complex so yea I think he is probably irreplaceable atm for you.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-05-2016 , 03:18 PM
Quote:
Originally Posted by Larry Legend
Generally you don't want to threaten to leave in order to get a raise.
Yeah. I've always figured this a was a countdown to them finding a replacement for you. On a similar note I will not accept counter-offers from my current job when I tell them I'm leaving.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-05-2016 , 04:32 PM
We were paying an ex-intern like $60k. He found another job and said he was leaving, they countered with over $100k. I can see an exception there.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-05-2016 , 04:33 PM
Quote:
Originally Posted by Larry Legend
Maybe you could just privately bring up some concerns to the CEO re:French dude leaving and the nature of not having documentation, and that if the CTO were to ever leave that the same issue would be orders of magnitude worse.

From the little I have seen with multiple layers of encryption and dealing with endpoints that terminate and de-encrypt and re-encrypt things it is super technical and complex so yea I think he is probably irreplaceable atm for you.
The CEO is already aware of the CTO and I think pretty annoyed with him. I don't want to go nuclear of complaining to the CEO about it unless there's no other option.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-05-2016 , 04:46 PM
Quote:
Originally Posted by suzzer99
We were paying an ex-intern like $60k. He found another job and said he was leaving, they countered with over $100k. I can see an exception there.
Management was probably baffled that he left too and ended up having to pay his replacement (who may or may not even be as good) even more, when they could have just been paying him what he was worth all along.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-05-2016 , 04:48 PM
My dad was working at Oracle and a recruiter contacted him about a role at a client of Oracle's who wanted to hire someone full time to manage this Oracle product for them.

He told his boss the offer they made and Oracle matched it, so he stayed.

They had been stingy with raises and bonuses so that was what drove him to be interested, but again, the recruiter contacted him, he wasn't actively looking. He had been with this product for 10+ years so it wasn't like they were imminently worried about him leaving if he accepted the counter.

I think in cases like this it makes sense for both sides, basically as leverage for your boss to go and fight against HR/ his boss to get you a raise and not lose a productive member of his team at MegaCo.

Outside of that though, it generally isn't going to be ending well.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-05-2016 , 04:49 PM
Quote:
Originally Posted by KatoKrazy
Management was probably baffled that he left too and ended up having to pay his replacement (who may or may not even be as good) even more, when they could have just been paying him what he was worth all along.
He stayed. Good thing for him too probably as that other company (Azubu - Twitch wannabe) is now dead.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-05-2016 , 06:27 PM
Quote:
Originally Posted by suzzer99
The problem is the CTO knows everything about how the back end is put together and all the complex cryptography (there are multiple stages of de-encryption involving multiple actors). We'd be completely lost without him.
rolling your own crypto are we?

skepticalhippo.jpg
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-05-2016 , 07:20 PM
Quote:
Originally Posted by Grue
lol. I would tell them to **** off until they have actual requirements for what they need. And why is oauth critical for a POC/alpha?
If I am billing time and materials I am definitely NOT doing this. Bring it on! FUBAR situations can be very lucrative.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-05-2016 , 07:22 PM
I have kind of an interesting anecdote/thought about SQL that I just wrestled with most of the afternoon.

tl;dr - Your first impulse with SQL is probably wrong (but you should probably try it anyway)

I had 2 tables, something like
Code:
create table outer (
   outer_id integer primary key,
  thing varchar(100)
  unique index(thing)
)

create table inner (
  inner_id integer primary key,
  outer_id integer references outer(outer_id)
  thing2 varchar(100)
 unique index(outer_id, thing2)
)
So the basic idea is, you can only have 1 row for each "thing" in the outer table. Each row in the inner table references a row in the outter table, and you can have just one row per outer_id+thing2. It doesn't really matter what they are but think of it like may outter is a list of animals and inner is a list of body parts or something like that.

I have a bunch of pairs like
('thisthing1', 'thisthing2)
and I need to put them all into these 2 tables as is appropriate.

My first thought, which I assumed would suck (but which I did anyway because it might be good enough and it was easy) was, to step through each thing I wanted to insert and say

1. do I already have an entry in outer? If so, id = that entry, else, insert entry and get id from that
2. insert into inner using this id, ignoring/throwing away any duplicates

This sucked. So I tried changing it so that I replaced 2 with
2. do we already have this entry in inner? If so, skip, else insert

This really sucked, even worse.

So finally I decided to do something like this

1. do a bulk select from my outter tablethat gets me all the entries from the database where thing1 is from my big list.
2. do a bulk insert of any of these that aren't in my list
3. do #1 again (because I need to get the IDs of all the inserted rows)
4. do a bulk select from my inner table similar to #1
5. do a bulk insert of anything that's missing

This is from memory but that's the basic idea. The code is longer, it's somewhat harder to read and understand.

It's 100x faster, too.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-05-2016 , 07:24 PM
(I should note that theoretically there is no upper bound to the size of my input list, but in practial terms its never more than about 5000 elements and if it's big enough to really break something, then something upstream is already probably broken)
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-05-2016 , 07:28 PM
Quote:
Originally Posted by Prickly Pear
rolling your own crypto are we?

skepticalhippo.jpg
I feel like this is an area of expertise of the CTO. But then again I don't know crap about crypto.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-05-2016 , 07:31 PM
Quote:
Originally Posted by adios
If I am billing time and materials I am definitely NOT doing this. Bring it on! FUBAR situations can be very lucrative.
I'm on salary now. I get 80% of the full negotiated salary. Until/unless I quit my day job, then I get 100%. So I want as little chaos as possible. Also FUBAR stuff is very stressful to me no matter how much I'm making.

Also got 160k "founder's shares" which vest at 40k per year. BIG NUMBERS! In theory with a normal Series-A and then they sell the company for a rough target of $100M, I get $2M. Yes I realize the odds of this happening are miniscule. But it's kind of fun anyway. The salary was good enough that I would have taken it w/o any shares.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-05-2016 , 07:32 PM
Good news btw. The CEO and lead investor overruled the CTO and told us to just build what we need for the Alpha release, and throw away any other crap we can't figure out. Stress level dropping...
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-05-2016 , 07:34 PM
Quote:
Originally Posted by suzzer99
I feel like this is an area of expertise of the CTO. But then again I don't know crap about crypto.
Other than rolling your own crypto (or really any elaborate custom code that takes significant effort except for integrating mostly existing solutions) being bad, security is also really not something you should worry much about in the early days of a startup. With that said, getting good experience is probably more important than the result here.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-05-2016 , 07:35 PM
It's a fun thought but I would like to mention that I have something like 200k shares of a company that despite being around for like 16 years are still worth nothing. I have some number I don't even remember of a company that went out of business, and then was sold right after to Washington Mutual -I got nothing. I didn't really contest it at the time but I think I got ****ed out of some money there.

If offered I will take shares, but I won't take them in lieu of salary. Not unless the salary part was already high enough anyway. Like if I was making enough to live like I do now, and they said "do you want 10k more or a boatload of shares" I might go for the shares. Just kinda depends.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
10-05-2016 , 08:14 PM
Quote:
Originally Posted by suzzer99
He stayed. Good thing for him too probably as that other company (Azubu - Twitch wannabe) is now dead.
That was a real company? Weird. They (Azubu) used to sponsor a StarCraft 2 team and I forget the details but they seemed kinda shadowy and it was never clear where the money came from. Someone wrote a long post on TeamLiquid (SC2 news/community site) digging into them and coming up with a whole lot of weirdness, like, apparently they were supposed to be a German company but everything came up as Korean.

Anyway, that name was a blast from the past for me.
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD ** Quote
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **
$25m Guaranteed WPM on CoinPoker
Join the action now
Daily Rewards • Splash Pots • CoinRaces
** UnhandledExceptionEventHandler :: OFFICIAL LC / CHATTER THREAD **

      
m