He is lying about the 1099 being cheaper, that is only true if you are an S-Corporation, right now you are responsible for a little over 15% for social security, something that you are not if you are W2 or a corp. $500 is chump change to put up with Type-A personality bullshit like be here on the spot and no sick days. That is fast food management, you need to bail as fast as you can you have a wife and kids that rely on you to seek as much as you can.
As for the "he has not taken any pay" crap, he has equity, you do not your only reward is your pay check in that situation.
Very correct. On several occasions I have been promised equity. At first as a compensation for my pay, and then as vested. However none of this ever came into existence. Every time I brought it up again he would keep putting it off. But then in any discussions for a raise or anything to that degree he would use it against me saying something to the degree of: "Well, you know you are going to get equity in this!" I called him on it once. Saying that I wouldn't want equity if my pay was increased. The conversation ended right there.
As another poster suggested, get out and go freelance. Maybe you can steal his clients - I hope he has been as lazy on the non-compete as he has on granting options.
Originally he brought this up and I was thinking like 10 to 20%. He then said something to the degree of a half percent per year.
I unfortunately did sign a non-compete. The founder has pretty tight connections within this industry. It would be hard to steal clients to begin with -- I make sure all of the work is perfect and the clients are happy. I also would feel unethical doing so.
Based on your description, I would expect NOTHING from your current employer. Actions speak louder than words, and this guy's actions have "asshole" written all over them.
He'll give you 10k shares at 10 cents apiece and then want you to shut your mouth about it. Which is great, if the company is sold for $100,000,000 -- but it won't be, and he will continue to pay you less than 16 year old make at In n' Out burger and drive you into the ground as a penalty for holding his feet to the fire.
People that value other people, would have never had you in this position in the first place. He doesn't, walk away.
Take your boss aside, and tell him that you need his undivided attention for an hour or so, later today. Wait patiently until whenever he agrees to meet you. Then tell him that you believe the current situation is completely untenable. Tell him that your intention is to quit, immediately, today, and that you still believe that is the best approach. However, rather than necessarily abandon him, you will remain open to instead receiving a portion of the equity. Decide BEFOREHAND what portion of the equity you want, and make sure it's something that would make you feel GOOD about working for peanuts for a few years. Tell him to think about it overnight, and see what he says in the morning.
Based on what I've heard so far about his personality, I'll predict that he'll probably tell you to get lost. Or he'll beg you to stay without the condition. But stand your ground. Then go find a better job.
> Starting salary for a fresh junior is 40k and that is just someone who know HTML, CSS and Photoshop let alone if they actually know a server side language.
I know, like the back of my hand: HTML, CSS, Photoshop (and Illustrator/InDesign/Premiere/etc), Javascript, PHP, Ruby (not specialized to Rails, but with a year or two of experience in it), and C/C++. I've had more than a year's experience in: Java, Lua, IA32 and ARM assembler, Haskell and Clojure. On top of that, I have years of Windows and Linux sysadmining, DBA, and tech support/computer repair knowledge.
...but I'm only in my first year of University, and have literally zero measurable work experience with any of this stuff (no previous employers in any sort of technical field, no references, no portfolio..) In short, I have no proof that I can do any of the stuff I can do... what should I do?
It is unlikely that someone with your background really knows even one or two of the tools you mentioned "like the back of your hand" by professional standards. It is completely implausible that even the most gifted and enthusiastic geek on the planet knows all of them to that standard at your stage in your career.
The world is, however, full of people (usually students with little or no professional experience) who think they have these skills. It just comes across to experienced professionals as arrogant, ill-informed, lacking in perspective... amateurish and risky, basically. Would you hire (or even interview) someone you thought was like that?
My advice to you is this: decide which skills you want to highlight at the start of your career, and if you really have no demonstrable experience with those skills, make something. Build a simple game in C++. Write a simple but well presented CRUD application to show your web skills. Write an interactive symbolic calculator in Haskell. Make sure the code is clean and you have some respectable documentation to go with it. You presumably have several years to go at uni, so you have plenty of time to develop your skills. Just keep the example programs you develop along the way.
Actual demos of real projects that you have personally completed are just about the best advert there is for your programming skills. Even if those projects are just small demos, they still beat beautiful but empty CVs any day for getting noticed and attracting the right kind of attention from prospective employers.
I think this part of Silhouette's advice is more critical than its brevity suggests.
I can only say this in hindsight but it's critical for you to only highlight a few of your skills (or even just one, in some cases) even if you have many. Saying you can do HTML, CSS, Photoshop, assembler, Ruby, and 101 other things is not going to floor the sort of people you need to impressive. I didn't know or understand this at 20. At nearly 30, I know enough people and have had enough experience to know that even if you're not a specialist, appearing to be one and then pulling out your jack-of-all-trades card is the most powerful way in to some great situations.
Really, what it amounts to is that when I come home, I spend twelve hours (that is, 4PM-4AM) "studying": reading programming books, testing out bits of code, writing scripts and hanging out in places like /r/coding and LtU. It's basically my sole hobby, and I started when I was 11 (with a website run on a scrounged Pentium Pro off a Slackware LAMP stack.) I'v continued teaching myself various skills since then, never producing useful output, just reading and testing myself. I don't have confidence that my skills are anything more than a bunch of academic knowledge.
If I recall, these are the most code I've ever actually written:
* Stargazer, an interactive galaxy creation program in SDL/Ruby (you plot and name stars, create flight/jump/trade paths, and classify arbitrary three-dimensional regions with arbitrary metadata; it's for sci-fi writers.)
* Persona, a webapp where you create a user, that user creates several fictional characters (personas), and then, as a specific character, you answer questions out of a user-generated pool in order to flesh out your individual character. It's sort of like OKCupid in reverse—you specify the "factors" your graph of characters should display in advance (love, hate, admiration, apathy, etc.) and then the service helps you answer questions in a way that will conform to those pre-ordained relationships.
* Nameclasser, a Bayesian classifier trained on the details of individual words (sound, length, derivation, etc.) You feed it a dictionary; it spits back a subset of it usable as "interesting" character names.
* Folio, a mark-up language (and reference parser) similar to markdown, but intended for fiction (distinguishes pages, has footnotes, does neat things when it recognizes sections of screenplay-like dialogue, etc.)
* Christmas, a graph adventure (it's a text adventure, but with the interface being clickable words in bubbles—basically an ever-expanding tree of circle-menus.) It's two-player, networked: the client(s) are in C with Lua extensions, server in Clojure. It also features something I've never seen before: network-transparent undo. (Only works under certain world-model-specific conditions, of course.)
* SMS Importer, a little tool to sanitize a copy of your SMS database, copied from your iPhone's backup folder (SMS data has always been stored in 3d0d7e5fb2ce288813306e4d4636395e047a3d28.mddata, if you're curious), and present it as a folder of formatted-text chat logs. (It also keeps its own gateway database, just merging in previously-unseen texts, so you can delete an SMS record on your iPhone—it makes it a might bit faster—and still keep the record after re-importing.)
* An unnamed, unfinished project involving editing timelines of narratives and meta-narratives in time-travel stories.
* Nodepad, a hierarchical outliner (where every "node" was a folder+rtf file underneath, so you could make any node the working root), and Sponge, a visual to-do list (all the tags were importable 16x16 icons), both in C#.
* Wikirei, a wiki designed from the top-down to look as clean, presentable, and non-wiki-ish as possible when you don't have editing rights, and elegantly expose editing features when you do.
And each and every one of those is crap, in my opinion, and I would never release any of them. ...Having said that, and looking at that list, my problem might more be anxiety at releasing my work, than actually producing it. I've been working in a silo for so long, with no feedback as to whether my code has any quality (except what books say) that I have no idea what others will say when they see mine.
Again, I would recommend picking one or two examples in the area you're most interested in pursuing first in your career, making some effort to polish them up to what you would consider a professional standard, and then using those as your "portfolio pieces". I've done my share of interviewing, and really, not much shouts "Hire me!" faster than someone who can show that sort of interest (really important when you're hiring for a position where no applicants have much experience yet) and who has made the effort to show what they can really do.
Also, for what it's worth, it's very common to be nervous about showing your code to others. I've been programming professionally for a long time, and I still hate it. I'm never 100% happy that there wasn't a better way to do things, or that something wasn't a little bit untidy. But programming is a world where the best is the enemy of the good: there is rarely one "right way" to do something, and there comes a point where you've written code of sufficient quality that does the job it needs to do. Trying to refine it further is usually just a form of pride/vanity at that point, and with experience you will learn to recognise this in yourself (and, in due course, in those you work with or manage) and to just say something is done and ship it. You can always see neater things you might have done in the code with the hindsight from writing something once already, and sometimes that will really pay dividends later, but adequate imperfection is the world we work in most of the time and it's the same for everyone.
Looks like you're pretty much into writing fiction? (or game scripts?) If that is your passion, then maybe you want to look into that?
I'm not very experienced, but more often than not, the devil lies in the details. Reading K & R is one thing, but being able to track down why your code sometimes gets a SIGILL is an important, perpendicular skill. Perhaps you could try patching some open-source software? If you really know all that you claim to, you'd be invaluable in any project.
I've met someone who gets Haskell. His name was Wadler, mind. :-)
How have you met him? Are you his student?
> I know, like the back of my hand: Javascript, PHP, Ruby, and C/C++. I've had more than a year's experience in: Java, Lua, IA32 and ARM assembler, Haskell and Clojure.
And:
> I have no proof that I can do any of the stuff I can do.
I don't see how both these statements can be true. If you know some language "like the back of your hand", you'll have written significant amounts of code in it, at a bare minimum I'd say a few thousand lines.
You're claiming to have done significant work in 9 languages, and have no code to show for it? That's a bit odd, isn't it?
I think you might be able to find something that hints at your experience.
Only my own homepage, which isn't proof of anything at all, since it's about as visibly complex as an FTP directory (despite doing some neat things with Heroku, Sinatra, and a makeshift Dropbox API underneath.) It used to be a byzantine mess with its own forums and wiki and project hosting—and utterly no reason for anyone to use any of it, but for the fact that I wanted to have those things, and so I made them. Now it's just pages.
I've built web-apps as personal projects, but have long taken them all down or thrown them out due to loss of momentum (I had no users, ergo no one cared, ergo no reason to develop in any particular direction...) The few that I've held onto, I would never want to be publicly viewable, as they have absolutely horrible graphic design (by me, who is most definitely not a designer.)
> You were a sysadmin for years and don't have a reference?
I have sysadminning skills—but I was never a sysadmin (except for a non-profit community center, in a volunteer capacity, as an unofficial side-job to the normal duties of tutoring old folks in Internet skills, and which shut down soon after I left....) I read articles and books about it, I download and figure out how to use $20k/seat software that is utterly useless on the single computer I install it onto, I figure out solutions to problems posted online by people who seemingly have 100x the experience I do, I tinker with machines and networks that aren't my own... but no one's ever paid me for doing any of that. I see it as a hobby.
> You have zero contributions open source projects (others or your own)?
Yup, absolutely nothing. I probably have twenty or thirty things I could declare open-source, but none of which I'm proud of—in fact, the amount of technical debt in each is enough to make me ashamed that they have my name on them (though I doubt others would see it that way—I'm somewhere between perfectionism and extreme social anxiety when it comes to work done as anything other than a direct request.)
---
An aside:
Now, I'm not saying that, with a year or so of work, I couldn't build a really damn awesome portfolio, something I could be proud of and that would show off every one of my skills. But is that what I'm supposed to do? Is that better than just working my way up from an entry-level job, pretending I have no skills? I honestly have no idea; that's what I've been doing up until now.
I should mention that currently, I'm unemployed, and very quickly running out of money. Obviously, I don't have a year to put in right at the moment, even though I do have the skills right now :)
I ask my parents what to do, and they tell me to get a job for minimum wage in a grocery store. They're simply happy that I'll be able to make $50k/yr once I graduate (they've made that much, combined, for their entire lives.) In school, every class I'm allowed to register for, I pass without having to learn anything; and all the classes I'm interested in, I've learned by the time I qualify for them. Basically, I'm coasting, and I've gotten really good at it. I don't have any mentors or role-models to pull me forward, so I just drift.
---
Sorry, that became more therapeutic than technical near the end—but the answer is yes: right now, I'm quite sure that I have no proof of anything.
You will need to create websites and web apps for local clients, which will give you the experience and the references. At the same time you'll be able to make some money.
And the flexible hours you get as a freelancer means it wont interfere with you studies like a regular job might.
If you are interested, email me at [email protected]
You wouldn't be able to gain experience in those listed skills without using them for something. There has to be some work of yours out there somewhere. And if not, start doing some freelance work or launching some of your own ideas/projects onto the web. It's a great way to get real experience out there and extra rewarding when you see users interacting with your work!
But, you are correct, that was loose advice with no detail around it, for which I am sorry. I should have just stuck to the your getting screwed by getting a 1099 over a W2 answer.
Mentally commiting myself is something I believe I can take hold of. My main issue and worry will be finding a new employer. The area I am in currently, Northern Eastcoast, lacks tech companies. I would have to relocate to Philly, New York, or Boston to get to any hub. And currently money is too tight to do something of that nature.
With this job I got myself into this nasty living paycheck-to-paycheck situation. I will have to have something in place before I leave.
And start right this minute. Good luck!
I'm not saying do it full time, just walk out of this currently nonsense situation and do elance for a few months while you look for another full time job.
You'll be amazed at how many opportunities there actually are in this world that don't suck once you start looking.
You'll be fine dude!
As soon as you're making $500 a week - which will really not be a problem on Elance for anybody competent with a good grasp of the English language - quit. Just walk out the door. No notice, just at the end of the day, go to your boss and say, "I'll be leaving now."
Then tell him your new hourly rate for consulting. Make it a good one. If you're as indispensable as you sound, you'll be working the same job with a reasonable rate within a few weeks.
Note: search around here for tips on choosing a good rate. And then factor in your history with them.
Ha! Tell me about it. My current salary is $78k in Florida and I'm a jack-of-all-IT-trades. I answered a few Craigslist job ads and got offers for $100k+ in my own city. I'm soon starting a job that pays about $120k-150k (depending on my productivity/hours). That's a 70-90% pay-raise with almost no effort in searching. Also I get a lot more benefits, fewer responsibilities, and an actual bonus/raise/review schedule. Being loyal in this day and day will only get you exploited.
This is generally an option, but in this case it is not in the original poster's best interest to negotiate. The only proper course of action is to leave. His employer has demonstrated how he prefers to do business and that's not going to change. Negotiation can win you the battle, but there will be plenty more down the line. Might as well get hired by more scrupulous employers (and there are plenty and the job market is good).
Incidentally, I would never suggest that anyone negotiate with the goal of getting a "fair" salary. I think that is our inner serf talking. Find your inner hedge fund trader and send him instead. Sure, $60k might be a marked improvement in your standard of living, but if you think "Oh yeah, that is fair", you're probably not going to say "That offer is interesting. Can you do better?" and get $5k extra (plus compounding on your annual raises, plus a higher peg on every future position in your career) for two sentences of work.
1) You are being drastically underpaid relative to your market worth.
2) The fact of you being underpaid will cause material hardship for your wife and children.
3) Your boss is exploiting you. Illegally, to boot.
4) Your boss will not stop exploiting you.
5) You are being used as a tool to justify the exploitation of other people.
Don't "begin looking for other jobs." Mentally commit yourself to quitting, and to negotiating (you CAN negotiate, it isn't evil) a salary commensurate with your worth at your next position. You are a working professional. It is standard to receive fairly generous benefits, including but not limited to healthcare. Should you not receive benefits, you get paid an absurd amount of money to purchase them yourself. $2,000 a month does not even approach the ballpark of what employees like that cost.