1,216 karma · joined October 24, 2019
Solving hard problems like this seems interesting.
On the other hand it could be a giant shit show of micromanagement and toxicity, who knows really.
At the moment they aren't hiring though so that's that.
I've been in several that had these types. I think the only companies that didn't were companies in industries that didn't need any specific domain experience example here are one that did:
* Oil and Gas (Flow metering)
* Network Timing and Sync testing
* Health and Care (Worked in Care and had several)
* Practice Management
Ones that didn't
* Data analysis
* Data warehousing
I disagree.
I've rarely seen any programmers that are domain experts, most of those domain experts are actually hired in a consultancy role.
As they work through the projects programmers can become very familiar to a specific domain but in general that's not their job and they will be treated as such. They will be consulted on implementation but less likely, if at all, on strategy. Which is what I would expect from a domain expert i.e. a consultant.
The highest paid programmers move jobs most often the lowest paid don't that'll tell you what becoming a domain expert means for a programmer.
What I've seen is slow queries but a bigger problem is actually too many queries. It's easy to do especially when using an ORM.
It mostly happens on change when you want to add something to an existing query the changer just add their new query and slop it into a loop, boom performance is gone.
<3 To the engineers trying to fix it at the moment.
https://atomicsemi.com/careers/?ashby_jid=c991fb4d-e634-42f2...
That can actually successfully perform that work. All for 100k-170k in SV. The Lab tech again has a very high skill requirement and quite low pay:
https://atomicsemi.com/careers/?ashby_jid=bb2112f2-914a-4ee0...
In all honesty I think working for this would be fun but also insanely stressful and note worth if for the employees.
Me too! But to allay our fears I think that the OP here is saying all programming will change to some NN powered large language model. That is not true. There will still be "manual" i.e. not NN powered programming and I suspect that it will be the case that type of thing is the majority for the rest of my career.
Good luck to the poor sods in 100 years time arguing with a poorly trained LLM to output some unit tests whilst a virtual chatbot runs the standups.
Imagine if the Therac-25 software was written by chatGPT.
About £1 million would allow a 3% draw-down forever and give a really nice salary like much higher than the average.
Remote work as existed for a long long time.
The pandemic made more people and companies go remote but it's been there like forever.
In context of ycombinator almost all start-up companies that have ever existed will have extensively used remote workers are the start phase of their companies.
I used to get real upset when the codebase I working on was shit and even left companies due to this. In reality what was more important was those companies where paying a shit wage that was why their codebase stank.
I've actually tried a lot of the solutions talked about here and none of them actually work.
Software like slack is literally designed to make people interrupt you and pull you away from productive tasks.
I've heard this argument before. If you read again they say:
"slack empowers your worst people to overwhelm your best"
This isn't a culture thing it's a property of the entire industry. No company can stop employees doing this, not even in office. Slack on the other hand is a tool that actually promotes these interruptions.
It's like a table saw without the guard. Just because I haven't cut my fingers off doesn't make it safe, it just makes me lucky.
The signal is out that growth is slowing so they chop people. The culture in the Western world especially in USA is that "layoffs" are necessary. USA is one of the only countries in the world with "At Will" employment. In most other countries these level of layoffs would sink a company easily.
USA is a rather ruthless work environment where workers rights are basically non existent.
You know I can see you post history right ? 5 months ago you posted about this:
https://news.ycombinator.com/item?id=32546472
Please don't lie to me...
> Also, anytime there's a conflict, we can just make a new branch and ask the developer to merge or keep working on the new branch.
Ok so this tool doesn't solve the problem of merge conflicts.
> The client will watch your file system for changes and hold a gRPC stream open for remote changes. If you don't want to sync your changes, you don't have to leave the command running. CI/CD support will come later.
Eek then the thing isn't consistent if two of us are using this tool and I keep it open all the time I'll generate a lot of commits. If you only run the command sporadically you'll generate significantly less.
> I'll be compliant with regulations soon, but I'm not really expecting people to use this yet. I mostly wanted to release the source and see what people thought of the project. I am using GDPR compliant Plausible analytics if that makes you feel better!
I feel nothing only pain :-). I note that you have missed out my comments on limiting your liability. Since you seem to be deliberately doing that I'll give you some advice. There are some heinous people online who will use this service in it's current form to share some vile shit with each other. At the moment you are liable for that. IANAL.
> Thanks for the suggestion on the source, the zip file is up-to-date and is part of my build process. I might host on Github in the future but really wanted to make this the source of truth. My goal of open-sourcing is not to get contributors, but to give back to people who want to view the code and self host.
Erm you know I can see the source. You have the code stored in a private repo in github.
To be blunt I don't trust you anymore.
* I think this makes two devs changing the file basically unusable as you're changing the file and potentially the same line simultaneous which could cause me to overwrite your changes without realising
* It still presumable doesn't get away from the fact I can edit the file with the jam command not running then run it after in which it'll just overwrite my local changes onto the remote without merging
* What does it do if my editor has changes in the change buffer that aren't saved and an update comes in on the same line, then I save. Will my now out of date change buffer overwrite the server version ?
I don't think you can do away with merging and merge conflicts it's a vital part of source control so that two devs can work on the same file simultaneously.
How often does the thing sync, none of the demos really show this. The demo's showed the thing running very often i.e. every few seconds. Does that mean if I'm making large changes to a file it automatically upload every time I save the file ? I definitely do not want that as typically when editing code as I edit I will save something that is in a partially broken / incomplete state. It also precludes the main CI/CD workflows which will normally trigger from a dev uploading something they think will work.
Where is the actual source, the source page links me to here: https://jamsync.dev/download
This just gives a link to a .zip which is presumably out of date now. I presume you are trying to self host this but since you haven't ironed out the details it would be better to use an open source code tool like github /gitlab ...etc for the time being.
You are allowing me to register / login to an "account" on something with basically no terms of service or privacy policy. Not only are you not GDPR compliant but more importantly at the moment you are not limiting your liability! The fact you've stuck this up without limiting your liability you are now partially liable for whatever stuff people are putting up on here baffles me. Seriously for your own good please get some terms of service with at least limitation of liability.
You'll have to also sort the problem of copyright as I wouldn't push code to a service that attempts to claim any copyright of that which I assume you're not doing but I would need that in writing.
Given the frequency of commits that this solution will introduce you'll need to offer way more than 5GB of hosting.
How will that version slider work when I have 500k commits. Even squashing branches, the repo I'm working on at the moment has 10k commits. This is a team of about 30-40 devs and each day is about 15ish PRs. With Jamsync syncing every save I could easily see this going up to millions of commits.
The first problem is that it's totally overloaded at the moment if you use the app and so even just logging in is almost impossible. After 20 minutes I managed to get in.
I first asked it to come up with 5 different ideas for the app. All of them were generic rubbish like a blog or suchlike so I asked it to be more niche and specific and it managed to throw up things like:
* A Project management webapp * Farm management software * Todo List
I picked the farm management software which I actually now interpreted as crop management software. This is a very competitive market lots of big software companies doing this already but I thought ok I'll give it a try.
I asked it to build a basic landing page which is initially refused to do. When I did prompt it correctly it built a basic HTML only page with no styling and basically no content other than a header and a couple of fake testimonials.
It then refused to style the thing at all and closed the chat. I then managed to prompt it correctly and it updated the font and stuck some stuff in boxes.
During this process it told me several times that it will not create a landing page.
I then gave up on the landing page and tried to get it to be able to help me write the code on the frontend to allow the user to define the crop areas on google maps. It spat out just the JS (no html) and which showed how to draw a polygon on the map basically the code you would get by looking up the google maps documentation.
During this process the text reply was very slow like character by character and it kicked me out several times.
I think your jobs are safe at the moment...
10 to 1 juniors to "senior" would have any "senior" quitting on day 1. Even 2 juniors will takes up > 50% of a seniors time to corral. 10 of them would be like a mob of people all screaming at you.
Add into that mix an AI chatbot spitting out partially incorrect stuff to all 10 of these juniors that is completely unworkable.
Having used both they both introduce unneeded complexity and get in the way of actual development. If you use a sensible and modern CI they all support a monorepo flow.
I personally thought it mostly worked very well. Meetings were minimal:
* 5 minute DSU at about 10.00am * Weekly/Bi-Weekly progress meeting
Then you had people direct messaging you but overall the whole thing was pretty chill. Then only issue was that the manager wanted us to say good morning in the channel (spying on when we started the work day). I never felt anyone breathing down my neck or any weird monitoring other than that.
I moved to a much large org (about 35x the size of the previous company). Teams had been the standard here for years and it's an absolute disaster.
There are multiple different teams often with overlap between them. It's not obvious which ones you should be in. The important ones are private and invite only everything else seems to be just noise. It's self service to which teams you should be in and most ignore everything other than what they have to be in to do their work.
The teams channels are generally all devoid of any useful info and everyone is scared of speaking there are several things I've noticed in this larger corp. that I didn't appreciate:
* Some people are building empires. Some use teams as a sort of weird gatekeeping / walled garden sort of thing were they put themselves in as the admin of a channel or maybe they add an open recurring meeting that they are in control of. It's hard to explain but when you see it very strange * Some people in a big org are too important to even write their own email or teams message. We have employees part of who's job is to post stuff dictated by the C-Level execs. I presume this is so you can't reply * Due to all of the shenanigans there are some (actually) who wish to kind of just be under the radar and literally never put anything on teams other than, "can I call you in 5 mins". Rather than have the discussion out in the open they always want a personal 1 to 1 discussion about all of their work. So all that detail is lost in the team and teams itself does nothing to help try to steer people away from private closed discussions * The teams client does not work well with Sophos. Granted nothing works well with Sophos but I've seen this pretty decent brand new laptop from last year struggle at near 100% CPU usage just to share my desktop
Doing anything cross timezone in teams is a bad experience. For small teams it can work but once you have a team in UK, central and Eastern Europe, India it breaks down badly. You'll come in to people who have started working at 3am your time and are mad they had to wait 6 hours for you to sleep. They will just send you messages as normal. I regularly log in and teams has direct messages and @me's in channels ...etc all flashing away like bro I only just started.
There is no way to stop people contacting you other than switching the dam thing off. Even when I'm in the middle of a meeting presenting I'll get direct messages from people who just didn't care that their message may popup on the screen. Like multiple pings in the middle of showing my screen. Even setting myself to out of office during my 30 minutes of lunch will not stop people. They expect you to to answer them always and immediately. Teams should basically stop that like stop people messaging me when I'm sharing my screen!
Like outlook teams meetings will often have 0 agenda. Nothing in the software stops someone spamming me with 6 meeting requests all of which could have been a couple of emails.
Back to back and overlapping meetings are common. I wish there was a setting at a team member level to say "I don't allow double booked meetings" and if someone tried to double book me it auto rejects the meeting with a standard response. The company is supposed to stop back to back meetings but it doesn't happen in practice and teams allows it. There again should be something on a person level to tell the meeting creator they are booked back to back meetings and stop them.
Intra-org is a disaster. This big org uses multiple offshore companies for development and testing. It can be days to get people the correct access which can be revoked at any time often by mistake. I've had people be able to join but not create meetings even if they created the meeting themselves.
The company is obsessed with tracking and monitoring devs to a frankly insane level. Teams now send me an email on Monday to say I have less meetings this week so I should be able to get more work done ...
Before anyone replies that these are the companies problem rather than teams I think you're wrong. The problems here are really that teams is a blunt tool for being able to communicate with others. It doesn't try to be anything other than that. I also think it's based on an old fashioned way of working. Like digitising a paper process rather than creating something that works properly in a digital world.
It could try to stop people doing anti-social stuff like allow me to stop people messaging me out of hours for example (it actually will send an email in that case just to be super annoying). All this is really disappointing given MS's status in the industry the practices that seem to proliferate on it are downright wrong. I think MS knows about this but doesn't care, they have the marketshare now why would they try to help the people being forced to use their tools. It is effort to try and "fix" teams and they don't have any want inside MS to do that at the moment.
While it's certainly possible it's very much the exception rather than the rule here. Let's take the parts of a game and individually look at why:
* Gameplay - This is where small indies really shine it possible to create a game with some cool gameplay. The problem here is that to create something that people actually find fun is rather hard. Most Indie games are boring as shit, they often have a single gimicky gameplay feature. You can try this yourself to come up with something that's truly fun. Sit down for 30 minutes and build a game that's unique and fun, you'll fine it's really hard. That's why the AAA game studios don't really do that. They use other techniques to sell the game like using and big well known IP. Most AAA gameplay is not unique and often is really not that fun for this exact reason. Note also here most indie devs who have never actually made a hit with tell you to just work on making the gameplay in your game really great. It's a cop out.
* Art - This is one of the hardest parts. You can kitbash a bunch of asset store stuff but then your game looks like a hodgepodge mess. You can hire an artist but if you want something really good looking you won't find them on upwork selling their labour at sweatshop rates. Really good artists are specialists in specific areas like character design, concept art, environment art ...etc. Trying to just find someone on upwork who will do all of that really well for you is basically impossible. Also note if you use stuff off the asset store you will need your artist to match that style which is actually really hard. To get really good art for a game you have to hire a team and build from the ground up. That's very difficult for indie teams most of which have no money to spend on art.
* Sound - Great games have great soundtracks. Often composed by someone with a lot of experience. These people are hard to find and even harder to convince to work on a game. Again like the art it's not something people are selling for cheap on upwork. Note also that you will want stuff in the game like jumping sounds, landing, clicking all that stuff. You can again find packs with this on the asset store but they often just won't have that sound you are looking for and mixing sound packs make the game seem cheap. The sound design has to be all one piece of work really. Think mixing 8-bit era sounds with more modern stuff it doesn't work.
* Testing - Often not looked upon but testing your own work doesn't work. You need someone independent to look at what you've done and break it. If you've ever played Bethesda Games you'll see what poor testing looks like. Note that the larger the scope of your game the amount of testing becomes exponential. The big AAA game studio have more testers than devs by far. If you look at many of the small indie game this really can kill the game. The devs chuck something together which looks ok and is fairly unique but is so poorly tested that no one is willing to buy.
All in all it's possible to do but really hard and I would say they got really lucky.
> The distribution of Steam and viral marketing of Twitch have revolutionised indie development
Yes but not in the way you think. Before anyone was able to put stuff on these shops getting on Steam was a one way ticket to $$$$. There where curated stores and even being in them meant you got a seal of approval from the likes of valve. Now-a-days the steam store is filled with so much asset flip junk "indie games" it's become a meme. To be seen on any of these platforms is now a real miracle. Again on twitch getting picked up by a big streamer is like winning the lottery. The vast majority of streamers on twitch make no money and have such a tiny audience getting on their streams would only net you double digit sales if you are lucky.