Once you get very good at leetcode-style questions, just apply anywhere and get an onsite with a one-hour interactive technical screen, that will also tell you about the sort of people and culture that employer has.
Conversely, homework assignments can easily take 5-10 hours. There's a lot of desperate unemployed people out there taking 10+ hours for these tasks, and setting the bar really high. A busy professional can be hard pressed to invest 5 hours they can ill-afford coding this task after a full day at work, then get rejected because some unemployed applicants dedicated 20+ hours for the same task.
There are also services that solve these tasks for you, so now you - a busy professional - are competing against hordes of people who do these tasks all day every day for a living.
So you hard-scramble 4-5 hours to finish a take home assignment to apply to just one place (!), and then you send it in and get a meaningless rejection note. Sometimes you don't get anything at all.
These are some of the reasons I'm never completing a homework assignment again.
What also frustrates me the most is when they say "use whatever language you want", I use Scheme or Haskell, and I get feedback to make it more "modular" by making it more object-oriented. The reviewers of the take-home assignment will be too afraid to admit that they don't understand Haskell, too afraid to admit that they made a mistake making the language a wildcard, and automatically assume that it's less scalable because it's not Java.
Not a great income at a place where a half decent 1br can easily cost you over $40k/yr.
Definitely became about a million times easier to live when I left academia and started making six figures.
Requirements are "in-depth knowledge in big data, data science, Python programming, object-oriented programming, machine learning, or natural language processing (NLP)."
Responsibilities are: "Lead technical workshops and training sessions in different areas of data science and Python programming
Help clients and students understand the immense career options for Python programmers and data science knowledge
Motivate clients about the career change and career boost that upskilling with Python, data science, and blockchain can provide."
I think it stands to reason that if big data, etc. generally paid much more in the NYC area, nobody would take such a position, so this must be representative of the job market.
Either way, let's get real for a second: a software engineer is a highly trained professional working in an high-demand field.
There's no reason for them to be earning $120k/yr, which is a pretty low salary in a very high CoL area like NYC.
I mean, not really? I just hopped onto the A train straight down to NYU; it took me like 40 minutes door to door, and being on the train allowed me to read, so it's much better than driving.
I make substantially more than that now, but have moved to Brooklyn since then; door to door it takes me about 50 minutes, but I wouldn't classify that as "a nightmare".
> a software engineer is a highly trained professional working in an high-demand field.
At the time I was a college dropout whose only professional experience was in startups, 4/5 of which had gone bankrupt, though the university actually paid their actually-qualified people pretty poorly. My coworker had a masters degree in data-science, and was only making $75,000/year.
Depends on your perspective, I suppose. Personally, spending 2 hours every day in commute is definitely not how I want to spend my life. A major reason I would move to a city like NYC is to eliminate such a long commute.
Last few times I took the train to Brooklyn, the train was always delayed by several minutes. Sometimes 15+ minutes. Trains were packed, especially during rush hour, and there was nowhere to sit. Occasionally they'd just stop place for technical reasons for as much as 10-20 minutes. Definitely not a smooth or pleasant experience.
Regarding compensation: $120k is becoming entry-level compensation in the Bay right now.
Here's an ad from someone looking to hire a programmer in Nassau county:
VOIP company looking for a technician to assist with programming back end systems. Should be knowledgeable with various database programs and voice services and applications.
Primary experience: Windows Environment - IIS / ASP.Net, VB.Net, MS-SQL, XML, Json. Primary helpful: PHP, MySQL
Secondary helpful: Google SDK, ffmpeg / sox, SIP Voip , basic CentOS / Debian navigation
Job Type: Full-time
Salary: $35,000.00 to $45,000.00 /year
I guess that will be the next trend in hiring propaganda: selling us on that sweet homeless life.
Like a lot of ads, they mix ridiculously specific qualifications with ridiculously generic ones.
For example, one important skill is: - "robust practices" such as "loops"!
and another is: - "knowledge of City University of New York Institutional Research Data"
Here's the list of skills wanted from another NYC junior programmer want ad that says $35-40K/yr:
Programming Skills Desired:
Transact SQL
Database Design & Theory
HTML
XML
CSS
JavaScript
VB Script
Auto Hot Key (AHK)
PHP
C#
All of these (except for AHK which I've never heard of) look trivial, but I'd expect the interview would be impossible, because the interviewer is going to be primed to expect people with no skills and therefore assume the worst of anyone who doesn't have 110% current experience in each.
VB Script and PHP and T-SQL and C# along with the rest?
I'd expect a college student not to be actively taught any of these (T-SQL maybe if they took a database class), and they're not exactly the new hotness for languages to learn.
I'm saying this as a dev that works for a company that uses a Microsoft stack right now too (I almost never see anyone talk about C# on this site or in the Who's Hiring threads.).
This seems like a laundry list of that employer's specific tech stack hoping they can get some sucker that has their exact stack because they happened to experiment with all of those languages in their free time, which is unlikely. Anyone who does have this stack can probably get a much better salary almost anywhere else.
It does say "desired" at least, and not "required", so they might not expect applicants to match this completely, but I bet some of the interviewers haven't gotten that memo (which seems to be what you're saying in the last paragraph also).
Also you mention you haven't heard of AHK, and it can be pretty useful. It's basically a macro program for doing things in Windows and assigning a hotkey combination to it. I've scripted some things in it before, although I'm not currently using it. It's not that hard to learn, and I can't imagine that any programmer couldn't pick up the basics after a few hours on the job, so I don't know why anyone would include that in a list of technology, thereby adding one extra thing for an applicant to think they need to have experience in to apply and not apply to their company.
I have no desire to live north of 59th st, but lets be real here.
Anyway, NYC software engineers do not need to compromise on their living situation. Google alone has bought two billion dollar blocks of Manhattan pays just as much as in the bay area.
These companies get a ton of candidates and tell them all to submit homework assignments that take at least 5 hours (in your case 12).
Reading 12 hours worth of coding work is intense effort even when you know the language well. If you don't, it can take a multiple of that number of hours.
Some programmer got 10-20+ of these completed tasks dumped in their lap.
I can pretty much guarantee they never really took the time to read and review the code with anything close to sufficient care or attention. Doubly so if it's in a language they didn't know very well.
Do you mean you've gotten rejection letters straight after submission? In anything but exceptional cases I thought it was standard practice to always have an interview after the submission and talk about the solution - how you talk at the code, design choices, possible optimizations and issues should weigh heavier than the quality of the submission itself.
So I don't think anyone using services doing it for them has any success with it. And if they do, you may have dodged a bullet.
Yes, that definitely happens. In fact, from what I've seen, it's the norm: companies who give out homework projects only bother spending any time with you if you completed them to their satisfaction.
Otherwise you just get a meaningless auto-generated that they're rejecting you.
> So I don't think anyone using services doing it for them has any success with it.
Why not?
If I'm a mediocre programmer in the US, I can go online and buy a solution with a full, detailed verbal explanation attached. Then I'll take maybe 40 minutes to read through the solution and explanation, and voila, I'm ready for any followup session you may have.
So they'll have you do one before you even come onsite. Then if you pass, they'll run you through the same whiteboard loop we all know and love. Even if your take-home performance was fantastic, they'll still reject you if your onsite performance was anything short of.
In practice, I take jobs that don't require demonstrating anything technical in the interview.
But a take-home test would only add information, not take anything away. So there is no reason in principle someone couldn't use it to hire.
A candidate like that will have 10+ companies trying to recruit them. Out of these, 9 will require 1-2 hours of remote screens at most for an onsite. The 10th will require a 5-10 hour take-home project for the same onsite.
Which one will the strong candidate skip?
But on the other hand, I think good professional like you, don't need to take 4-5 hours for a take home, since you'll be fine without doing it :)
Thanks, but I'm a programmer, not a magician. A good programmer might work faster, but he's not able to reduce any amount of work to a constant.
A good programmer may accomplish in 4 hours what an average one will accomplish in 7-8, but he will not be able to do it in 1 hour. Also, he will still seem inferior to an average programmer who took 20-25 hours to perfect this project, especially if those take-home tasks are all that other programmer does.
EDIT: Also, at least with the Hackerrank for hours a day, it's not for any specific company. Getting good at these problems is useful for getting a job at virtually any big company. Contrast this to the take-home project, where (in order to make sure you don't just copypaste someone else's from the internet), they make these things kind of specific, making the transferability to other things substantially less likely.
Have you seen some of the study guides / roadmaps people make for FAANG interviews? I've seen people claim they've coded hackerrank / leetcode / CTCI questions for multiple hours a day, for months.