I like the mentality of the author, this is how you land good jobs at good companies for good pay.
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.
I actually hate the attitude of the author, maybe because I'm almost 40? I would NEVER hire someone so clueless and demanding. You get to be demanding when you have exceptionally valuable skills princess.
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?
In depth learning usually entails a period of significant sacrifice. In university, at an apprenticeship, alone late at night drilling concepts into your head and getting a bit funny upstairs from so much screen time.
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'm 41 w/ a degree in CS from UCSD (what was at the time a top 10 CS school), spent about 15 years primarily in enterprise healthcare doing C++/C#, then the last 6 years as a Rails/React/Angular dev. I also helped advise a friend on her path to becoming a dev by way of a coding bootcamp, career advice, etc.
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).
Mind sharing your recommendations for your friend? I have a friend in a similar position that asked me for help but I'm a bit at lost on what to recommend her.
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).
I've tried training people in the past who have zero knowledge and it's pretty hit or miss, mostly miss... it really will only work if they are highly self-motivated and find it really interesting, otherwise things start to go downhill quickly when coming to the more difficult material. I initially tried this with her and she ended up getting pretty flustered and annoyed with me when it came to trying to explain how object oriented programming works, so much so that we didn't talk for awhile. And she is an extremely bright person - HS valedictorian, graduated w/ honors from Berkeley with a liberal arts degree.
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.
Thanks so much. She is very driven and smart, and knowing her, she does have a good analytical mind, but since she was young, she was pushed more to humanistic areas and never really focused on IT/Math, etc. But I've seen her work when she was pushed in finance at a firm and with other accounting things and I think she has the smarts for it (if she didn't I wouldn't recommend her to try development).
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.
She, as a junior dev without a degree, would rather not throw away her crucial first few years of her career to a startup that won't even bother to think about helping cultivate her. You may think that's heinous, but I'm OK with that.
I'm almost 50 and I don't share your opinion, so that's probably not it...
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.
Co-signed. This is essentially what I did - I worked in startups a few years but realized I wanted more mentoring, so I went to a BigCorp and got it! If she finds a startup that could give her that, more power to her.
"Why would a high stakes startup engage a liability like you?"
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.
Rubbish. Coding-at-all can be self-learned. Computer science requires formal teaching. Good, industrial-quality coding requires mentoring.
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.
It's possible, but it's a lot more painful. "Learning the hard way," is called that for a reason. When building enterprise class software, learning the hard way involves a lot of production downtime and scalability issues that could be avoided by someone who has done it before.
Funny choice of words, you know. "Enterprise class software" I've seen up to
now is mostly overcomplicated, slow, resource-hungry garbage beyond repair.
I don't think people writing "enterprise class software" for living have much
to teach anybody with regard to scalability or operations.
They can be. Maybe you need to work in better shops. It is, by definition all of that:
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 not sure what you are talking about, but I'm talking about building enterprise class software in-house as opposed to buying generic software off the shelf. This is the software the business uses to run operations. If you organization has resolved to buying it's operations software off the shelf, like Oracle EBS, it's already admitted it can't develop software.
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 you organization has resolved to buying it's operations software off the shelf, like Oracle EBS, it's already admitted it can't develop software.
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.
So obviously you aren't interested in having a meaningful discussion, just to argue. I didn't realize I was wasting my time, so this will be the last reply.
Here's the wiki on Enterprise Software if you are interested.
Well, in case you are interested in "Enterprise Software", the Wikipedia
page you provided link to starts with all the things that are usually bought
off the shelf in enterprises, including the ones that operate in IT, contrary
to what you wanted to say.
I'm the far side of 50, and I was expecting this to be a clueless and demanding me me me piece.
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.
I'd be interested: how many OFFERS did she get (or plausibly could have gotten)?
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 interested too. Most junior devs I've known recently have to apply to hundreds of companies before anyone is "interested" in what they are offering. (which is just ridiculous if there is actually a "skills gap". Companies should take some responsibility in training, if they can.) After that, they have to take jobs that pay less than restaurant server work. I wonder why she had so many interviews. Good for her, though. I'm glad she was able to be picky with a goal of working with a team who could help her improve over time. Everyone should get to work with people who inspire and support them.
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.
Why did she retract her applications from companies during salary negotiations just because of the way the ask for first bid was phrased? ("How much are you expecting us to pay him you?")
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.
She thought it was important that the company was talking down to her. It's not a matter of accident just in the salary negotiation. It's a leading indicator of how they thought of her and what she could expect on the job. It's a red flag, and red flags are reasons to get out while you can.
You ignored the "So given that you don't really know what you are doing" part.
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?".
Its kind of an asshole question to ask, and if was sincere, I would question the judgement of people who want to hire someone so unqualified in the first place, even at a discount.
Ha! I actually like the audacity of a (theoretical imaginary) candidate saying that. If everyone in the room is feeling that same pain (it's a buggy piece of crap) they might even appreciate it and laugh. But on the other hand it's still rude and would still raise a warning about the candidate, just like you're basically saying.
A job is quite a bit more than "money in exchange for services." It's also a time sink, and an opportunity cost. And often, a barrier or aid to achieving some other goal.
Life isn't a ledger where everything is a numerically balanced transaction.
Interesting article! This is pretty timely for me as someone hiring engineers right now. I've been in her shoes before, and know both sides of the table. For those reading this and identifying with the situation, allow me to challenge in good faith the commentary in this post.
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's a good list and these points are indeed very bad signals. When you break it down most points fall under the category of basic professional courtesy and it's shocking how rare that is. Most people that I interview and give prompt and honest feedback really appreciate it. You do have to deal with the occasional rude response however - it's the cost of being a professional.
"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.
> It's a good list and these points are indeed very bad signals. When you break it down most points fall under the category of basic professional courtesy and it's shocking how rare that is. Most people that I interview and give prompt and honest feedback really appreciate it. You do have to deal with the occasional rude response however - it's the cost of being a professional.
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 laughed darkly at the part about being strung along forever. I've been on both sides of it. Sometimes the wheels of consensus grind slowly and there's nothing you can do to speed things up, even if you're really excited about hiring someone.
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.
There is something you can do - keep the candidate up to date with what's going on. If the candidate has to write a sodding bot to pester the company, that's a sign the company has dropped the ball on communications.
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.
Why work for a company that has a +95% chance of failure, a fraction of the cash you would make at a FANG, after 3 years at FB think the "average" hire is now worth like $3M.
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. :-)
Some good points but 1.6MM/year pre tax, 840k/year after tax / 740k after expenses not living somewhere nice total comp? That's roughly what you'd need with an 8% return to get to 3MM in 3 years. They pay well but that sounds pretty far fetched. I could see 300k/year pre tax, 185k/year after tax / 85k after expenses not living somewhere nice. After 3 years at an 8% return that'd be roughly 350k... Not 3 million.
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.
Ive noticed sometimes in interviews the interviewer will start to try to "sell" me on the company. Once, they didn't even ask me any questions, just kept telling me all about the company and how great it was. Generally when this happens it has correlated with other red flags... YMMV
I feel like someone has to advice younger generation to be not so arrogant and so fragile. At some point while reading this post, I notice myself thinking what a self entitled piece of opinionated garbage am I reading?. Is this person too smart for their own good? How do you deal with someone like this at workplace?
Too sensitive to handle a rude interviewer or too picky about miscommunications? how are you going to handle an angry client or a hard project or a project with older technologies thats not fancy?
If you are looking for The perfect place to work at, there is very little scope for you to shine. If a place is a mess and you go and make it better, you might be recognized for it.
It appears "gossipy" and out of place when a junior candidate comes to an interview and talks about startups and valuations. The role is usually for someone to be good at a specified job or want to be good at a particular role. Certain conversations are not appropriate during the interview unless that is for a co-founder or an executive role. People Dodge questions in interviews because thats the right thing to do and you have not yet earned that level of trust yet.
I have to respectfully disagree with many points in this post. I think many points of contention boil down to the norms of startups. Yes, they may seem cliquey, but you quickly become part of the clique when there's just a few people there.
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.
Meritocracy is the goal in this space, whether you have a degree or not should not matter. By asking for a degree some companies just want to know whether you can study and achieve on your own. At the same time expecting mentorship is wrong. Asking for apprenticeship is not. Mentor-mentee approach is often taken in the wrong direction. The onus is on the mentee to ask for help, study and better his or her skills, with slight correction from someone willing to help you. BTW, there are many other ways to get help from outside of the company without whining about it (Stackoverflow? RTFM?). You want to work for a startup - you have to have a self-starter mentality. Sort of like: Give me a training budget that I can use to my advantage, and an environment to apply what I have learned. And leave me alone to produce better code. I want to be a viable contributor to the team. I can only do so when I can stand on my two feet. Nothing personal. Many developers are not opposed to help, far from it. It's just that when the student is ready the master comes. Mentors should select their mentees though earned relationship, potential, performance, IMHO.
A lot of the replies in this thread seem to conflate demanding basic respect with being unwilling to start at the bottom. All of the signals OP lists are good indicators of either toxic culture or disorganization.
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.
65 comments
[ 3.0 ms ] story [ 112 ms ] threadIf 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.
https://en.wikipedia.org/wiki/Enterprise_software
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.
https://en.wikipedia.org/wiki/Enterprise_software
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.
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.
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.
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.
"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.
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.
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.
Too sensitive to handle a rude interviewer or too picky about miscommunications? how are you going to handle an angry client or a hard project or a project with older technologies thats not fancy?
If you are looking for The perfect place to work at, there is very little scope for you to shine. If a place is a mess and you go and make it better, you might be recognized for it.
It appears "gossipy" and out of place when a junior candidate comes to an interview and talks about startups and valuations. The role is usually for someone to be good at a specified job or want to be good at a particular role. Certain conversations are not appropriate during the interview unless that is for a co-founder or an executive role. People Dodge questions in interviews because thats the right thing to do and you have not yet earned that level of trust yet.
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.