What stopped me from working for 20+ startups
code.likeagirl.io
code.likeagirl.io
"They tell you they like you, you’d be a great fit, your code looks great, but then discontinue because they just noticed you don’t have a piece of paper."
It could be that they somehow didn't notice and then singularly rejected you for that reason. It's also possible that they were willing to overlook it but once they had the chance to evaluate you as a whole they decided that the total package wasn't enough and the degree was the reason given. To me the degree is more about proving that the candidate has true interest in the subject and has been able to commit to it over an extended period of time more than anything else. I am asking them for a big commitment over an extended period of time to join my company after all.
This is very true. Interviewing is critical for basically every company, but the actual interview process sucks for the employee who actually is doing it. A lot of companies, and startups especially, don't have the discipline or foresight to realize this and instill in their employees that professional courtesy is important, even if the actual interviewing process is annoying and that professional courtesy is likely to be "wasted" on somebody you won't hire.
But I do think it is a useful (bad) signal, because a company that doesn't have the foresight to create a decent interview experience probably is dropping the ball in other critical areas and should be avoided.
I'd summarize the overall tone of the post as this:
"I'm working hard to grow my career. I want to find the best place and role to help me do that. Please approach your side of the conversation as prepared and excited as I am, otherwise don't waste my time in getting there."
For a young engineer, this is simple and to the point. It's also wrong.
First, it attempts to minimize exposure to failure based on perceived value. The thing with failure is that you can choose to learn from it or ignore it. Trying to determine what failures are valuable beforehand is folly. Soak it up and become knowledgeable. I learned things early that frustrated the hell out of me, and figured out the lesson much later.
Second, hiring decisions include lots of legal situations. Here's the truth: you'll never really know why someone really didn't want to hire you. When you hear lots of glowing things but you're not hired....there's a big issue somewhere. If you want feedback to be useful, you must look for trends, which means multiple attempts (and failures.)
Third, don't take the title literally as "startups". These are all personal interactions, and organization size or makeup isn't a useful filter here. I doubt the author intended this post to be limited to just small companies, though.
It seems easy to read this article and conclude that a junior developer in similar circumstances might be picking and choosing between working at 20 different companies.
The reality might be more like picking between 1-2, and the "reasons [she] didn't work for them [the rest]" were THEIR reasons, not hers.
I'm not sure she was that picky. She doesn't explicitly say the reasons were all her reasons. For example, one of the main things that stopped me from working at Facebook is that they declined to make me an offer.
If you think that you're lucky to have a job offer, like I did when I first started out, then you'll sure get to work with people who think they're doing you a favor by underpaying you for some shitty work.
It is not 20 startups that are (mainly) the problem, it is YOU who expect other people to train and baby you. You don't have formal training from a university degree, neither are you willing to self learn your way to becoming a master coder. Why would a high stakes startup engage a liability like you?
This is what I would tell the author.
How did you reach that conclusion?
This post sounds a bit like she wants to be pampered and well paid while being handed knowledge.
That being said I'm glad it worked out for her. I wish the best for every good person. Just hoping we don't see a follow up "Why I left toxic company X" post in a couple of months.
I think the author is on point. A high-functioning team should embrace a mentor-mentee approach between their sr. and jr. staff. That doesn't preclude self-learning, it accelerates it. Otherwise you're leaving productivity on the floor, and quite frankly, if your sr. staff isn't adept at doing it they probably are not all that sr (being a sr. dev is alot more than simply being a good coder).
I've been a professional developer for over 20 years. I honestly don't remember what it is not to know what a for loop is and can't find any decent paths from 'non-developer' to 'junior developer' in an easy to follow manner.
- Do some pro-bono work as an intern of sorts on side of current job for at least a few months - in this case you could help her out with any friends of yours who perhaps have a web consulting business, otherwise go to local meetups and offer her services (just moderate HTML/CSS is fine). Live lean during this time and pocket savings if she doesn't have at least 6 months of cushion + any expenses for a bootcamp. This way she'll have some real-world experience coming out of the bootcamp and some cushion while trying to land her first job.
- Find a good bootcamp known to have a decent conversion rate and block out everything else from her life... it can be intense.
- Try to find a decent job ASAP after graduation, the initial salary isn't important and (IMO) it's still not a bad idea to do any pro-bono or below market contract work if the experience itself would be esp. good. My friend's first year or so ended up being a mixture of moderately paid and poorly paid contract work.
- In the end though, she ended up making $70k w/ great benefits, fully remote in San Diego (roughly equiv to ~$100k in SV) in less than two years from graduation, nearly double what she made at her previous job. With her first year and some 4-5 projects under her belt interviews were considerably easier to get.
I run a consultancy business and she can intern/learn with me. That isn't the problem. Is actually finding resources for her to start from zero. Where we live there aren't really any bootcamps. Was looking more for information on books or online courses that really do assume zero knowledge from the student.
I can try and do it myself (and of course, I'll help when I can) but it is hard to even think of where to start. Should she learn Javascript on an online editor? Install node and try typescript locally? Just install a full version of Visual studio and let her click the buttons until she can understand what is going on?
I remember learning how to program by reading the QBasic manual that came with my computer at the time and try to modify some source code (probably Gorila.BAS) but not sure if that is the most efficient way to do it nowadays (and I was young, had all the time in the world, so if it took me 2 months to get a square moving onscreen wasn't a problem).
She ended up moving to SV for the bootcamp she did (Coding Dojo). There are some remote ones that I believe are supposed to be good but I wouldn't be able to recommend any in particular. For most people I recommend doing something like this because of the total immersion, access to a variety of fairly strong engineers (the instructors) and other students in the same boat. Aside from that, my friend is a big fan of the Udacity nanodegree programs and has done a couple since her bootcamp to level up her skills and stay sharp.
For some basic getting your feet wet right now sorts of things, I am def a big fan of material like Eloquent Javascript, Learn Python the Hard Way, Hartl's Rails Tutorial etc.
I would say though the best thing you can do for her right now is to give her tasks that are actually productive or helpful for you and then build on those. Like perhaps you have a bunch of unused css on a project that you want culled, throw her a basics on CSS guide that maybe takes an hour or two to go thru, then create a story for her and walk thru it. Get her familiar with source control, the layout of the project, etc. Getting a sense of accomplishment quickly and repeatedly will help get someone over the initial hump, and will esp. drive them forward when they get stuck.
Bootcamp wise, we live in a country without much access to those, and due to her family situation, she can't really move.
I will try Eloquent Javascript with her. I have Hartl's Rails tutorial but from what I remember, it was a bit complicated at the start if you didn't have any decent computing experience.
I have some projects that could use some clean up in the html area, maybe I'll write a few stories for that and will see how she does.
Again, thank you so much for the time and ideas!
She's not falsely advertising herself; she clearly states "junior" developer. And she's looking for a place with some idea of what mentorship means - a concept and practice that, I might add, is commonplace in traditional engineering fields. It has even been formalized into the licensing process in those that require licensing (subsets of civil engineering mostly). Yet in software it's surprisingly common to refuse to acknowledge that mentoring has any place or role. Is this wishful thinking on the part of introverted devs who would rather not do it? Then we wonder where all these cowboy coders came from. Well, they taught themselves, like you wanted!
The truth is though, you're right - mentorship is not a startup kind of thing. The author would find it easier to get what she needs by working a few years for a BigCorp. They can offer more mentoring because they can afford it, they take a longer-term view, and the people hiring might even be more than just one or two years more experienced than the candidate. Whereas a startup is likely to be young, fast, and ainobodygot time fadat.
Edit to add: Author didn't major in CS yet somehow learned JS, so it seems like she can indeed teach herself.
Thats fair. But if that is the company's opinion, then they shouldn't waste anyone's time by reaching out to her and interviewing her.
Sometimes things are not a good fit, and that is ok. But it is disrespectful to waste people's time when you are clearly so not interested in them.
This is not about "She deserves a job". This is about "she deserves respect as a candidate". Basic stuff like not sending follow up emails for weeks to a candidate, no matter who the candidate is, tells me that a company cares very little about respecting anyone and should be avoided.
When I graduated from university, my code was crap and I barely even knew the words "version control". When I had some internships and finished my MSc, I kinda knew what version control was. After I was a year into my first Real Job, then I could actually do testing, code formatting, and commit messaging properly, then I could produce code that would pass review and get merged without problem, and mostly wouldn't create regression problems.
This is learned on the job, every time, for every person.
For some value of "good", "industrial-quality", "requires", and "mentoring". I belive, for instance, that it's perfectly attainable to learn how to write robust production code without getting somebody to learn that from. I've seen it happen.
Although there is no single, widely accepted list of enterprise software characteristics,[4] they generally include performance, scalability, and robustness.
Yeah, for example ones that don't use CM Synergy, ClearCase, BMC Remedy, Jira, or Confluence (though I hear the latter two can be tuned to run sensibly).
It all depends on the definition of "enterprise class", but all of the above are sold as such and you cannot encounter any of them in small companies. And by the definition you cited, half of the software only sold to enterprises suddenly becomes non-enterprise.
It's also a circular definition in this discussion, because we could learn from "enterprise class software" how to treat "a lot of production downtime and scalability issues", because "enterprise class software" is "performant, scalabile, and robust", by your own words and quotes.
I'm getting the feeling we are talking about different things. All of those things you listed are bug tracking / management software. I'm talking operational software that runs the business. It's all custom and fits like a glove if the business is competent.
If "I" organization has resolved to buying "it has" software, it still does not mean that the organization cannot write software. ERP systems or HR systems, for instance, are rarely written in-house, even if the company does nothing but writes software.
> I'm getting the feeling we are talking about different things.
Obviously. That's why I said: "funny choice of words".
> All of those things you listed are bug tracking / management software.
Not even half of them, but it doesn't matter here.
> I'm talking operational software that runs the business. It's all custom and fits like a glove if the business is competent.
And you should have started with providing this as your definition of "enterprise class software". I would never have thought that this is what you meant.
Here's the wiki on Enterprise Software if you are interested.
It wasn't. At all.
I think she stated some perfectly reasonable adult expectations, to the point where if I was hiring and her code was good I'd certainly consider her - precisely because she has reasonable adult expectations, and that's a transferrable skill that's rarer than it should be in developers at all levels.
No, it's not. I get it as a negotiation strategy, but that's very short-term.
Landing the job isn't as valuable as keeping the job, and your skills will define that long after the impression of mentality fades away.
That said, I think pestering should be done once or twice weekly. But let it be done by an email bot, preferably custom-written by the candidate. It might even impress them, who knows. Then while that's going on, you can continue with your job search.
I've been there. Had coffee with start up boss when unemployed, was good. Had chat with current senior Dev, was good. Ask about discussing further, nothing. Chase, nothing. 2 months later I have a different job, I see boss at event, we wave across room and the next day he emails asking if I'm still looking. No. How is this a professional way to deal with someone?
In contrast, good interviews have always told me clearly when things would happen and have stuck to that. It only takes a minute to communicate well, and it really pays off.
I agree that degrees shouldn't be mandatory at a startup, but I've never seen one that requires them.
Miscommunications: I'm not sure how one gets into an interview where one of the requirements is 5+ years with Java, and that person has only JS.
Dodging questions: startups often are making the rules as they go, and might not have a concrete answer for you. Drill down and find out what direction they might take.
Dropping the ball on follow ups: they probably don't want to give you a hard "no". Just move on and keep (or try to have) a positive attitude.
They need someone more experienced: take a job requiring no experience, and then you'll have more experience.
Why is it such a sign of millennial moral decay to ask for everything you can get? The company on the other side of the table is certainly going to.
Why work at a startup? Makes zero sense.
Source: Work at a startup. Have not been paid in 2 years. But I do get to go to the beach when I want. And learned how to live on nothing. :-)
If you're getting promoted regularly you might be able to hit 3MM in 15 years, 10 if promotions went faster and you lived super cheap with 8 roommates.
Seems like she should have asked for more than she wanted with the expectation that the company would make a lower counter offer.
I mean, a job is literally money in exchange for services. It's reasonable for both sides to talk about what the exchange rate is going to be during the interview process.
Edit: she admits that she is a junior developer and often doesn't know what she is doing in her post. It's reasonable for this to be factored into her salary. None of you downvoters have yet to provide an answer to my question of why she withdrew applications because of the way salary negotiations where phrased to her.
With that included the question sounds rude and makes it sound like the candidate should be grateful for whatever they are going to pay.
It's like a candidate going to an interview at a company in bad technical shape and saying "So given your product is an outdated buggy piece of crap, how much are you paying me to put up with it?".
Probably at toxic companies.
There are more professional and polite ways of saying "we are able to offer you a junior-level salary".
Life isn't a ledger where everything is a numerically balanced transaction.