skysight-inc/HackerNews huggingface dataset:
Typical compensation for seed-stage employee?
Hi,

I'm having a lot of trouble finding info on what's reasonable for a very early, seed-stage employee in terms of compensation.

The company is currently just starting to raise seed money (currently at <$100k), but has good prospects IMO. There is also no product or anything, just an idea and a rough prototype.

I am moderately accomplished in my field (non-technical with a master's degree), but have no startup experience. They're offering 10% (two co-founders each get 35%), and everyone would take $2k/mo in living expenses (founders included, <1/3 my current salary).

The founders haven't founded companies before but know their industry well, they're basically the ones who know what we're doing in terms of programming, marketing, fundraising - I'd be the "everything else" of the outfit and also help with the marketing/fundraising.

Because I'm being brought in so early, I'm having a lot of trouble figuring out what's normal. Am I being brought in in MUCH earlier than a normal employee, or only a little earlier?

I'd probably still even do it for the experience (good friends, good city), but I want to come in with eyes open.

Thanks!
Agile requires a bit of fudging around the edges, but it already admits that that is required (people > processes).

Yeah, YAGNI and its ilk may apply, but sometimes you -do know you're going to need it-. That story is in the pipeline, your users are demanding it; to design and code only to the current story, dismissing the design considerations that that future story would impose upon the current one, is shortsighted and self-defeating. You shouldn't be delivering -features- from that story yet, but by all means recognize that "Oh, we'll need a hook for that, and it would make sense for me to implement this with an event manager so we can add subscribers, and keep these decoupled, rather than just make a direct method invocation", etc, so you can easily tackle that future story when it comes up.

Oh, hey, the build and deploy process sucks, and that has no direct user value, and thus no story. Well, deal with it anyway; you -know- that is costing you time, and being able to rapidly iterate = faster development time = less cost = desirable to the user.

Etc.

Really, agile always seemed to me to be two different things. One was a series of processes. The other was a series of values (among which was people > processes). And a lot of the flack agile has taken recently has been due to people focusing on what happens when teams adhere rigidly to the processes, to the detriment of the values, when it should be the other way around.

EDIT: I've also seen teams that take the values as excuses to ignore the processes, which also fails hard. "People over processes? Okay, no process then, everyone just code! Get shit done!" The point is to take on the processes, modify them in accordance with the values as experience leads you. Something doesn't work for your team? Change it. As someone mentioned elsewhere on this thread, that's what retrospectives are for.
The speed difference between PS and cmd.exe is not nearly large enough to justify the incredible hoops you have to jump through to get anything reasonable done in batch. Yes it takes slightly longer to start up, but it has things like native arrays, hashmaps, foreach loops, etc built in to the language! Versus a spaghetti mess of gotos in batch.
Always brought my own plants wherever I work.
Apple Investigating Reports of iCloud Vulnerabilities
Deutschland uber Uber!
Reminds me of Hypercard. I can't think of many better compliments than that.

There's nothing you can do with Hypercard that you can't do in C, and there's lots of things that you can do in C that you can't do in Hypercard. But there's a lot of people who could manage Hypercard to do basic things who probably would never master C. That, I think, is the problem uilang is trying to solve.

There's also no reason why you can't use uilang to do simple things and roll your own code for more complex ones on the same page.

As an aside, back in GNOME 2 it took me perhaps half an hour's reading to get into UI themes and adapt existing ones to suit my preferences, even start designing my own. It was limited but fun to play with. Then comes GNOME 3 with all its fancy CSS and I just can't be bothered to hunt down how I can make a thicker border on the button with tab focus without the buttons jumping around a few pixels whenever I tab to the next one. Sometimes, less is more. (Long live MATE!)
I think that one problem has been with some people promoting TDD by saying to write "the simplest thing possible to get the unit test to pass".

I've seen "Uncle Bob" do his bowling game demo, without using the expected classes for Game, Frame, etc. It's an interesting exercise, but would be a horrible way to write any large-scale business application. However, some people walk away from that with the idea that they should write quick "hacky" code, instead of doing any thinking about design.

When I write a program, I use my [constantly-evolving] set of "best practices", based on what I've experienced when writing other applications. Writing a factory method for object instantiation is not "the simplest thing possible", but I've seen it come in very handy at times, so that's what I'm doing in my projects now.

After all, aren't retrospectives, and modifying your process based on what you've learned during your project, one of the huge points of Agile - even though I've rarely seen them done, let alone done well.
Hi I think they are legally able to do this from my understanding of EU law. It sucks especially if you have had to relocate for the job but you obviously were not enjoying working for them. It sounds as if the lead dev might be feeling overprotective of his own work and does not want to let go.

I am sure you will find another job easily enough as good devs are in demand. Hopefully at a place where you are valued and can contribute your skills
Now we wait and see how skilled they are at an apologising. (If true).
This seems to be implemented as an external DSL, with a brand new syntax and semantics. So my question is, why do that instead of implement it as an embedded DSL?

(Disclaimer: this is an honest question out of curiosity. I don't mean to imply that an embedded DSL is the right way, or that it's better -- but I do believe there's a tradeoff here and am interested in how that tradeoff factored in to the decision to implement this as a separate language.)
Awkward time to bring up iCloud as a potential SPOF for users' security. Apart from technical flaws in the service (and any cloud service is likely to have one eventually), cryptographer Matt Green (on his twitter feed) has pointed out that Apple chose some poor defaults, particularly the use of peoples' phone password as default for cloud storage. Quoth Matt, "Of course people pick terrible iCloud passwords. You can't enter a good password 50x per week on a mobile device. You'll go carpal." (In subsequent tweets, he acknowledges that password caching would help with this, but says he had to turn it off after his kids ran up a $200 bill.)

Of course, it's not clear that password brute-forcing was what led to the recent leaks of celebrity nude selfies, and not even complely clear that they came from iCloud (though a lot of clues point that way). But regardless, they do illustrate the risks of relying on cloud storage generally, regardless of who provides it.
This is much earlier than a normal employee. I'd say this is about right, although you should be considered a founding team member and not an employee.
I see. Cool. Thanks so much for you suggestions.
I don't think you understood my comment. SMS is not something "you have". You have your phone, the SMS is sent (presumably from namecheap, or from a third party service) through the network and arrives at your phone.

This means at any point between the sender and your phone anyone who has access can know what your "two factor" code is.

If you use true TOTP, i.e. Google Authenticator, then the code is generated via a secret key that lives on your phone, and nothing ever leaves your phone besides printing to screen and showing it to you when you need to log in.

Therefore, SMS "two factor" is not only costly and annoying, but ineffective.

Can I get my upvote back?
Or maybe just not a lot of savings.
Yep. I had the little pH tests and everything. For me, this diet is a path to the dark side of the Force.

I will also say that body odors change dramatically on this diet. Sweat, breath, etc. Ugh. Do not want.
From experience, not many, a few.

Worked with a good bunch of developers that didn't even know SOLID existed (but what do you expect when developers now a days have a 30 day bootcamp or read a Rails book and are able to get developer jobs?)
Hacking a ping pong table
It seems that given Andreas' move to join the startup - if his explanation is accurate and complete - the level of responsibility of the founders does increase. I've been a founder asking people to move before and I've always felt that it adds a significant extra responsibility. You need to be quite a lot more certain it'll be a good fit before asking someone to move to join your company.

In my mind "culture fit" is the responsibility of the founder. If you're recruiting someone, you need to make the call if they fit into your culture. You can't really blame the person you're recruiting for not fitting in. You can (and should) fire them if they're not a fit, but it's still your hiring mistake, and you need to take the responsibility for it.

If a mudslinging contest can somehow be avoided, it'll be great to have a response from the Unbabel founders. There are probably some good lessons for both coders and founders here.
GMOs are good
How about JsonML; i.e. XHTML but in JSON format to make it less verbose / further improve integration with javascript?
How Big Data Will Take the Role of the CIO to the Next Level
> It is completely legal for businesses to lie

To whom ? To its customers ? no , it's called fraud and it's illegal.Just because some companies get away with it doesnt make it legal. And contractual obligations dont have to be written black and white somewhere or you dont understand what a contract is.

> "Business" is just a common name for people (or just one person) doings things in exchange for money, it doesn't change who the people are. So why exactly the difference? Where does it come from?

You are playing with semantics.You wouldnt put this kind of stupid argument in a real world debate where people would actually know who are. You are stating an opinion not a fact. What people call Business is a legal entity.And legal means regulated by laws ,and laws are issued by states. You are probably right know typing on a computer that has, by law, to respect to power safety measures so you dont get an electrical shock that would kill you when you plug it.

> at least in countries where freedom of speech is respected

What does it have to do with anything ?
Learned this in my image/signal processing class at university.

Most of the terms are just fancy / specific ways of saying simple things. There are a few key concepts to learn, and then the rest is implementation and learning the vocabulary so you can discuss it unambiguously.
There is a 60 day period in which you can be let go without further notice ('trial period') so legally they are in the right, but morally, after letting you move from one country to another and without in any way assisting you in cushioning the blow they are jerks (assuming this one-sided view is the unvarnished truth).

But better that you are out of there now than a year down the line, if they are like this then that saved you a bunch of time and a lot more hardship.
> Evading that judgment by trickery (especially when that can involve tricking the employee) is something very different

Yes, agreed.

My point was that if it's a wide-spread issue, as the article claims, then employees engaging in those activities probably knew what was expected of them beforehand, and still went ahead with it.

If on the other hand it indeed is "trickery", then it's not a wide-spread issue (since tricking people relies on the practice being uncommon enough to not be anticipated), and is thus something that can be sensibly dealt with in courts on a case-by-case basis.
I worked for 6 years in a company which makes online (gambling) games. I can tell you that anyone who even thinks of using Collections.shuffle() for shuffling cards in production code is an amateur.
Sarcasm? I can't tell anymore :/

I love it when my code doesn't compile (i.e. if I've made a mistake). Much worse if when something tries to be "intelligent" and makes my code do something I never asked for - then I spend hours trying to figure out what the issue is (assuming I've noticed) rather than seeing that I made a mistake and fixing it.
"What's great about AQS is that, with the help of bunnie, they have started working closely with startups and other projects that previously would have had a very hard time finding a partner in China because of the small volume"

So I guess that is the secret to getting AQS to respond to your request for an assembly quote.
Slick! I actually have my own version of a django skeleton project that helps me build new sites and apps faster. I love Django, but 0-60 speed with the vanilla framework is gotta be somewhere around an hour or two. Having a project skeleton or bootstrap project is a must if you build out sites often.

The one thing I'll recommend to Bud is the integration of django-configurations so that you can keep your app consistent with http://12factor.net

Other than that, this is a brilliant setup.
> I've been a founder asking people to move before and I've always felt that it adds a significant extra responsibility.

Exactly. If you ask people to do things outside the normal employment environment then you are partly responsible to make them whole if thing do not work out.

And if you can't do that then don't get people to move halfway across the continent for you, especially not without doing more work to see if there is a good fit or not.
I kind of miss BASIC. One of the good things in those days was that printing a few lines or drawing a graph was about the limits of what the computer could do so it seemed cool. You can now run BASIC in a javascript interpreter in your browser (http://www.calormen.com/jsbasic/) but it's not cool anymore. I'd guess the nearest equivalent of something simple to learn that you can impress your mates with these days would be javascript - then you can make apps, funny effects on webpages and BASIC interpreters if you get good at it.
List of 15 Features to Expect in iPhone 6
The Nomad Cook Makes Venezuelan Arepas
I believe this was done as part of the unification of JavaSE and JavaME VMs. AFAIK saving three instance variables per String instance is a big deal on JavaME.

ByteBuffer and CharBuffer are a way of doing array slicing. CharBuffer even implements Appendable and CharSequence so it's half way polymorphic with String.

I sometimes whish there would be multiple String classes tailored for specific purposes like there are Collection classes. Especially a String class for ASCII strings that uses only eight bytes per character.
The Fappening
> there's still a lesson in it for every startup founder - developers are necessary and important to your success so being nice (especially if the relationship isn't going well) is a Good Idea.

If a founder is only being nice to someone because it's a good idea and in their interest, they are an asshole. It's not a lesson you should need to teach anyone.
I feel for you too. It wasn't a startup and the job was local, but I took a salary drop and swapped a cosy-but-unrewarding role with a global corporate to join a 40-strong SaaS development company that wanted someone to come in and sort out their internal and customer support infrastructure - they had no strategy, procedures or hierarchy and were constantly firefighting - shuffling resources between projects according to which customer complained the loudest.

It became clear very quickly that the two founders who brought me in wouldn't embrace any change that didn't come from them, and they had a total fear of empowering anyone else to make executive decisions - even about their own team members; I constantly found my guys being assigned to firefighting for other teams without my knowledge, so workload planning and scheduling knowledge sharing periods was impossible - we had information silos all over the place and if someone went on vacation they would often be called or emailed frequently because they were the only ones who knew about a specific part of a project or system. I wasn't allowed to attend support review meetings with the customers - the Directors went alone and told me what had been agreed, and they constantly dealt directly with one of my guys (the company 'guru'), assigning him work and making it impossible for me to grab his time so he could share his skills with the rest of the team - I highlighted it as a serious business risk that this guy was the only person who knew some of the tricks with some of our internal and customer infrastructures, and that he wasn't encouraged to document or share his knowledge, but they dismissed my concerns.

When we had that Friday afternoon talk after 9 months of trying to bring in some best practices and semblance of organisation, I left the office for the last time with a sense of great relief that I was out of the clusterfuck.

It only took me a few weeks to find a much better role and I hope things work out for you too.

Edit: Looking back at what I wrote, it might be that the OPs circumstances just offered the opportunity for a bit of a personal rant, which was not the intention. My main point was based on the fact (not explained at all by me in my post) that when I met the two Directors (twice), prior to joining, the setup and opportunity for me looked very positive, and I was convinced I was going to be empowered to fulfil the role. Things turned out very differently, and I clearly did not fit in with the company culture the founders wanted to both leave and stick with simultaneously (it was their comfort zone, and although they knew is was not the best was to run a business, they ultimately couldn't leave it). Moral: Shit happens, despite due dilligence, but that doesn't make it right.
> We once maintained a hashmap with key and value as the instance of string

No love for hashset?
My first thought was to dump the rectangles into an interval tree. Also O(n log n), but less space efficient since it always requires O(n) space regardless of the structure of the problem.
It's doing 4km/h with 14 cm legs. If that scales linearly to human size legs, say 100 cm, it'll be doing 28 km/h.

For comparison, Usain Bolt can sprint at ~45 km/h for 10 seconds, and pro marathoners struggle to hit 20 km/h sustained.
Open-source pooled crypto-coin mining server software
Since when disruption means disrespecting the law ? If your business is illegal it's going to get shut down,wether you are in Europe or USA. Or why dont you make an app that sales crack cocaine and sees what happens in USA ?

After all,there is a demand for that,there should be an app for that /s .

> Careful now. It's daytime in Europe, so the more Laisser faire (US-free-market-style) arguments have a higher change of getting down voted.

And please,stop hating on Europeans, your bigotry is showing.
Or maybe he wants his story to sound more dramatic

>So here I am, back where I started with barely enough money to eat.

Come on, you're 37 years old Java professional from Sweden (which is not Nigeria or something). Even unemployed people there get more money which I used to make being programmer.

> When I informed my landlord that I wouldn't be able to stay as long as planned she kicked me out of the apartment

What, she kicked you even before your paid period? Obviously you're loosing your deposit but she is not supposed to kick you out.

This story made to sound dramatic, but in reality, I believe, he just wants unbabel's managers to follow contract rules.

Unbabel is wrong, but it's not a reason to say you're starving and it's their fault. You're a grown up man, be responsible for your life.
Thanks for submitting this. I went to do it myself and was surprised to see it already there!
When I was a few years out of school I went to my second job and inherited a huge code base with 4000 line java files, no tests, no one who worked on the code still around, etc, at a big non-tech company. I was young and stupid to think I was a bad programmer that I couldn't fix it all in a few weeks by myself.

I know it's in the past now, but try to avoid situations like this. If you can't, talk to your boss about what can reasonably be done in what time frame. Now I would try to figure out which parts can realistically be refactored and which can be isolated and rewritten iteratively make things better. I wouldn't take on new features unless I was confident I could deliver with spaghetti around.
Luckily thats only like 1% of jobs, even if all interviews are oriented toward assuming all jobs are like that. This is like the problem where distinct classes of applicants "A level" "B level" etc can be designated and have peculiar hiring techniques for their level, so logically ALL employers see themselves as an "A level employer" even if they're probably B or C or worse, and get all confused at the outcome when a "C level" employer tries to implement "A level" employee hiring practices.

Another unrelated problem is there is a legit observation that the most interesting jobs involve very interesting business logic and/or unusual situations. I'd much rather be programming a bubble sort on a mars rover at NASA than writing (from scratch of course?) quicksort at a corporate crud app house, despite in theory the crud app being more "elite" of an algo.

You'd be surprised how much embedded / life critical stuff is brutally brute force, and is also pretty fascinating work. Implementing a beautiful recursive algo for robot arm movement is cool, until a stack overflow kills an employee. Then its not so cool compared to brute forcing it where the employee would have lived. I heard about that one although I wasn't involved directly. (and this is bordering on hearsay so I have nothing further to say wrt that specific death)
This is such a key point that so many people are missing by getting caught up in "Europeean regulation = anti-innnovation" clichés. The German laws requiring adequate insurance and inspections are mostly reasonable consumer-protection regulations, and not nearly as protectionist as the taxi regulation in many US cities. It's actually a much more open and free market than in cities where Uber has had most of its success.

It's rare that one can't flag down a taxi on a busy street within a couple of minutes in Berlin, and they are almost without exception clean modern cars with courteous drivers. The MyTaxi app has already brought regular Berlin taxis up to par with Uber for the smartphone-inclined. https://de.mytaxi.com/
That was my impression too...

>>> You can calculate the derivative, or rate of change, of a function f by doing

>>> (f(x+ε) - f(x)) / ε

>>> and then at the end throwing out terms involving ε.

... is exactly how the derivative was defined in both high school and college calc, except that the last bit was formalized by taking a limit.

Now, the concept of a limit was presented rather informally in high school, then with progressively more rigor in college calculus, and ultimately in real analysis. This approach got most of the STEM students through calculus in a finite time, but meant that only the math majors got to do calculus at a deeper level. And grad school, well, I went into physics instead. Every math course skips the nasty bits that get re-visited at a higher level later. Maybe that's just how math is.

My understanding of infinities and infinitesimals is that they are "not numbers," but are essentially a short hand notation for the processes involved in taking limits. And limits are based on sets. Granted, there may be other ways to understand the same stuff.