Working for an American startup

I'm not sure if this is the correct board to ask

tl;dr I'm about to receive two different job offers, what do I need to consider when making a choice?

So, about me first:
- PhD student
- Contract runs out in end of Sept.
- Dissertation will not be finished, but I hope that I will be able to write a dissertation in my spare time and be entirely done around newyear.

First job offer:
- Company I have worked in collaboration with during my PhD (I know all the people and their technology in and out)
- I know exactly what I will be doing the next year
- Decent pay compared to other dev jobs in my region, but not in the top
- Live in socialist scandinavia, so bunch of benefits (paid mobile, paid internet at home, five weeks vacation, full health coverage + additional insurances)
- No stock options and the bonus is divided equally among all employees, no exceptions.
- Bosses are kind of old fashined, so no conferences or travel for engineers, have to convince them to migrate to git rather than SVN, test coverage is shit, etc
- Solid tech, but old fashioned and a niche market
- Can negotiate time for completing my PhD for sure

Second job offer:
- American early start up
- All devs work remote at the moment (which is not good)
- They do want me to work remote first and relocate after a while, paid relocation and visa
- Potentially significantly higher salary than I will ever receive in my own country
- Stock options, American "full health coverage" (which I guess is insurance, but worse than I get here), American vacation (two weeks?)
- Work with cool stuff, but I obviously don't know a lot about it
- Will work with cool stuff, but I don't know what is expected of me
- Unsure how much work I will need to put in and if I find time to complete PhD at all
- They found my code on github and CV on linkedin, but they haven't asked for any references or anything, and I don't think I did very well on their interview programming challenge, but they still want to hire me.

Attached: 2spooky.gif (500x269, 1.38M)

Other urls found in this thread:

quora.com/Why-do-so-many-startups-fail?redirected_qid=3064254
quora.com/How-do-you-make-programmers-work-60-80-hours-per-week
twitter.com/NSFWRedditImage

Shameless self-bump.

>five weeks vacation
what is this

Scandinavian law.

FUCK YOU AND YOUR TUBED FOOD

Attached: 36968627181_ebd5435776_k-727x485[1].jpg (727x485, 34K)

>FUCK YOU
;_;


>AND YOUR TUBED FOOD
W-what?

i heard that all of your food ingredients that are commonly canned or jarred in other places come in what are basically toothpaste tubes.

like this

Attached: tube-food-16[1].gif (500x220, 58K)

>, have to convince them to migrate to git rather than SVN,
Now why the fuck would you do that?

Git isn't a solve-it-all tool. Git is completely and utterly unsuitable for many organizations. If we had some fresh graduate straight from uni telling us what tools to use I'd be pissed.

>Can negotiate time for completing my PhD for sure

You didn't specify which Scandinavian country but in Sweden you're also entitled to non-paid leave (tjänstledigt) for 2 years to complete studies without it being cause for leave. After this you are to resume your ordinary duties

If this is a serious question, then the first option is INFINITELY better than the second.

Startups will work you to the bone and can disappear overnight. The stock options are junk 99% of the time.

Only join a startup if you are destitute and need money. A big company is always better for job security, and it sounds like you already know them and it's a good job.

I've never seen those in my life, but I guess you can use them for cooking?

>Git isn't a solve-it-all tool. Git is completely and utterly unsuitable for many organizations.
Git is infinitely better at having different branches for different parts of the project, and handles merging way better. Svn is just backwards and not a way I would like to work.

>You didn't specify which Scandinavian country but in Sweden you're also entitled to non-paid leave (tjänstledigt) for 2 years to complete studies without it being cause for leave
This does not apply in this case (I have checked).

>A big company is always better for job security, and it sounds like you already know them and it's a good job.
They aren't a big company at all, though. The safe one, I think even the startup might have more employees in total. They have done more or less the same thing for 20-25 years.

Also, if non-pay leave was an option for me, I would easily just ask the startup to have me on hold for a couple of more months. The problem is that I need to pay rent and bills.

First job. No brainer. And you’re a Ph.D student?

git is shit

sorry, by "big company", i meant anything that isn't a fucking startup that could disappear tomorrow

>They have done more or less the same thing for 20-25 years.
That is a very good sign.

>sorry, by "big company", i meant anything that isn't a fucking startup that could disappear tomorrow
I see. I agree.

>That is a very good sign.
In terms of stability, I totally agree.

It really isn't.

> Contract runs out in end of Sept.
> Dissertation will not be finished
>posts this in June

get your shit together, fucktard. You have plenty of time to fininsh by August.


t. graduated 3 phd students, tired of the lazy whimsy kids

no it really is. at least svn is in the category of being acceptable.

>get your shit together, fucktard. You have plenty of time to fininsh by August.
Not many conferences or journal deadlines during summer though. The problem is not only the dissertation, but that I am trying to land at least one journal paper and one conference paper before my contract ends.

I'm going to ignore you now.

Worked at startups fucking sucks
Plus you'd have to live in America which is a huge con

i remember when people were using shadowcopy on windows xp of all things and the outcome was still better than your average gitshit setup

I'm sure you do. I mean, not aiming towards full automated test coverage, not using a sensible SCM, they are all hints that I will spend a significant time trying to track down regression bugs and setting up equipment in order to attempt to reproduce bugs customers have.

>fantasizing about what are really just strict processes
enjoy your rude awakening.

I already have experience with both methods of working user, which is why I clearly consider it a "con". I'm not sure if you're just trolling at this point, but you strike me as someone who holds contrarian opinions because you don't really know what you're talking about.

you sound like a real shitter to me as well.

Ok

user why do you so desperately try to derail this thread?

>Git is infinitely better at having different branches for different parts of the project, and handles merging way better. Svn is just backwards and not a way I would like to work.
Starting to doubt you're a PhD

Git promotes a workflow that is incompatible with many workplaces, *especially* in larger organizations

If your workplace routine is incompatible with git, then it's definitively not a workplace I would want to work. I'm tired of contrarian neets pretending to know how the industry works.

Did you strongly believe that the startup you're looking at has a future, and are you willing to dedicate months, maybe even a couple years of your life to it - all while (most likely) earning way less than you'd earn in a regular job?

It's a genuine question. Working for a startup can be incredibly rewarding on not just a financial level, but also in terms of the experience you (might) obtain, the contacts you (might) acquire, the mistakes you (might) get to learn from, and the sheer upward mobility you (might) get to enjoy, you name it, but keep in mind that pretty much all of the above is up in the air. Working for a startup means accepting a lot of risks in to obtain access to speculative profits - if the venture succeeds, you'll be making bank, but the vast majority of startups crash, burn, and die long before they get anywhere near the big breakthrough point.

The established domestic company you're describing doesn't sound like it's going to take you anywhere anytime soon. You pick up your work when you arrive at your office, and you leave it there when you clock out and return home. Great if you want to finish your PhD, get some (additional) certs, work on a project of your own, or if you just want to have a decent work-life balance. Just keep in mind that your PhD is unlikely to increase your employability (unless you're gunning for one of a handful of very specific careers, but if you are, chances are you already know that anyways) and accept that you'll be exposed to a lot more of the BS you've mentioned in your post - don't walk a whole bunch of extra miles trying to contribute to your company when the company in question offers no incentives whatsoever to excel on an individual level (the insistence on team-level bonus payments should be pretty telling on that front).

>Did you strongly believe that the startup you're looking at has a future, and are you willing to dedicate months, maybe even a couple years of your life to it
Yes

>all while (most likely) earning way less than you'd earn in a regular job?
No, but seeing how this is the US, the potential income is higher than the first option.

>The established domestic company you're describing doesn't sound like it's going to take you anywhere anytime soon.
This is my worry as well.

Thanks for your input user.

>(the insistence on team-level bonus payments should be pretty telling on that front
This was actually the developers themselves that insisted on, since the previous bonus payment was based on basically what the owners decided for, which provided no clear criteria at all. I guess it is possible to influence it somewhat, but it will be unfair for people that are stuck with "boring" tasks while other devs can do stuff that increase company value since they are so small.

I feel like there's a fundamental question you need to answer first: do you want to leave your home country for potentially more money? When deciding, you should probably take at least these things into account:
>your overall life comfort isn't determined only by how much you earn; being miserable and/or always tired may not be worth some extra pay
>a startup probably has less job security to offer; consider what situation you'd be in if you move abroad and it goes belly up
>what would you give up on/lose by moving abroad? Property? Friends & family? Something else?

>do you want to leave your home country for potentially more money?
This is not an issue for me at all. Actually, I'd prefer it.

>>your overall life comfort isn't determined only by how much you earn; being miserable and/or always tired may not be worth some extra pay
I'm mostly interested in seeing the world and experiencing something else than a tiny company at the middle of fucking nowhere (first option), and working a lot does not matter to me as long as I can work with something interesting. However, two weeks of vacation is too little for me to be able to go back home and visit friends and enjoy the time, so it is a consideration.

>a startup probably has less job security to offer; consider what situation you'd be in if you move abroad and it goes belly up
My main issue here is that I don't have a financial runway at all. Preferrably, I would have saved up some months worth of money, so I could at least afford to pay rent and buy a plane ticket home. Other than that, I don't feel moving back home is a big issue. I would have to terminate the contract with anyone currently renting my apartment, but moving back in with my parents for a short period of time while that happens is not a big issue.

>>what would you give up on/lose by moving abroad? Property? Friends & family? Something else?
I have no gf at the moment, and I can easily rent out my apartment. The problem is if I need to fix anything as a landlord, but I can ask for help from some of my friends, but not all the time obviously.

The main issue for me, as I see it, is whether or not I will be able to complete my PhD. There are a bunch of other insecurities too, obviously, but these aren't as pressing.

>svn fags on suicide watch

leverpastej
mjukost
kaviar
et c

boredom

Are you implying you were just pretending to be retarded?

didn't read other posts but take option 1.

depending on what your research was in, you should be able to get high 100s at a unicorn ($billion+ valuation) or an established company. the startup will take full advantage of you then you will be left with nothing once the company folds

Attached: 1mX1Jdk2cZDhtD85x8UKOV1KC5QShpcZKL__bBer_Ig[1].jpg (312x767, 71K)

Thanks user.

I don't want you in america but I also feel sorry for the other people in option 1 company
can you just kys?

If OP goes for option 2, and works remotely. Who would he pay taxes to? Sweden? The US? Both?

>t. Pajeet feeling that his job security is threatened

Fuck you, I’m not some job stealing visa cuck, you are! Nice try, Sven Muhammad.

I’m not OP you stupid shit.
>being afraid some swedecuck steals your job
Kek

this is ironic.

Indeed. Op will most likely not even be eligible for a H1B visa (as those are almost exclusively used for Asian countries). OP, being from the EU, will get a different kind of visa.

check on ICA

I didn't post that and I really do prefer svn to git. That's strictly based on my experiences using both, and admittedly I learned only a minimum about git but used svn since pre 1.0.
I basically found that the org I was consulting for would not be able to use git in the slightest if it weren't for doing rocket surgery on their local copies with stash, cherry-pick and/or spending literally hours fixing merge conflicts.
It doesn't seem to have a trivial workflow for a team to use especially on a decently large project like over 200k LOC. They also had huge problems with the git client after 'git for windows' came out and everyone switched to it.

>It doesn't seem to have a trivial workflow for a team to use especially on a decently large project like over 200k LOC
This is demonstratively untrue, seeing how the Linux kernel is 15M LOC and arguably one of the largest collaborative software projects in the world.

Git for Windows used to be notoriously bad, but your other issues seems like people being unfamiliar with git and attempting to use it like it was Subversion. I've had 5 different developer positions, using git, Subversion, SurroundSCM and even CVS at one point, in addition to over 10 years of experience with git using it for my own projects, and git is by far the only sensible approach to SCM in the modern age, no matter what the organization is or how streamlined current workflows are.

Additionally, many developers in the first job I posted actually use git-svn (only the CTO and another guy still refuses to use git), so the claim that git does not allow for the same kind of workflow that Subversion does is just blatantly false (otherwise git-svn wouldn't even exist).

I'm sorry to say that if you are indeed serious and not trolling, you simply come off to me equally ignorant to the old fashioned people I complain about in OP, and you probably have about 10-15 years of good developer practice to catch up with.

>15 gorillian lines of code
when is enough enough

When people stop making new hardware architectures and hardware devices that need support. This number is pulled completely out of my ass (so don't quote me on it), but I would estimate that 50-60% of the code in the kernel is actually drivers.

>being unfamiliar with git and attempting to use it like it was Subversion.
It's funny you say that, because if I really wanted to I could use git in roughly the same way I use svn and only lament that the syntax is annoying, toolset is bloated, I can't lock people out of individual files and file handling in general is unpredictable and stupid. Oh and git for windows is still a broken piece of shit.

There is no need to lock people out of individual files when you can rewrite history. There is absolutely nothing stopping you from creating a linear master branch, in fact most projects encourage that entirely.

Again, I'm sorry to say that your unfamiliarity with git is not a great argument against git.

Why are you using git for windows when Visual Studio has a perfectly fine git frontend?

How does the first option deploy their stuff? Maintaining multiple versions of a product is a giant fucking nightmare. Same with onsite installations.

Startups can either be horrible work-life balance wise or they can be fine. You can ask that.

Vacation is something you can ask about. It's probably "unlimited" which can be good or bad.

>There is no need to lock people out of individual files when you can rewrite history.
i'm referring to confidentiality
it's also an actual git client, I'm assuming the latest VS plugin uses it too.

>How does the first option deploy their stuff?
They create downloadable installers with a mix of binary blobs and compiled open source code (as well as providing sample code and the source of the open source stuff).

>Maintaining multiple versions of a product is a giant fucking nightmare. Same with onsite installations.
Yes, which is why I have suggested that they should get automated installers and testing asap.

>Vacation is something you can ask about. It's probably "unlimited" which can be good or bad.
Ah, cool. I will ask.

unlimited is a cop out for paying out unused vacation in states that explicitly require it. So you see it in california mostly.

>i'm referring to confidentiality
That's literally what the history is for. If you want to prevent a file from ever being changed, then have it outside git or use hooks that reject commits that change it.

should I list more git greivences?
here's two to chew on
>mandatory comments
fuck yourself, sometimes I don't need to add a comment!
>nothing works on a subset of the repo
that's why that firm fooled around with their copies ad infinitum because you can't do a single thing otherwise. is Git for anti-social people? With svn you can actually coordinate your conflicting changes properly. because when you don't add one of your changed files to your commit in git, you can't pull other files until you discard it or fix it. on svn you can checkout just file123 and keep your uncommitted fileabc until you figure out what the fuck to do with the other parts.
you'd have to explain how that doesn't let them read certain files.

>mandatory comments
Yes, there should be a mandatory commit message explaining what the commit does. You are advocating horrible practices here.

>that's why that firm fooled around with their copies ad infinitum because you can't do a single thing otherwise. is Git for anti-social people? With svn you can actually coordinate your conflicting changes properly. because when you don't add one of your changed files to your commit in git, you can't pull other files until you discard it or fix it
That's simply untrue, you can checkout any individual file or group of files, just do a git fetch and then checkout specifying filenames.

Again, your lack of understanding how to use git is not an argument against git.

>you'd have to explain how that doesn't let them read certain files.
I'm pretty sure you are trolling by now, since file locking in svn doesn't prevent reading either. Anyway, if there is a file that other team members shouldn't read or write to, IT SHOULDN'T FUCKING BE IN THE SOURCE CONTROL.

>mandatory comments
for some commits I could sit there for 5 minutes and not come up with a comment that added any info to the commit. You end up putting something stupid there instead. Often the workaround is another much loved git tool (hack) which is squash, so you constipate your awesome local copy of the repository until you have more than a one liner to push to the real repository. (don't say that people actually use git in p2p way because they don't).
>checkout individual files
remember that I have local uncommited changes

and yes, svn has real file permissions just like the underlying system. I think you are confusing file locks with authorization.

I'll elaborate on your last complaint. If you work at a large enough company, you'll eventually get very stupid instructions handed down through your boss that you will have to follow. That has, multiple times, resulted in the situation where members of my team were now longer allowed to open certain files that were already in the repo (they probably remembered exactly what was in them anyway.)
Those files in each case were DB schema in case you are interested.

>remember that I have local uncommited changes
If they are in the files you want to checkout, git stash.

If they are not, then it doesn't matter.

>and yes, svn has real file permissions just like the underlying system.
Git respects file permissions.

>not allowed to open files in the repo
This is silly, and svn does not prevent you from doing this.

when you pop the stash you end up with the same issue, you've only deferred it. because there is no per-file versioning in git.
>Git respects file permissions.
throwing an error for the entire pull, correct me if i'm wrong
>This is silly, and svn does not prevent you from doing this.
it does regardless of whether or not it's silly.

quora.com/Why-do-so-many-startups-fail?redirected_qid=3064254

quora.com/How-do-you-make-programmers-work-60-80-hours-per-week

Use American start up to jump another well pay job in USA if start up Fail, with PhD you could do insane money.

Work experience begin the more important thing if you finish PhD, companies believe employer gap means mental problems.