Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: CommitAsync – $100K+ dev jobs 100% remote only (commitasync.com)
204 points by lucianh 34 days ago | hide | past | favorite | 210 comments



Kudos for shipping a product! I like the selling point of "$100K+ remote dev jobs".

Arguably a $100K+ is what someone in the US would assume to be the case in the first place, but still it hits the nail on the head being *exactly* what many people outside the US (and maybe a few more countries with similarly high salaries), including me, would want.

i.e, from the perspective of someone outside US: 'Now that remote work has put all potential candidates in the pool, let's also put all the salaries in the pool'.

The website is simple and has sensible search filters, especially for the location, e.g. "Worldwide".

As another person mentioned, "vetted" can feel a bit undermined by postings like this one

https://www.commitasync.com/jobs/mid-software-engineerjava-i...

and this one

https://www.commitasync.com/jobs/senior-software-engineer-ob...

where actual salaries are much lower than the stated ones, but I have a feeling that whoever posted the job assumed PLN (Polish) and SEK (Swedish) currencies, respectively, which would seem reasonable.

Given that you've just launched, if these details are polished out in the near future, I'm sure we could all forgive a little "fake it 'till you make it" being thrown in the mix.

All in all, well done.


Thanks for your constructive feedback! I'm a new father and I'm making/improving this product whenever I have free time.

I've created it from a pain point I've experienced myself: it's hard to find $100K+ fully remote dev positions when you're outside the US.

For the point with the actual salaries being much lower than the stated ones, you're right it's because the job assumed local currencies -> I've put it down on my todo list to fix it!

Again, thanks for taking the time to share your feedback I really appreciate it.


Just to inform you, starting next week (tomorrow), the currency problem shouldn't happen anymore for the new jobs posted.


Overall like it, so take this as friendly suggestions because I like it and would love it to get better:

While I can get using the EU flag, which is also the Council of Europe flag, for Europe, it really makes it unclear whether the jobs listed as "Europe" are EU only (or maybe EEA?), all of Europe, and which countries are included... It'd be good to make that clearer. Somehow. Europe is difficult.

E.g. one job marked as Europe lists UK as a location they have staff, while another lists EU specifically in location.

Also: Currencies matter. While I'd happily work for a US (or EU) company, and have before, my salary expectations would be much higher if the salary is *actually denominated in USD (which I have done once), because of the currency risk I'd incur... As a shortcut while launching it's fine, but if you're going to grow this outside the US you'll need for people to be able to know what currencies are "on offer".

For similar reasons, you'd also want it to be clear to people which country they'd be employed "from". A lot of places it'll complicate things if the entity you're hired by does not have a local company for you to formally sign an employment contract with, so I'd want to know. E.g. if I'm going to sign up with a US company (I'm available; see profile) I'd generally just as well contract via my limited company instead as being hired by one gives me few benefits over just contracting, while conversely being hired by a UK company gives me (eventually, anyway) assorted legal protections that make it preferable to a contract unless the contract rate is much higher than the salary.


Thanks for your feedback! I've just answered a similar comment like yours about the currency, you're definitely right. This needs to be fixed and I've put it down on my todo list.

I understand your frustration about the Europe flag, it can be a bit vague. I'll improve it as I've written it down too.

I'll have to think about the country of employment. I'm going to look if that's easy to implement, maybe for some jobs that will be harder but in any case, if I can provide this information that can be useful.


Just having the info in the listings would already be a big improvement, even if you come across ones where it becomes a nuisance to search. I'd suggest doing that first, and then you'll also see from your dataset which search options is likely to add more/less value.


I'll take care of it.

Also the currency glitch should be fixed now for new jobs, starting tomorrow.


Would love this if I could adjust the bottom of the range. $100k is quite a bit below what I'm looking for at this point in my career.


>$100k is quite a bit below what I'm looking for at this point in my career.

It's a rough pill to swallow, but the rise of remote work is inevitably going to pull things down to a "national median" somewhere in this area. There will always be the coastal tech hubs where top tier folks can go to make real salaries. But for the most part we (in the US) are going to be lumped together and forced to accept something in the range of 2x the average income instead of 3-4x, similar to how things are in Europe. Particularly when you consider the amount of LatAm/Canadian nearshoring going on right now, and the absolute glut of junior/midlevel devs on the market.


I heard this when my career started, and it wasn’t true then or now.

The skills just aren’t there. I run interviews and struggle to find anyone, anywhere, that can actually program. English proficiency is also hard to come by. This wouldn’t be an issue in most of Canada, but I’ve yet to see a Canadian remote applicant.


I think there are plenty of smart, experienced developers rooted in smaller cities, making CRUD apps for companies you never heard of, making barely over 100K. The local market rate is stagnant. These Devs can only make much more if they can find a remote position from a high COL based company willing to take a chance on them.


Thats what I did. I literally tripled my salary and landed a better work environment. Time difference is great too, now half of my schedule almost always has no meetings!


This is what I did as well. I’m located in Bakersfield in the California central valley, and the local market is abysmal compared to what you would find from a one-hour drive south to Santa Clarita, or up to SFV.

Remote may bring down wages for workers located in HCOL, but it’s been great for me as I don’t have the ability to relocate.


> I run interviews and struggle to find anyone, anywhere, that can actually program

And yet... I run in to many who still get hired. I've got some colleagues working at shops where people struggling with the concept of a front-end UI that calls a paginated API endpoint. Get page 1, then get page 2 when you need it, etc. They keep filing 'bugs' and someone just bumps up the 'max per page' from 50->80->100->120, etc. The team lead stopped allowing those PRs to go through, and others complained loudly enough that the PR blocking is overridden. Because... "pagination is hard". But these people are still employed. The thought is the team lead is being 'unreasonable' by 'demanding' pagination.

I regularly hear horror stories like this, and wonder "how do people like this get hired?" and also "why can so many of my skilled colleagues not get hired?" The gatekeeping and inability to evaluate skills, and perhaps a reticence to hire above your own skill level... all of these seem to be creating more stressors on an already bad job market.


I have the simplest programming interview you can imagine in the language and IDE of the candidates choice.

Almost no one passes.


I'm looking for work. I have a strong programming background and can't find anyone, anywhere, that can actually interview me.

Would you like to give me a programming interview?


Not the poster, but I'd be interested in seeing the sort of test the poster mentioned which only a few pass.


Prediction: Pretty much everybody here would pass.


Don't spoil it!!!


That they get hired just underlines the parent commenter’s point: good dev is a scarce resource


>good dev is a scarce resource

Indeed it is and always will be. But the issue is that companies don't need good devs. They need "make the thing work" devs. And if they can make the thing work for long enough to generate revenue, it's all that matters. Driving customer value down while at the same time depressing wages, and telling both parties to just deal with it. It's become the standard operating model for all large companies now.


But also: "why can so many of my skilled colleagues not get hired?"

It is not just about the absolute scarcity of resource, it is about the ratio between bad and good. Needle in a haystack problem.


I'd wish Joel Spolsky didn't popularize the concept of "programmers can't program".

It have made hireing so convuluted since it boils down to tabs versus spaces.

I'd rather argue that the methodology to hire is flawed generally and dice rolls are probably better then most processes. Especially the riddle and leetcode ones.


Spolsky's fizzbuzz article is the standard reference, but the reason it got so popular is that it resonated with anyone who's ever tried hiring a developer.

It's not "tabs vs spaces"; there are just many people employed as software engineers who 1) cannot translate an English (or other human language) description into working code, and 2) have no idea how software actually works. They know enough about the mechanics of programming to copy and paste code from Stackoverflow/ChatGPT and use git, but if they encounter a novel problem they are totally lost. Hiring them is like hiring someone who only knows how to drive to be your car mechanic.

If you've been in the industry for 5+ years, think hard and I'm sure you can at least think of one example of a coworker you've had that fits this description.


Is there a Spolsky article or is it this Jeff Atwood article?: https://blog.codinghorror.com/why-cant-programmers-program/

If it is this one, encountering at least one example of a coworker over 5+ years is pretty far away from the numbers implied. “ 199 out of 200 applicants for every programming job can't write code at all.” I am very skeptical of this.


Whoops yes, got them mixed up. Same sentiment, though.

Keep in mind your coworkers are the ones who passed the interview. How much hiring have you done? 199/200 of applicants not being able to code is probably an underestimate these days; now that it's so easy to apply for jobs with one click on LinkedIn, Indeed, etc. any job you post will get flooded with resumes from people who are completely unqualified and have literally never held a programming job or have any computer-related education. Can't blame people for optimism, I suppose?

If we jump to the next level of the funnel, to people who have passed an initial resume screen and are doing a phone or in-person interview, I estimate at least 60% of those candidates are still unqualified to hold a position as an actual software developer solving actual technical problems with code, in my personal experience.


The only people who are incredulous aren’t running interviews, or maybe charitably they work someplace where people want to work.


I give no leetcode problems. Most people I interview cannot get a class that they themselves are writing to compile or run.


Are you hiring? I'll take that bet, and I'm looking.


I feel you but he was right - sadly


Define "actually program".

What are you evaluating them on? Leetcode?


IIRC, Joel's thesis was could not program anything. I believe his example was fizzbuzz, and he stated an absurd number of people could not do that in an hour


The level of tests I've seen many places includes stuff like reversing a string, or if you want to be fancy, reversing words within a string. It takes shockingly little to filter out a lot of people, and I'd argue that often you want it to be at a really stupidly low level for a first pass, even when using tests they surely must have seen before.


Reversing the order of the words, or the order of the characters within each word?


Every variant is fine. It's really the kind of thing you do for the most basic possible filter. The point isn't so much what they do, as whether they're able to produce any working code more advanced than Hello World.

But it's also then possible to make use of "one step up" by asking people for variations and seeing whether they can talk about tradeoffs (still at a very basic level, but still).

E.g. in a higher level language, if asked to reverse the order of the words you often get variations of split on space, reverse the resulting array, join. In which case you have an opening to ask them if they can do it lower level, in minimal space.

In which case, the "typical" solution becomes to reverse the string in place, then iterate and find the start of each word, and reverse that in place. Both reverse operations need at most two pointers and a temporary, and can be done with the same function if you take in a start and end pointer.

If you have that helper to reverse a given character range in place, reversing the order of the characters within each word without reversing the word order is just the same thing without reversing the whole string first.


Why not both? Bonus points if you require the ability to reverse any given word in a sentence.


At least half the candidates I interview cannot figure out how to basically split a string. They all have years of SWE experience on their resumes.


What was your question? Is it “please split a string by whitespace”, and do you accept s.split() as a correct answer?

One google interviewers ask me a question that starts with “implement google search” and ends with my implementing splitting a paragraph. Of course I failed the interview, but I have to think he has failed me way before we get to write any code.


I'd rather not post too many details about the particular question, but it's only slightly more complex than String#split. It has multiple valid solutions, from regex matching to for/while/do&while loops to String#substring. If you have even a basic understanding of your language of choice's standard library, at least one solution is obvious and implementable within minutes.

I'd say about half of the candidates that interview are unfamiliar with the String#substring equivalent of their language. This is for a senior position, and everyone has multiple years of experience on their resume. It's... interesting.


My point is: are you sure the candidates failed because of their programming ability (unable to use substring), or was they confused due to the question itself? It is very easy to get to the situation in a interview where the candidate is just straight up unsure on what the question is about. The candidate might fumble not because of not understanding #substring, but rather whether you would accept it as an answer.

Many people would say those candidates should be failed anyway due to X, Y, Z reasons. But I want to highlight that in those cases, the interviewers should realize they are assessing something else, and not programming skill.


Simple test. I’d say half struggle to declare a variable. Maybe 1/4 can get a class to compile. 1/6 can get code to run. 1/20 can get code to run and maybe start to solve the problem.


I am very curious if it is actually simple or not. I've had some "easy" interview questions that are pure CS trivia. But this and your other comments make it sound practical... can you just post it?


Given a 10x10 array filled with numbers. For a given (x,y) starting point, search the 3x3 grid starting with that point as its upper left corner and indicate if it contains a particular number. Ignore error conditions such as running off the edge of the array.

I estimate that 80% of candidates could not accomplish this in an hour. 50% of them could not even get out of the gate.


this?

    array data = (array(int))random_string(100)/10;
    int x = random(10); int y = random(10);
    int seek = random(255);

    int findgrid(array data, int x, int y, int seek){ 
        for(int i=0;i<=2;i++){ 
            for(int j=0;j<=2;j++){ 
                write("%d:%d\n", data[x+i][y+j], data[x+i][y+j]==seek);  
                if(data[x+i][y+j]==seek){ return true; }
            }
        }
    }
took me 15 minutes, and only because i am tired and took a break in between. i can't imagine anyone calling themselves programmer not being able to do that.

80%? hard to believe it's that bad.


couldn't help myself, I think 3-5 min

    grid = [
      [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
      [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
      [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
      [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
      [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
      [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
      [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
      [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
      [1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
      [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
    ]

    foo = function(x,y,num){
      if (grid[x][y] == num) return true;
      if (grid[x+1] && grid[x+1][y] == num) return true;
      if (grid[x+2] && grid[x+2][y] == num) return true;
      if (grid[y+1]){
        if (grid[x][y + 1] == num) return true;
        if (grid[x+1] && grid[x+1][y+1] == num) return true;
        if (grid[x+2] && grid[x+2][y+1] == num) return true;
      }
      if (grid[y+2]){
        if (grid[x][y+2] == num) return true;
        if (grid[x+1] && grid[x+1][y+2] == num) return true;
        if (grid[x+2] && grid[x+2][y+2] == num) return true;
      }
      return false;
    }

    alert(foo(1,2,3));
    alert(foo(1,2,30));
humm worked first try, probably something wrong with it..

https://jsfiddle.net/ycx159kg/

13 min later...

    round2 = function(x,y,num){
      return grid.slice(x,x+3).map(g=>g.slice(y,y+3)).flat().includes(num);
    }


In your example the first dimension returns a pointer to a row, then the next is the offset into that row so your lookup needs to be grid[y][x]

Also you seem to be bounds checking for 0s, but to do that in the first dimension you need null pointers to pad your row selection and a second set of 0s at the end of your rows.

It's interesting that both you and the person you replied to used arrays of arrays which is the very first mistake everyone makes in graphics programming when trying to make a 2D array or and image.

A much better way is to have a single contiguous array and use buf[y*width + x] to lookup into the one dimension buffer.


> In your example the first dimension returns a pointer to a row, then the next is the offset into that row so your lookup needs to be grid[y][x]

Correct, it should be [y][x] indeed. I would have spotted that had I bothered to.

> Also you seem to be bounds checking for 0s, but to do that in the first dimension you need null pointers to pad your row selection and a second set of 0s at the end of your rows.

Not sure which is the first dimension but for an array of 10 if(arr[100]) returns false. Anything behind the && is ignored.

Looking at this again the really funny part is that it doesn't work if num = 0 since if(arr[100]) returns false if there is a zero at position 100.

> It's interesting that both you and the person you replied to used arrays of arrays which is the very first mistake everyone makes...

I copy that part from their solution but probably would have myself. I've been found out not being a graphics programmer. The experiment was a success.

Of course I've made all these mistakes to test if anyone was paying attention. (I always say that)


Not sure which is the first dimension but for an array of 10 if(arr[100]) returns false

This is taking the first pointer and offsetting it by the length of 100 pointers. There are only 10 pointers in the array so it is going into other data.

If your pointers are 64 bit and your numbers are 32 bit, even if that is referencing the memory mapped data of the sub arrays it is going twice as far as the end of the array and returning 0 purely by chance of some other memory you're dealing with by accident.

A better way would be to keep things simple and bounds check that x is less than width and y is less than height while using the single buffer method.

The point here isn't to be too harsh with criticism, it's just that it's easy to see something as more trivial than it really is.


Thats fun too.

    function foo(x,y,num){
      for(i=y; i<y+3 && i<10; i++){
        for(w=x; w<x+3 && w<10; w++){
          if(grid[i*10+w] == num) return true
        }
      }
      return false;
    }
https://jsfiddle.net/gaby_de_wilde/ycx159kg/1/


the very first mistake everyone makes in graphics programming when trying to make a 2D array or and image

but that is an additional condition that was not in the original task. there was no mention of image programming.

since we are discussing interview examples here, leaving out such a detail and then calling people out on an error caused only by missing that would be considered deeply unfair towards the candidate.

my point is, that our choice in the solution is not interesting at all because it was part of the task. you are proposing a slightly different task, which is of course interesting too.


you are proposing a slightly different task

I'm not proposing a different task, I'm pointing out that you both thought it was trivial and both ended up doing arrays of arrays then having something that wouldn't work because of the complexities of that. You're right that someone could solve the problem with arrays of arrays, but no one did.

I think the problem is mostly trivial too, but before doing graphics programming and solving almost identical problems multiple times, I would have made most of the same mistakes.


It's only much better if you care about cache misses, right? I think for a 10x10 array we can safely ignore performance concerns.


It's only much better if you care about cache misses, right?

No, not at all. There are cache misses and simplicity, but think about when an 1k image is on the heap. You have to allocate a buffer of pointers for each row then you have do a thousand individual heap allocations to get all your rows.

Now think about an image with rgba channels. Technically this is a 3d image with one short dimension. Are you going to allocate a buffer of a thousand pointers, then off of each one allocate a buffer of a thousand more pointers so that you can ultimately do another 1 million heap allocations, all 16 bytes for each rgba pixel?

There is no upside and all downsides, which is why it is never ultimately done this way, though it is an almost universal mistake when people do multi-dimensional arrays for the first time.


Yeah, I hear you, my point was just that we know the constraints up front and it doesn't matter in this case. Sometimes it's convenient to not have to pass around the length and do one or more multiplies with every index.


And that reminded me that some people were nervous about doing the nested loop solution so asked if they could "brute force" it and we would accept that. Interview stress is a thing after all.

I'm intrigued by the slice/map solution. It would have been perfectly acceptable if you could explain what the functions did. In fact, it would have led to very probing conversations: my usual interview partner and me had a deep interest in elegant solutions.


   grid.slice(x,x+3)
Turns the 10x10 array into a 3x10 discarding the rows before and after the target rows.

If the second value in slice is larger than the length it slices to the end. It could be a 2x10 or 1x10 but lets pretend it is 3.

   .map(g=>g.slice(y,y+3))
Does the same with each row making it into a 3x3 (or 2x3 or 1x1 etc)

   .flat()
Turns the 3x3 into a flat array of up to 9 values.

   .includes(num)
tests if the flat sliced array include num.


80% is about what I remember. Haven't given that test since 2015 when I left that job. But yes, your solution would have been acceptable: it didn't even need to compile, or be bug free, just show a clear logical path to the solution.

The point is that the vast majority of candidates, including some with Master's degrees in CS, could not write even a pseudocode solution to this problem. It got so bad that I started doing a verbal fizzbuzz test during the phone screen so we didn't waste so much time.


are you hiring? ;-)


Sorry, that test was two jobs ago.


I wouldn't get too ahead of yourself since this looks like C++ but won't work unless you make a special array class that returns pointers to the start of lines from the operator[] function. Even then you would need to switch the x and the y so that the y comes first.

You might say it's pseudo code but one of the original comments was talking about the low numbers of people who could actually get something to compile and solve a problem.


it's neither c++ nor is it pseudo code. but this language has been designed to closely follow C syntax, so the confusion is not surprising. in fact originally the language did have C in its name. i am going to leave the actual answer at what language this is open to allow more people to keep guessing ;-)

you are right about x and y. i was really tired :o

but it runs (at least as long as there is no overflow). here is a sample output:

    > findgrid(data, y, x, seek); // there, fixed the x/y problem ;-)
    160:0
    165:0
    65:0
    174:0
    23:0
    253:0
    229:0
    130:1
    (1) Result: 1
oh, and since we are talking about interview experiences. at one job during the interview i was allowed to provide coding solutions in this language, even though the job was about python.


Out of curiosity, here's a bit of C# to do it. This randomly populates a 10x10 grid then looks for a random target in a randomly located 3x3 sub-grid.

As per the question I've ignored error conditions, but using the simple expedient in this case of positioning the 3x3's top left within the first 8x8 not the full 10x10.

Example output is underneath.

    // Make and fill the grid.
    var r = new Random();
    var grid = new int[10, 10];
    for (var y = 0; y < 10; y++)
        for (var x = 0; x < 10; x++)
            grid[x, y] = r.Next(10);
    
    // Draw the grid for reference.
    Console.WriteLine();
    Console.WriteLine("    0 1 2 3 4 5 6 7 8 9");
    Console.WriteLine();
    for (var y = 0; y < 10; y++)
    {
        Console.Write($"{y}   ");
        for (var x = 0; x < 10; x++)
            Console.Write(grid[x, y] + " ");
        Console.WriteLine();
    }
    Console.WriteLine();
    
    // Random starting point and target.
    var tlx = r.Next(8);
    var tly = r.Next(8);
    var target = r.Next(10);
    
    // Extract the 3x3 sub-grid and "[ ]" any matches.
    Console.WriteLine($"Looking for {target} in 3x3 grid at {tlx},{tly}");
    Console.WriteLine();
    for (var dy = 0; dy < 3; dy++)
    {
        for (var dx = 0; dx < 3; dx++)
        {
            var ax = tlx + dx;
            var ay = tly + dy;
            var v = grid[ax, ay];
            if (v == target) Console.Write($"[{v}]");
            else Console.Write($" {v} ");
        }
        Console.WriteLine();
    }
    Console.WriteLine();
    
Example output:

        0 1 2 3 4 5 6 7 8 9
    
    0   1 2 5 4 1 8 0 2 8 5 
    1   4 2 2 5 8 4 4 0 4 8 
    2   7 1 8 2 5 6 3 6 3 6 
    3   8 7 3 2 4 6 5 9 6 2 
    4   6 3 4 2 9 7 4 7 6 1 
    5   1 4 2 3 8 3 2 4 3 3 
    6   0 6 6 5 1 4 7 3 4 9 
    7   2 0 6 9 9 9 3 9 1 7 
    8   1 6 5 8 3 8 9 8 3 4 
    9   0 8 7 9 5 4 0 7 0 3 
    
    Looking for 5 in 3x3 grid at 2,6
    
     6 [5] 1 
     6  9  9 
    [5] 8  3 
As others have said elsewhere this could use a one-dimensional array but as we know upfront what the constraints are I've gone for the clarity of the two-dimensional. This is said to be the very first mistake everyone makes in graphics programming - but nothing in the question says it is for use in graphics, so being an interview question I went for clarity.

Similarly there's the possible use of a ternary, less memory allocation, and tighter code, but again in this situation I'd go for readability.

There may also be edge cases not covered; this was a 10 minute hack (as it looked fun) and isn't exhaustively tested.


Simple assignments that should be doable without using google or any external sources. Just fire up an IDE and solve a problem while someone watches. So many fail.


I'd fail 90% of tech interviews on the spot if I had to fire up your IDE, instead of firing up a white board and an expo2


And that’s why we don’t hire people that are like that. We need to hire people who are comfortable being uncomfortable, and can think on their own rather than just pull down answers from other places and massage them to fit whatever problem their solving.


What is the sign that one knows his job?

He comes dressed for it and with his own toolkit.

You seem to be testing for proficiency in slow NIH-tendencies basically, but since discomfort is a requirement, maybe that works for you and for them too.


If you can't fire up an IDE and write code, you probably should fail that interview


Risk aversion.


That’s not how it works.

Engineers are not really commodities. The right engineer can really push your business forward and become a powerful asset. The wrong one can set you back years while your competitors surpass you. As long as there’s companies out there who want the best, the best will command higher salaries.

If you manage to hire a great engineer for a cheap price, inevitably they will have no loyalty and leave your company for a higher offer. Thus losing you money in the long term and harming your business. A remote worker can do this easily.

If you want cheap, the unethical thing to do is hire local talent that doesn’t enjoy remote work and can’t move easily. You entrap them into the job and pay them less.


Good points. To go further, the analogy I give is it is like hiring Stephen king vs a mediocre writer. The latter can get some interesting articles written, but the former will spawn book series, spinoffs, movies.

Which is to say, I think there is a non linear effect to product quality provided by engineers who build the exact right thing and build it well. (For exact right thing, to illustrate, there are 1000s of requirements in a software system, perhaps more. Meanwhile there might be 100s of JIRA items. Meaning, there is a magnitude order gap between specified requirements and the rest. All requirements need to be coded up whether you know about them or not. The pro engineer will bridge this gap, the mediocre engineer will NPE instead)


NPE?


Indeed, null pointer exception, or a segfault in C. In essence an unhandled state error, sometimes largely from inexperience.


NullPointerException, ie crash; I assume, but I’m a business guy


NullPointerException?


I think you misunderstand what I'm saying.

There are _plenty_ of jobs in the range I'm looking for. This site doesn't allow me to find them. That's all.


So don't use it. If you already know there are lots of jobs in the range you're looking for, why do you care about this site?


Because I would still like another way to look for them. Is this a serious question?


It seems strange to see someone set expectations up front with what their site is for, then have someone complain that it's not for something different.


The site is built around having a lower limit on compensation. All I'm asking is for that limit to be adjustable. That's not something different, it's the same thing, but more flexible/usable/better.


Did you look at the site? There are a lot of filters and not that many jobs. You can just look through them.


The filters are too low for my needs.


That doesn't make any sense. There aren't that many jobs, you can just look through them. Do you think there are listing that the site has but doesn't show anyone? Do you think it's filtering from some other larger database? Why not just go to that source instead?


there are filters for salary ranges. but what you are looking for is all ranges from a certain starting point, or more general: a custom range. i think that's a reasonable suggestion.


Your post is the definition of toxic positivity. The OP needs feedback on how to make the site better. Tell them how to do it isn't entitled, it's the literal point of the post.


The OP needs feedback on how to make the site better.

Do they?

Also there aren't that many jobs to sort through, they could just look through all of them.


> Great suggestion. I'm adding it on my top priorities.

This is from the OP / site author.

Seems they appreciated the feedback.


Generic specialty lawyers can make $350/hour, so can generic specialty SWEs. Don’t sell yourself (or others) short.

Remote has nothing to do with it.


Yes they can, though not on 40 hr/ week and 50 week/year basis. And I know some software contractors who also do roughly same. But usually I see software folks have expectation of ~2000 hour of paid work per year


>> "Generic specialty"

Which is it?


Generic as in non-rockstar/famous. You can be a generic specialist, like a generic patent litigator, or a generic firmware/embedded engineer, without being some conference-speaker hotshot.

There are lots of working and extremely skilled specialists that don’t bother to blog and do talks and self-promote that don’t have widespread name recognition that can and do still bill $200-500/hr.


Standard a better word maybe


No it wont and anyone who hires at that rate will get what they pay for.


What does "national median" matter in terms of REMOTE jobs? In theory there should be one global market then, where only (hard and soft, of course) skills matter. But I know we're yet not quite there.


No such thing as a global market. Time zones, English proficiency, and cultural compatibility will always be real issues affecting real teams trying to build software.


Don't forget tax domains. Most remote companies in the US want to hire only in the US, not just anywhere in the world, due to needing to set up taxes in every single country their employee might be hired from.


And all the non-tax-related employment law that can also differ.


In theory, yes. Like you’re saying we’re still not quite there yet.

In practice there are constraints that limit job markets geographically, e.g. time zone differences or legal obstacles to hire foreigners.


I'd argue Elance was(?) such a place and it was really bad with the worst clients imaginable.


Update: it's done. You can adjust the min salary dynamically.


Great suggestion. I'm adding it on my top priorities.


legit question: do you have good luck cold-applying for high end jobs in this market? I just posted a senior full-stack developer job at 130-150 CAD and we've gotten 100's of applicants. So much wheat is going to get discarded with the chaff


Can I ask how you filter candidates?

I have applied to numerous companies and get what look like mostly automatic rejections despite many years of experience, shipping products, research, etc. I also have experienced friends who say hiring is very slow and cold right now, it's not just me. Do you use any sort of automation?


My current position was a cold application that pays over $200k USD. Sounds like the problem is on your end not being willing to sort through the chaff to find the wheat.


For a single position and 500 resumes presented, how much time are you willing to allocate per applicant on the first and second pass through the stack?


Depends on the importance of the position. I'd be willing to spend a minute or two on each resume. I'd probably take a week to get through them.

If I'm hiring directly for my team, I might even take more time on each resume.


Would you be throwing out a lot of the potential good hires with only a minute looking at a resume? And likewise, are you sure you’re not getting false positives of poorly qualified candidates with good resumes in only a minute of looking at the resume?

This is what the GP is lamenting.

At 500 minutes of time, this is a solid day of non stop resume reading.


130 CAD doesn't buy much wheat.


Test


Very cool.

Just a caveat regarding Latitude AI, one of the listed companies.

When I applied about 12 months ago, I learned they wouldn't hire residents of some U.S. states.

I'm assuming it's because there weren't enough potential employees to justify the cost of handling that state's employer responsibilities.


Could it be about avoiding some pay transparency laws?

https://en.wikipedia.org/wiki/Compensation_transparency

>California, Connecticut, Hawaii, Illinois, Maryland, New York, Nevada, Rhode Island, and Washington have passed compensation transparency laws as of 2023. Some US cities also have compensation transparency laws, including New York City.


Having been on the employer end of this, yes, a small company can find it hard to justify the fixed cost of adding another state’s worth of cost/effort overhead to hire one person. It’s a nontrivial barrier to deal with for a fully remote startup.

One workaround is to use a “PEO”, or “co-employment” provider, to be the employer of record and handle HR, insurance, payroll, etc. Though it can feel like a rather weird arrangement when employees don’t technically work for the company they think they do.


Ah, good to know. I already have some idea to prevent that in the future. Thanks for the heads up.


Update: it shouldn't happen anymore, only jobs in the US without any state requirement should be posted from now on.


Ah, good to know. I suspect that might be the case for Canadian or Quebec resident.


I’m poking around while on an airplane, so the network speed is pretty slow. The site crawls to a stop with each character I type into the search box. As a performance booster, perhaps consider adding a short delay before firing off queries to update the results or decoupling the the search box from the query result?


Ah, unstable connections! It's good that you've noticed me of this performance matter. I'm going to look for improving this issue.


Crazy idea: provide a search box, and when the user hits "enter", POST the data to the backend, which queries the database, and then returns the relevant results.


It's possible to make autosuggest performant on poor Internet connections, it just needs a little more thought put into optimizing for it:

1. Debounce!

2. Use WebSockets to minimize unnecessary round trips

3. Cache previous results and use them when the input is a superstring of a previous input (e.g. results for "Android mobile dev" will always be a subset of the results for "mobile dev")


Crazy straightforward


Retro.


“100% vetted jobs“, but also shows a position from Grafana with salary of $837k - $1004k.

Hard to trust the vetting with inaccuracies of this scale.


Also what does "no estimates" mean? I would have thought it would mean explicit salaries for each post, but i see many ranges, some with ranges starting below 100k (94k, for example).

I'm not making a big deal on 94k vs 100k, but the two points combined makes me (a casual observer) a bit confused on what is being vetted here.


That's an interesting point you're raising.

"no estimates" because in a lot of job boards, when they don't have the salaries for the job posts, they estimate it based on the median salary of the position. I only advertise jobs with salaries, I don't guess them. Do you have a better wording to illustrate this aspect of "no estimates"?

Also, would you prefer having less jobs shown, but with a minimum $100k salary if it's a range?

Regarding the vetted aspect, it's related to the fact some companies aren't actively recruiting (you can read more in the article linked in the About page of the website).


No idea on wording, i also don't have much experience in this space so don't take my comment as critique. Rather just an observation from a uninformed user hah. It does seem the wording was my only issue.

> Also, would you prefer having less jobs shown, but with a minimum $100k salary if it's a range?

I don't think the range matters to be honest, but i do think "breaking" the range erodes confidence and/or increases confusion on the user side. Ie the page explicitly told me no posts less than 100k (iirc), but then showed some less than 100k - so confusion/etc.

> Regarding the vetted aspect, it's related to the fact some companies aren't actively recruiting (you can read more in the article linked in the About page of the website).

Sounds good! If i'm indicative of the "average user" you may want to make that aspect more prominent? But i could also be well under your target user, in which case ignore my ignorance :D

Cool site! I hope to use it one day when i'm looking!


It's true that it may confuse a user if they see a salary range outside what's advertised. I modified the logic so from now for new jobs, the min salary must be $100k+ minimum. Thank you!


I clicked through on that post, and it's a real job. It's just that it's in SEK not USD, so the low end of the range is actually $79,446 not $837,000.


Yeah, the site listing only seems to understand dollars, but some of the postings have (of course) different currencies.


Vetted as in, the companies are actively recruiting. Regarding the point you're making though, thank you and sorry for the confusion. The inaccuracy exists because it's (by mistake) advertised in dollars instead of the local currency.

As I work on this as a new dad after my full-time job, some little bugs are bound to happen while I improve it one commit at a time. Rest assured, every feedback is taken into account.


It was immediately obvious to me that that job was in Sweden. That figure makes perfect sense in Swedish Krona.


Some ads have their salary put in local currency, which is a lot less than 100k USD. IE. couple of Polish, Swedish ads. one swedish ad starts at 837k which is comical.


Yes, it's a currency glitch I'm looking to fix as soon as possible (when my little baby lets me have some free time). Thank you for raising this. I've deleted them in the meantime.


The glitch has been fixed and shouldn't happen anymore, starting next week (tomorrow).


Very nice work, the number of American flags I see here really has me thinking maybe I should move back home in a few years. (Like, 5 to 7 - I'm not leaving Finland until I become really fluent in Finnish. Call it a self imposed challenge.)

Can anyone tell me whether they think $100k+ salaries are more or less common over there compared to 2021? My first job out of college with Epic was around $90k at the finish, but I was coming in fresh from electrical engineering, I wasn't a CS major. I plan to head back with the Georgia Tech master's in comp sci, and I'm pretty sure I could crush any coding interviews that got thrown my way even now given a few weeks to revisit my old Neetcode 150 Anki card deck. The only thing which might hold me back is the languages I like on the job the most are painfully boring (Python, Javascript, good old fashioned SQL, Bash to shore up the organized-electron supply chain).


The public tech companies (and hot private ones) all pay $250-300k and up for senior devs who can pass the interview process.


Only the megacap ones.

For the other smaller but still public companies you need to be staff+ to hit that, and even then no guarantees


I work at one that is definitely not megacap, nor do we pay at the top of the market, and that’s below our range for senior, which is more like $300k-500k, depending on specialty and geographic area. Staff is more like $500-700k.


Crazy, that’s approaching OpenAI pay… is it in the AI area?


Is the quoted range region specific or ”worldwide”?


Same, when I left the US in 2013 I was early career and the gap wasn’t as big but now it seems like European pay is just atrocious. I was ok with a 30% pay cut for quality of life, not 60%. Weak euro doesn’t help either.


Reaction to the name and not the site: it would be cool to see a listing site for jobs that are truly asynchronous: as long as you get the job done your actual hours don’t matter.


Would you make exceptions for say "OMG something went wrong need someone to look at this now / all hands on deck!" kinda panic situations?

Stuff happens, humans make mistakes, can only be fully async so much IMO.

I'm not hiring anyone or anything like that, just curious.


Yeah, I think that would be a totally reasonable caveat.

It's all a theoretical thought. But I feel like pre-pandemic a lot of companies were wishy-washy with remote: yeah, we do it, some more than others, whatever works... post-pandemic a lot of workplaces have codified in vs out of office days, that kind of thing.

Async feels similar. A lot of "hey yeah, it's all cool, as long as you get the work done" sentiments, but then daily video standups at 10am, team meetings multiple times per week, etc. I'm just curious what a codified version of that would look like.


I hear you there. Everything is async until there's a bunch of stuff that isn't and ... wait a minute.


THIS. Otherwise it's a huge clickbait and absolutely nothing more. We need more "specialized" IT job marketplaces, as most currently existing seem to be fulfilling exactly the same role and not a single one is bringing anything new. For example there was something like "AnonFriendly" posted here on HN some time ago, I really liked this idea.


> as long as you get the job done your actual hours don’t matter

The number of hours goes both ways, it also protects you from having to work 100 hours every week.

I'll hire you to work to just get the job done, with no actual hours required in the contract, but you better believe you'll get 3 weeks worth of work to do in a week.


this is pretty naive for anyone who's ever held any sort of job - they don't work like that.


I'd wager people would have said the exact same thing about remote work a decade or so ago.

"You want a job, you go to an office. That's how it works"


Ah, so you want a service that forces employers to tell the truth. I think that's called "Congress", but it looks like it's been abandoned for a few years now.


Nitpick, but if the filter options are mutually exclusive then they should use radio buttons or lists. Checkboxes imply that multiple selection is allowed.


That's true, I'll see if I make the filter options not mutually exclusive instead if that's more useful (see comment below).


but it would actually be more practical if the choices were not mutually exclusive


Thanks for your feedback. Could you explain why it'd be more useful to you, what do you usually use the filters for?


I’d find it useful to be able to see eg a wider range of salaries or languages. My job search is a fairly flexible, so I want wide filter parameters.


I've made them not exclusive, it should be more useful to you, from now on.


Sites with infinite scroll should not have footers.


Well noted, I'll think If I need to remove it or not.


Update: I've removed it from the jobs listing page, it drew attention away and was unnecessary. Thanks for your remark.


I really don't understand the canadian salaries. It doesn't make sense given we can work for the US


(I am speculating here...)

Canadian citizens can work for a US based company under a TN visa. You would still need a work visa for the country you work "in" - and the TN would be applicable.

Non-citizen Canadian residents are not eligible for a TN visa and would be restricted to only jobs within Canada.


But this are all remote jobs, so the VISA thing is not relevant, at least that's why I brought this up


I am basing this off of https://blog.hireborderless.com/post/working-remotely-for-u-...

> To legally work for a U.S. company, a Canadian citizen must obtain a valid work visa. This is known as a TN Visa.

And https://www.uscisguide.com/visa/nonimmigrant-visas/work/u-s-...

> 13. Are there any special considerations for remote workers with a U.S. work visa?

> Yes, remote workers with a U.S. work visa must comply with the same rules and regulations as their colleagues in the U.S. This includes such things as tax, insurance, and labor laws. Additionally, remote workers must ensure they understand the regulations of the country in which they are based, as they may vary from those of the U.S. Furthermore, remote workers should be aware that they may be subject to different immigration rules and regulations than their colleagues who are physically located in the U.S. Finally, remote workers should ensure that they have a valid work visa in order to remain compliant with U.S. immigration law.


I see. Usually when working for the US from Canada what happens is you are treated like a contractor (which has some complexities), or hired through a PEO or the US company opens an office in Canada


Please consider a slight delay at typing stage to avoid this round trip after each character is being typed, it becomes very sluggish, even on top of the line connections.

I don't have opinions in terms of the product itself since I am not the target market, looks good in terms of design, I like that!

Best of luck!


Thank you for the feedback! I've added a slight delay, let me know if that works out better for you.


Great work! A small suggestion, filtering by part-time/full-time would be great.


Thanks! I've already started to work on it actually, I'll see to finish it up.


please make sure that part time jobs are included as long as they reach a fulltime equivalent of 100k. that means a 20h per week job should pay at least 50k a year and still be considered a 100k job for the site.


100k isn't what it used to be. I recall the job site "TheLadders.com" opened in 2003 advertising "Only 100k+ jobs, only for 100k+ people".

That's like $60,000 today.


I reckon with inflation this is going to get worse.

However, we have 2 options there: a. raise the minimum to $150K but reduce jobs for people outside of the US to basically just a few if any b. keep it at $100K (for now), and let the person adjust with salary ranges filters


And the dollar store no longer sells things for 99c. It's a nice round number.


My observation is that back then we used the number as an anchor for where "the good life" starts, and we still seem to be doing that, even though it's an amount that's getting you closer to "just scraping by".


https://www.commitasync.com/jobs/senior-software-engineer-ob...

Well that sounds great position.

Salary is a little low though, hopefully we could negotiate!


I respect your humor. It's a currency glitch that's going to get fixed.


There was a Mexican company offering $800k - $1000k. It's still technically $100k+ but wrong currency lol


Mexican dev salaries are really creeping up. $1MM MEX is no longer "pennies on the dollar" unless by pennies you mean "most of the pennies".

So you want to hire top quality developers for cheap that are the US Central time zone? Well, so does everyone else, and they got there before you did.


Starting next week (tomorrow), the currency problem shouldn't happen anymore for the new jobs posted.


I wish job sites would show total compensation. They show a Mozilla job posting which, when I was there, would consistently pay 30%+ bonuses. At other jobs equity comp has been 50%-75%+ of my comp. Comparing jobs looking at base only is useless for me.


If they showed "total comp" as a single number the next (legit) HN complaint would be "why don't they show base salary? everything else is totally dependent on how and when you value it!"


Mozilla at least really did pay straight cash bonuses so there was no equity valuation stuff to worry about.


If only we had the technology to show both TC and a breakdown. Alas!


Just show the breakdown. levels.fyi does this correctly. It shows the information correctly and I can then properly compare how I value salary, performance bonuses and equity/options in each particular company.

This should be the golden standard now.


They almost certainly don’t have that data.

Levels.fyi is the only semi-accurate source for TC that I’ve found, at least it’s pretty accurate for the public tech company I work for.


Seems like that could just be variable and honestly kinda deceptive.

Yo our startup is awesome, you get some equity like thing that is worth a ton!

Yeah about that ...


On target earnings is a standard terms. I'd rather have equity be disclosed upfront. You can weight that however you want, even if you value it at zero.

Just because it's non trivial, I don't think the answer is to give up. Showing a breakdown is perfectly acceptable.


Breakdown wouldn't be bad, but the total would be irrelevant when looking at a list of jobs if we assume we have to go in and validate the math each time.


Looks like some jobs are scraped from other sites? Because some referral links are still in the 'Apply' button, for ex: https://rubyonremote.com in the Reddit job.


it seems a good chunk is just coming from other job boards:

- sportstechjobs.com

- levels.fyi

- Khosla Ventures Job Board

- SpaceTalent Job Board

- Accel Job Board

- CrackedDevs.com

...


I don't know any of the job boards you've mentioned except levels.fyi.

And no, I don't scrape them.

You can have jobs with apply link URLs containing utm parameters in it. Even if you didn't scrape the website linked.

This will be fixed, though.


Looks great, one small ask - could you add Clojure to the list of technologies?


Thank you, I've added it. It should show once I find new jobs with it.


Thank you for creating this!

One request - please could you add "Scala" as a tech tag. I noticed at least one of your listed roles is for a Scala developer, but the tag is "Java"


Thanks! I've added it, it should be picked up correctly next time.


we need at least 8236 more job boards


I like the About page explaining the motivation and how it's different. If you want to get ahead of the curve, filters for 4 and 3 day work weeks would be very cool.


I'm glad you did find the About page useful, I've tried my best to tell my story and the whys behind this project.

That's a very cool idea to have these filters, that'll help other engineers who want a better work-life balance a lot!

I'll have to think on how to approach this.


What a useful waste of time.

There are already hundreds of websites, boards and aggregators that could be improved with a single input field


Please don’t turn into infosec-jobs, Please don’t turn into infosec-jobs, Please don’t turn into infosec-jobs,


Care to elaborate what you mean? I don't know about them.


They are a completely free site aggregating infosec openings globally and now they’re gatekeeping everything behind logins.


I see, I won't gatekeep job listings behind logins. Information should be freely accessible.


I want to see jobs that can be done from any country as long as I am on the same time zone. Is it possible?


Would having timezone filters be useful to you, like EMEA, APAC etc?


typping "django" in the search in firefox on macos only lets me type one letter every second


that's because "django" is slow. try typing "ruby on rails". that should be faster ;-)


It should be fixed now, thanks!


is this job board open source? I'd like to run one too.


Please don’t accept 100K


So, "please starve so I can get paid more"?


Who is the audience for this comment?


Thanks!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: