I fell for the oldest trick in the book and i will be fired for it
Posted by Asterx5@reddit | learnprogramming | View on Reddit | 231 comments
Ugh, this is embarrassing
I am an Android developer using kotlin and i love it. one day my company told me we have project in Flutter and we got you a senior, lets go. one month later, the senior leaves. then a new flutter dev comes and then after 2 weeks they had him go. then they told me to get a flutter dev. so i got a friend, turns out he was very mediocre. I got fed up of this flutter non-sense, I told them I am gonna rebuild the whole app in Kotlin multiplatform and it is gonna be better. I showed them a prototype and they liked so much the next day they fired the other guy so that i focus on the new version. I got the new version in a month but i was working 15 hrs a day that i missed the very first step.
I asked for a repo to push the code to, but they kept postponing, I didn't want to push to my own github, i don't know what stopped me i was one click away. I told them i need to push the code and they said just git init and i will later give you permission.
The next day my nvme got fried out of no where and the whole code is gone. my manager whom i kept asking didn't inform the other higher ups and there is a client meeting looping over and i will probably be fired the second they know. lets hope the data recovery guy saves my ass.
TLDR, use remote version control always. don't be an idiot like me
ItsVoxxed@reddit
What dev house does not require some form of git control?
Asterx5@reddit (OP)
A stupid one. Like the one i am in.
TedW@reddit
Sounds more like you are it, as much as you're in it. They left you to work unattended and you chose this.
Soft-Marionberry-853@reddit
"No single raindrop believes it is to blame for the flood"
soloamazigh@reddit
Where is that from, really like this quote.
mdhardeman@reddit
There’s a poster by the “demotivators” series. I have it framed and hanging in my office.
Soft-Marionberry-853@reddit
I used to work for EDS, my boss had the one that said "Consulting, if your not part of the solution, there is good money to be made prolonging the problem" in his office. Always made me laugh
mdhardeman@reddit
Fantastic!
gameoftomes@reddit
I know it as no single snow flake is responsible for the avalanche.
QueSeraShoganai@reddit
No single fecal matter is responsible for the shit storm.
jsaljsal@reddit
No single line of code is responsible for the bug. Well, actually most of the time it is.
TheMurkiness@reddit
Do you feel that, Randy, the way the shit clings to the air? Shit blizzard...
xraystyle@reddit
The shit-winds are blowing, Randy.
Rich_Papaya_4111@reddit
Was looking for this hahaha
1AlanM@reddit
I prefer the Scottish version - no single jobby is responsible for the shitstorm
TedW@reddit
Oh thank goodness, I really thought I fucked it up by knocking down the wrong house. That's such a relief.
WhiskyWithRocks@reddit
No single drop of cum impregnates the bitch
avcix@reddit
It does though
The_Odor_E@reddit
I saw it on a despair.com poster
mdhardeman@reddit
Hehehe have it hanging in my office
Soft-Marionberry-853@reddit
It seems to be either Douglas Adams or John Ruskin. I never looked in to it to find out more.
fractalife@reddit
Pusing to your own personal git for a company like this is a terrible idea. That's how you get them coming after you for everything else you have in there.
Not because they'll win, but because they can keep paying lawyers longer than you can, and it's just enough for them to jam their foot in the courts' door.
eyaf1@reddit
Creating a new GitHub takes 50 days that's why he didn't do so.
fractalife@reddit
Wait what? Since when?
eyaf1@reddit
Since sarcasm
FitMatch7966@reddit
Doesn’t sound like their only problem. Hiring/ firing/ changing languages non-stop. If you get fired consider it a blessing
outoforifice@reddit
Why is it your expensive lesson and not theirs? If they can you that doesn’t fix their problem. You are even the one that tried to fix it for them but got rebuffed so you shouldn’t be the one punished for that. If they do can you, that is the message I would take over everybody’s head to senior management.
Beneficial_Area_2986@reddit
You're not in a real development company.
cr1ter@reddit
Sounds like a horrible place to work with people being fired and leaving, sounds like they don't know what they are doing. Having to ask for git repro and then waiting a month is crazy
Key_Friendship_6767@reddit
Bro I don’t even write a line of code until I init the repo for a new project… it’s the first ticket every time 😵
Inventi@reddit
Well, if a lawyer has to come in. You have on paper/email that you wanted a git repo to push to? And they postponed? This is then not your fault.
FuckIPLaw@reddit
Yeah. The lawyer might have been sicced on you if you used a personal github for this. This is management's screwup, and hopefully you can prove it.
The whole situation sounds like screw up after screw up on their part, honestly.
casastorta@reddit
They fired and hired bunch of developers in a short amount of time, then let op decide on changing the stack completely, they don’t even have their own solution for hosting source code…
If I’ve had to guess, it’s one of those boutique “consultancy” shops maybe even not offering development services but some kind of business consulting and owners have decided to try and grab some “easy money” from the clients for the software development services.
There are much more these companies out there than you dare to assume even in your wildest dreams.
SiliconUnicorn@reddit
My first job thought one drive was good enough version control 🥲
FuckIPLaw@reddit
You can at least set up a remote git repo that way. So that's something.
Djonso@reddit
One that goes through 3 flutter dev3lopers in a couple of months and then pivots to a new framework and language
LordAmras@reddit
The same that say yes to a last minute total rebuild
SkerdiBuilds@reddit
Hard lesson but now you’ll never skip version control again and that alone can save your career.
NeatRuin7406@reddit
man, that's rough. the most heartbreaking part is you were one click from a private github repo this whole time. private repos are free and nobody at work ever needs to know they exist.
this is the lesson a lot of people need to learn exactly once. the workflow has to be: write code, commit, push somewhere - anywhere. "just git init and i'll sort the remote later" is a trap that gets people in exactly this situation.
for what it's worth, nvme data recovery has gotten surprisingly good. if it was a controller failure rather than the flash chips themselves being dead, there's a real chance your data is intact. find a shop that specializes in flash storage recovery specifically, not just generic hard drive recovery - they're different. worth trying before assuming the worst.
hope it works out.
Kok_Nikol@reddit
Hey, I did the same!
Getting a repo took months :') Should have pushed harder for it.
Srz2@reddit
Hopefully you have textual correspondence records (email/ticketing/chat) because this is on them. Not you. I would have your most clear communication asking for the repo and why either screenshotted or printed out so if/when you get called into a meeting you can just point to it.
Asterx5@reddit (OP)
I have chat screen shots and it was 3 days before the incident ( i asked few times before ) But they will blame me either way and will ask me why didn't i rebuild it for a third time in the free time i had (maybe i should i dunno)
Srz2@reddit
In my opinion I would absolutely not do that. You should not pay the price of their mistake. Full stop.
A repo is easy, fast and cheap to do, there is no excuse.
IMO if this is the breakdown of responsibility in my mind. Do you work for yourself or are a contractor? Then it might be on you. Do you work for a company and they provided your work laptop and other tools? Then it is on them.
A repository if expected by a company, is their responsibility. If you lost purposefully, then sure, that would be on you. But acts of god is the reason to have standard operating procedures and policies.
You should not do it for free, they need to take ownership of their mistake not supporting you. Otherwise, you shouldn’t stay with an abusive company.
Asterx5@reddit (OP)
We use azure and i don't have the permission to create repos. That is why i asked.
dreamszz88@reddit
Get a vos somewhere, install gitea and you'll have a secure off-site backup for all your projects. Anytime.
No one has access, just your ssh key and a spare that you lock in a safe. Firewall to your IP only. Done.
Srz2@reddit
My company uses azure too. Who ever has permission should have created one.
Honestly this is also a lesson in your standards. Again, your company’s fault but your SOP should help prevent this.
I personally don’t let a project start until a repo is in place. At minimum because DevOps can be busy, I don’t share code or present it to anyone until I have a safe spot for it.
jay_thorn@reddit
100% this. Don’t move forward with a project until you have a repo. Or, at least don’t show anyone your code until you have a repo.
My company’s DevOps has a script to create repos in GitHub (GH template repos don’t share settings, only code). It takes them less than a minute.
keyboard_clacker@reddit
That’s brutal may the force be with your NVMe
ScallionZestyclose16@reddit
15 hours a day ? You don’t have laws on your country? Go get some well deserved sleep !
Asterx5@reddit (OP)
God i wish i could just switch it off.
ozzadar@reddit
I woulda bailed after they fired the 2nd developer.
GarThor_TMK@reddit
I would have started interviewing after the first.
Especially after they don't give you a version control system to check into regularly, or any possible way to make backups.
Quitting a paying job is dumb. You look like a better candidate when you already have a job.
ConcussionCrow@reddit
If you're leading a project and you don't think to get the repo sorted early by yourself then idk what to say.
I would have no confidence in the output
Asterx5@reddit (OP)
Would be funny that this stupid app would be the reason for 4 mobile developers to get fired.
HelicopterUpbeat5199@reddit
You should seriously quit. Your bosses are morons with an itchy trigger finger. There is no "if" only "when".
Losing your code can actually be a good thing sometimes. Making a version 2 can be amazingly fast and you get to apply the lessons you learned in version 1.
Asterx5@reddit (OP)
It is the worst leadership ever but at least remotely you don't see these people and also the pay is better than other here in egypt albeit all of these are criminally low.
There is no silver lining here. It was an architectural masterpiece because i have already learned from other peoject + already did the work once in flutter.
It is not a difficult project but it sure as hell needed so much work.
HelicopterUpbeat5199@reddit
Oh, right, this is way past your first version. Darn. Yeah, I'm sorry.
How's Egypt these days? Where are you? Are you able to use AI coding tools, or are those too expensive?
Asterx5@reddit (OP)
Well i just use claude and the company recently gave me github copilot. Those are enough for me.
HelicopterUpbeat5199@reddit
Oh, cool! That's what I'm using in the US.
Asterx5@reddit (OP)
Yeah claude is the best by far.
desrtfx@reddit
To those who reported it:
While the post is not directly related to the core topic of the subreddit, namely learning programming, it teaches an extremely valuable lesson:
This cannot be stated often enough. Hence, the post stays.
NemoFabula@reddit
I'm not a programmer per se. I work in a small company (6 people — boss, the buyer, the seller, the field technician, admin, and me the "IT" guy)
I'm trying to enter the area, but so far, I'm doing this system in VBA and MS Access for them to have registries of their purchase orders.
They don't have a server, so it's only Google Drive, a chaos of files which I soon learned to make a batch file to make automatic backups as my boss could accidentally delete everything, as it once happened years ago.
I make about 3 backups, each one going to different places. Imagine a true system where one missing thing could result in someone dying.
Critical_Stick7884@reddit
Always the 3 2 1 backup.
Gamingplays267492@reddit
truth nuke
marco741@reddit
Based
criscokkat@reddit
Yay for life lesson examples!!
yubario@reddit
Yeah this entire post seems like bullshit.
What company fires somebody after being shown a prototype, especially in the dawn of AI where you can spit out prototypes in seconds.
Also, why work for a company that fires people that easily?
Why work 15 hours a day on some stupid project?
scandii@reddit
this is just typical third world country bullshit.
I wish it wasn't so, but keep in mind that all of those things you take for granted as part of being a working adult like reasonable hiring practices is a perk of long term stability in your country.
Majestic-Counter-669@reddit
Tbh it sounds like this kind of work isn't long for this world, with agents being able to produce this kind of product.
Apauper@reddit
They cannot build this kind of product to scale. A prototype sure but one that works at scale under pressure and while being attacked by threats? No way.
themegainferno@reddit
The stories I have heard from my egyptian friends, blows my mind as an American.
Asterx5@reddit (OP)
More context.
They expect juniors to perfrom on senior level with minimum wages.
My friend did terribly in the interview it felt so weird that they let him work after that. So the moment they realized he will no longer be needed they fired him the next day.
The prototype was actually a functional part of the app.
For the last 2 points. We live in a third world country. There are no jobs so we latch to anything.
Headpuncher@reddit
Then it's probably too late but is there any hope of using some data recover software or even a professional service to recover the drive?
Asterx5@reddit (OP)
I sent it to the shop that have dara recovery hardware. I tried them before but it was a different case. I accediently formatted the hdd. This is a fried nvme and the guy said there is hope but it is been almost a month.
mdahlke@reddit
You're full of shit
SlimeX300@reddit
You are too
IAmFinah@reddit
Such an American response. Boy do I have news for you
Some_Visual1357@reddit
You are a senior and developed so much without git ??? Wow. I dont have anything nice to say, just, best luck with the data recovery.
Asterx5@reddit (OP)
There is nothing good to say. I am not a senior. I am junior but responsible for the whole cycle. I was on survival mode i wanted to finish so fast so i can finally ask for vacation. I guess i had it coming
Some_Visual1357@reddit
Well if you are a junior, then the blame is in higher ups for giving you too much responsability.
beezlebub33@reddit
There was a time before real version control. I know that this is difficult for people to understand, but it was real.
What to do? What to DO!? tar gz the source and put it the someplace offline. Do it every couple of days.
If you want to be a pain in the ass, tar gz the source and email it to the person who postponed on you every fucking day! There's your goddamn version control!
GloriousPudding@reddit
I mean, was the device that you saved the work on a company property? If company device died with company intellectual property on it doesn't sound like it was your fault. You asked for a repository and they did not provide.
Asterx5@reddit (OP)
No it was mine and it was new. I asked several times.
GloriousPudding@reddit
Well that sucks
Zerrb@reddit
It was a Samsung nvme wasn't it
Asterx5@reddit (OP)
Lexar
Zerrb@reddit
Interesting. In the past month I sent back 2 Samsung products: an nvme and a 2.5 sad because they were dying.
They did RMA without any issue and I received newer models of the same capacity, but still...
PaySomeAttention@reddit
Pro tip from someone who waited for months for a repo as well... `git bundle create --all` into your company provided OneDrive (or other storage) works miracles. You can even checkout straight from the bundle file if you have to. Not a solution but a nice backstop.
MysteriousLion01@reddit
À l'aire des IA, si t'as pas Git ou mercurial t'es cuit.
DirectRegister3077@reddit
This can't be true. I don't believe you didn't have ANY way to back up your data such as one drive etc. You are either a lier or a fool I am sorry but it had to be said.
Asterx5@reddit (OP)
I am a fool that wished to be a liar
pixel293@reddit
This is one of the reasons my my work machine has mirrored raid and nightly backups. I do not want to have to ever have report that I lost what I was working on.
Philluminati@reddit
Hopefully you get sacked.. and next week will be employed at a larger company that pays better, treats you better, has training budgets, version control and respect for people.
Slodin@reddit
I find it funny people think this is fake.
I have been through shitty management as this is literally what it looks like lol.
There was 4 repos on my personal git the company depends on. I asked if I could commit it to our company account, but they said we didn’t have one LMAO. So afraid to lose shit, I committed to my personal one. If I didn’t and lost access, the company is literally toast lol. I was the only core developer at that time.
Finally they hired a CTO and streamlined everything.
rayburst_app@reddit
oh man, this is rough. the "I'll push it later" trap gets everyone at least once.
the hard lesson most people learn the painful way: treat every commit as if the machine running it could die tonight. because sometimes it does.
few things that help build the habit:
push to a private repo under your personal github account, even if work eventually owns the "official" remote. takes 30 seconds to set up and you control it. not ideal for IP reasons at some companies but it's saved people in exactly your situation.
if you're on windows, enable shadow copy / version history on your working drive. it's not a substitute for git push but it's caught me on a corrupted file before.
the "waiting for IT to set up the repo" situation is incredibly common and incredibly stupid of companies. if you're ever in that situation again, set up your own remote day one and migrate it over when the official one exists.
for the actual situation: have you tried any recovery software? recuva, testdisk, photorec — nvme recovery is harder than spinning disk but not impossible, especially if the drive failed logically rather than physically. if it's a physical controller failure, data recovery services can sometimes pull it off.
hope you don't get fired over this. a company that fires someone over a single infrastructure failure they enabled (by not providing version control) has worse problems than lost code.
BizAlly@reddit
That’s painful, but honestly this is one of those dev lessons almost everyone learns once. Hardware eventually fails. The real rule is: if it’s not pushed somewhere, it basically doesn’t exist. Really hope the recovery guy saves you though.
mpw-linux@reddit
The story sounds to incredible to be true. where is the old code? Your code is gone ? The company lets you develop company code on your own computer ? If this the way your company operates then you will glad you are fired.
Asterx5@reddit (OP)
The flutter code is still there. The new kotlin code is gone.
Sss_ra@reddit
I mean you shouldn't really be randomly pushing company code to your private git repos either, so I wonder if you did anything wrong.
If you have worstation recovery at your company it's quite possibly what you describe to be recoverable. I've recovered data after hardware failure at a job, hardware failure really isn't that uncommon and a lot of skilled professionals aren't technically competent consider it would be bad for a company to lose data for their other employees so there should be something in place, really.
PianoTechnician@reddit
you dont need git to backup your project lol you can literally 'copy' the folder and put it on a usb or whatever..
blvaga@reddit
They seem to be firing people every day. I don’t see how that is a good work environment.
If they don’t fire you. Maybe apply somewhere else anyway.
Asterx5@reddit (OP)
It is a shit company. But i can't find another job.
FlattheChart@reddit
Are you working in Microsoft Tech Support?
spazure@reddit
Dude even Microsoft doesn’t work in Microsoft tech support, they outsource that shit
Ok-Brief9369@reddit
The best thing that could happen... Now you're able to do a clean rebuild without all the fuzz but all the knowledge you gained in the last time.
And next time use local git and a backup on company fileservers. You could even push against a simple directory on the file server
Commercial-Lemon2361@reddit
You know you can push to bare repos on external disks/usb sticks?
luckynucky123@reddit
in my book, you didn't mess up. your workplace/manager should be providing you resources to have a version control offsite git init won't save your nvme from frying. what your workplace need to provide you is a place to push code in a shareable space. i think plenty of people hear has vocalized that.
i would also add that calm head prevails and focus on the positive to re-create the system. the good news is that you have developed a prototype and have the experience. consider that prototypes are efforts to validate an uncertainity and reduce risk. this also means that we should always be evolving our prototypes. in some situations, prototypes are meant to be thrown away so that it would be rebuilt again with lesson learned and properly.
if your manager is good - he should know how to buy time. give him an estimate on how long it might take to recreate the system. and get that off-site version control (or external drives if you are some small shop that is resource-strapped)!
Jesus_Chicken@reddit
Dayum! I never start without some form of remote code store. Email Zip, git, perforce, mercurial, S3. There is no excuse for a month of work to disappear like that.
Also, this place fires people seemingly immediately. You might find another place to be a little friendlier.
zaphodikus@reddit
My thoughts exactly, I would look to quit myself, no safety, and no vision, only gets you a team whose results are unsafe.
D0llarS1gnn@reddit
Fuck it , just search another job or begin something for yourself , you just a number to a company , you should be sad if they fired you, like it said , fuck them
SkyHookofKsp@reddit
This is their fault. This is one of the key reasons version control exists and your employer is unserious.
I hope they realize this and don't fire you.
GarThor_TMK@reddit
I hope they fire op, so op can go work somewhere where they take software development seriously, are less toxic, and pay a fair wage.
These people don't deserve software developers that work this hard for so little compensation and so much bullshit.
Astronaut6735@reddit
In this job market, I hope OP gets to stay, and then doesn't ask permission for things. Set up a repo wherever. Use the best language for the job. Etc.
Ariakkas10@reddit
Yep. OP is in an environment I'd thrive in.
If I was OP I would have created a new GitHub account/repo and document the credentials somewhere the company can clearly see I'm not doing anything shady
GarThor_TMK@reddit
And then you'd be fired for breach of NDA
Ariakkas10@reddit
Tell me you've never worked for these kinds of companies without telling me you've never worked for these kinds of companies.
needs-more-code@reddit
You are correct. Absolutely fucking twisted to think it was better to not upload it to version control.
GarThor_TMK@reddit
Nope. The twisted part is the company not providing version control or any functional system of backing up work, completed or in progress...
needs-more-code@reddit
Come on. Learn to do things yourself. Take initiative. If you struggle with creating a GitHub repo for free that is private to the company then how can you function in an agile environment? You’re the opposite of agile. You’re rigid and unadaptable.
GarThor_TMK@reddit
Oh no, I'm rigid and un-adaptable, and the opposite of agile... and also not going to leak all my company secrets to microcrap by using an online repository that my company doesn't have any control over...
What's that, microcrap just came out with a direct ripoff of your thing, but said it was a-ok, because they coded it with copilot, and that's not theft? Sounds great... sorry you lost your job...
needs-more-code@reddit
So you’re trying to discourage people from using a cloud based repository?
Oh no, you lost all of the company code, because you couldn’t come up with a version control solution, sorry, you’re fired.
needs-more-code@reddit
Are you not part of your company?
needs-more-code@reddit
This is absolute insanity. In the real world this absolutely never happens. What is possible by law and what is the reality of working for a company are two very different things. It would only be an issue in reality if the developer truly was stealing company code intentionally.
needs-more-code@reddit
Exactly. Create a GitHub account for the company. People saying they WILL DEFINITELY be sued for that are not in reality.
SkyHookofKsp@reddit
That would be an upside to getting fired from this place, yes.
Hopefully he just gets a chance to leave
ary0nK@reddit
Not having git is medieval, and u don't have onedrive for backing up. I let gpt create a powershell script to create a archive excluding the gitignore files into the onedrive folder. As I lost one day work of local branch after windows crash and reset
quietcodelife@reddit
oh man this is painful to read. the git thing wouldnt have even been a blunder if you just pushed to a private github repo as a backup while waiting for the company one. private repo, no sensitive code exposed, just... backed up.
hope the data recovery guy comes through. fingers crossed for you
Oh_Another_Thing@reddit
Literally any other back up was available. Company thumb drive? Company email? If I didn't have the proper tools, I would figure out literally any other option.
Kleiran@reddit
Why would you not set up a prívate git while waiting for your company to provide one ? This makes no sense and I can't fathom any professional developper would work a whole month without comitting anything
bitzap_sr@reddit
Putting company proprietary code on a personal repo, even if private, seems like a potential problem legal-wise. I would not do it without explicit permission.
themegainferno@reddit
Reminds me of that story about Toy Story 2, during production, Pixar accidentally deleted the entire movie from its servers. The movie was saved by an employee who worked from home and had a copy of the movie saved on her personal computer.
Even if it is a legal nightmare, man CYA.
Azrus@reddit
How many companies have had their code or data compromised because of this same scenario? This is not covering your ass.
If you want to really CYA, have a conversation with your superior or your team and determine a safe way to backup your data. Keeping copies on personal data is absolutely not the correct answer.
themegainferno@reddit
I hear ya 100%, in the pixar situation, I don't think at the moment everything was lost that they cared that an employee had a copy of the data on a personal computer. But, I get your point. This is a total system failure from the leadership down for not having any sort of quick or automated process for the OP to have version control
Svorky@reddit
Well for example I would get fired for pushing company code to a private git account.
My manager would get fired for not providing me with a repo after several requests.
0xd34db347@reddit
The real lesson here is that version control is not a backup solution.
Odd_Ordinary_7722@reddit
Am i having a stroke 😳
whattteva@reddit
I don't know, this sounds like a poor attempt at rage bait to me.
rizzo891@reddit
Lmao what is with this Reddit trend of calling everything rage bait?
Did you rage over this post? Cause if you did maybe you shouldn’t be on Reddit and you should be pursuing some anger management instead.
whattteva@reddit
You are bad at reading comprehension.
Poor attemptmeans it's not effective. I mean if you can get people to rage, then it isn't such a poor attempt then, is it?rizzo891@reddit
Yea but by calling it rage bait at all you are insinuating that you found a reason you would have found rage in it.
I see nothing about this post that inspires rage personally.
whattteva@reddit
That's fair. I guess I'm just saying that it sounds like one of those posts in r/amioverreacting that often sounds like it's a completely made up scenario just because of how ridiculous it sounds.
Asterx5@reddit (OP)
I am not creative enough to write such a story.
whattteva@reddit
Well, I must admit, it's quite an interesting story.
dutchman76@reddit
Why wouldn't you at least push a daily backup to a server at the office? At the end of every day, my work directory gets pushed to a server at work and my laptop. I'll never wait for someone to give me a way to back up or put it in git.
EnvironmentalDig1612@reddit
Why don’t you use Microsoft recall to get it back? /s
Asterx5@reddit (OP)
Can u elaborate ?
It was the disk with the OS tho.
EnvironmentalDig1612@reddit
it was my poor attempt at joking, ms recall was built to take screenshots every x amount of seconds so that you could recall things. It was scrapped because of privacy concerns.
Shidima@reddit
I really don't understand why you have no commits, let alone no backup? The first thing I do when starting a new project is make a repo?!
AwehAweh69@reddit
Did you seriously not consider at least backing shit up to an external drive?? I mean in the least that would save your own ass
d4n0wnz@reddit
You could have made a local git repo… How do you even keep up with your own changes during the project? Rookie mistake
Asterx5@reddit (OP)
Well i didn't because i write architectural code with good separation, i had it planned so i usually write once. But in the end i made local git. But the entire OS got fried.
Rookie mistake is an understatement.
tobiasvl@reddit
This is quite the story but I don't understand what it's going in this sub.
You hadn't even initialized a local git repo before that? You were just raw dogging without version control as well up until that point?
Also, although your company is totally at fault and seems like it's run by idiots, there are other ways to backup code than pushing it to a centralized git repo.
Moonbeam1184@reddit
Holy shit what a toxic work environment.
Asterx5@reddit (OP)
The team is mostly great but the management just sucks.
M4YHEMM_@reddit
Knowing your company fires employees like hotcakes, why would you even want to be there?
Asterx5@reddit (OP)
Trust me i don't
M4YHEMM_@reddit
I don’t think you’re the idiot. Mistakes happen but it sounds like your management is the real problem here - lack of training most likely.
Asterx5@reddit (OP)
It is a startup, they got us from egypt as we are cheap. And they just throw us to face the music.
I was alreadt responsible for a city wide app after my first week here. And no seniors stays here.
Garriga@reddit
Yeah, like it’s standard to have a central repo. Or a backup. You don’t have to use git. There are other was of storing code.
Jaded-Evening-3115@reddit
If it makes you feel any better, there are plenty of horror stories from senior devs too. Hard drive failures, repositories being overwritten, force pushes gone wrong it happens. The moral of this story is exactly what you said: push early, push often.
reverendsteveii@reddit
data you have fewer than two copies of is data you don't love. hope you get to learn the hard lesson the easy way. most companies wouldn't punish you for this, esp if you can demonstrate that you asked for what you needed, but idk about your company in particular. not pushing to your personal github was the right move
Oflameo@reddit
That whole company is cooked then. No Revision control or backups means it is probably some kind of scam front or fly by night.
_jehd@reddit
In what country does this story take place ?
Asterx5@reddit (OP)
Egypt
stochad@reddit
No you did not fell for a trick. You learned a lesson. I hope you have setup automated backups now.
JudgeB4UR@reddit
If you were the only dev that worked on it, and they didn't give you some sort of cm to back it up in, it's not your fault, it's 100% theirs. Point this out.
Guess what? It will take you about 30 to 50% of the time to rewrite it from memory than anyone else possibly could. So toss that out there, before a decision is given to you, it could save you.
Hiding it is the worst choice you can make. Write it up. Email it out and call someone.
C_Pala@reddit
This so un serious and unprofessional that I'm gonna say this is fake, no company operates like this. If this is real it's just a matter of starting your own company with your own app and be minimally professional
balefrost@reddit
This is a long time ago, but I contracted with a company whose lead developer kept their source code on a USB drive that he kept with him at all times. Apparently they had lost some code in a bad merge, so they stopped trusting source control.
Fortunately, for the work we were doing, we were able to use our own source control system.
Again, this is old, but there's a reason that "do you use source control" was question #1 in the Joel test: https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/. It wasn't a guarantee at the time.
I'll bet there are still plenty of scrappy, small companies whose "source control" is a bunch of directories named e.g. "project", "project_dev", "project_final", "project_final2", etc. I'm not saying that's good, just that it's probably true.
MasterShogo@reddit
I’ve seen stuff this dumb in the US too. They didn’t stay in business, but there is some absolute insanity out there if you go digging in the right places. So the fact that this is in a third world country makes it totally believable to me.
It gives me chills in my back and triggers anxieties and unrelated memories from jobs in my past. It makes me briefly reflect on what really stupid crap might I be doing still today that I need to fix. But it does sound real.
20Wizard@reddit
Imagine underestimating human incompetency. I work at one of the biggest companies in the world and it's pretty fucking horrid
Asterx5@reddit (OP)
I swear it is true. 3rd world country. Yes the bar is super low here especially in egypt. We just need funding. Because wages are just terrible.
Emotional-Dust-1367@reddit
Why not just quit and make this app yourself? Start your own business
Aquatic-Vocation@reddit
Is this job for a client? If so, start work ASAP doing it in your own time; you'll get it done way quicker seeing as you already know exactly what to do. Then, pitch it to the client yourself.
Jaded-Repair-8304@reddit
or a thumb drive...
Unlikely-Training-50@reddit
If your story is true and your company have been firing their senior dev every month for whatever reason, I think this will be your turn now.
Asterx5@reddit (OP)
Well firing me is not easy because i am the sole developer of their main product which is kotlin native. But yeah they could fire me because i am their most paid and guy and to them i worked a month for nothing.
freeformz@reddit
“I asked for a repo to push the code to but they kept postponing,”?
Whaaaaaat?
Aflockofants@reddit
Ok it's not great, but what's the huge problem? Surely a month of developing isn't actually spent on typing out code? Surely you solved some interesting problems along the way, and from memory can replicate the app again in less than a week? If you actually need anywhere NEAR a month to do this job again, something else is really really wrong here.
Asterx5@reddit (OP)
I used AI excessively. But because i have a good architectural sense ( in the kotlin version) we have great separation so i pilot the ai.
However the app itself is not complicated at all my first app was way more complicated. It is just this app has so many moving parts. So it is not difficult it is a LOT of work.
I will probably start again today.
AntD247@reddit
Did you deploy the packaged release somewhere other than your own computer? E.g. for demo/testing? If so you should be able to decompile Kotlin well enough to give you a good enough starting point to recover to what you want/had.
Asterx5@reddit (OP)
I have the latest debug ver installed on my phone. And i had sent an apk fee days prior for testing so i have it. When i used jadx. The result are to say the least complicated. Becuase we using koin and compose.
AntD247@reddit
To your working 15hrs a day to do this, I will tell you want I tell all my junior/middle level devs "Nobody is going to build you a statue" I e. don't break yourself for a company that will drop you without a thought if they decide it is best for their bottom line. You are with yourself for your entire career, the company you work for is usually transient (few people work for just one company for life these days).
Learn what you need to learn both in coding skills but also in your own process and self management skills, don't depend on anyone if it's something critical to you unless you have oversight and the time to keep chasing it
AntD247@reddit
Could ai help de "obfuscate" these decompile results? It might help if you give it some examples, e.g. make some quick Kotlin code to cover a technique without having to go into the detail of your codebase and then also give it the koin/compose results of the same then your jadx results. Also try both on full code base and also on smaller sections, some of your core reuse code/patterns first might give it more grounded code. However may also be better to try to resolve the more complex elements. Consider trying a mix of techniques.
Although it might just be quicker to throw it away and start again and just use your apk to blag through the client call.
Depending on how well you trust your manager or you feel they have your back (unfortunately far too little these days) going to them with a plan to deliver in the call/meeting and resolve long term delivery may help you. But from the sound of it your company doesn't seem to care much about doing good/well/right just fast.
DigitalDangles@reddit
☝️☝️☝️☝️
turamdq@reddit
Para algunas cosas son mucho más confiables los viejos hdd
mikeymop@reddit
We used have some hoops to jump through to get repos created.
If it took longer than I like, such as during popular vacation times, I'd push to a branch on a related repo and never merge that branch.
Just so it's backed up somewhere.
Educational-Ideal880@reddit
This isn't just on you.
A company letting a developer work a month on a rewrite with no repo, no backups and no infrastructure in place is a huge process failure.
Yes, always push to a remote repo – but this should have been set up on day one.
FantasticSky8863@reddit
Yooo
Overall_Ice3820@reddit
You can push to a network drive bro.
patternrelay@reddit
Honestly this is less about you falling for a trick and more about a process failure. Any team building something for a client should have a repo, backups, and basic workflow set up from day one. When those basics are missing the system is already fragile, and one random hardware failure is all it takes to expose it. Hopefully the recovery works out, but this is the kind of thing teams usually fix their processes around afterward.
Banquet-Beer@reddit
This story is fake
AntD247@reddit
If you don't have shared folders where you could keep backups, then, zip up the code or git and encrypt it well then email to yourself on the company email system. Chunk the archive if it exceeds any attachment size issues. If need be even tag it as "Confidential".
Backup in what is usually a process that doesn't break even a strict company policy.
WalterPecky@reddit
I whole lot of unneeded context for you to tell us you nuked a project for your company.
VoiceNo6181@reddit
The real lesson here is not about Flutter vs KMP -- it is about not having version control in 2026. That is the root cause of everything that went wrong. Even a simple git init + daily commits would have saved you. Every other technical decision is secondary to that.
witchlars@reddit
I won't even go to lunch without at least pushing to a WIP branch
arthoer@reddit
I don't understand. Even during high school you learn to make backups constantly. When playing Skyrim you autosave all the time... How do you get in the state of mind where you work 15 hours a day and don't think about backing up your progress? What if you want to revert some of your ideas? This is just bonkers.
Elegant_AIDS@reddit
This has to be ragebait
Asterx5@reddit (OP)
It is too stupid to be thought of. Fact is stranger than fiction. Unfortunately true
jay_thorn@reddit
There should have been a repo as soon as the Flutter project was started. When you got fed up with the Flutter version, you could have then just created a Kotlin branch on that repo to do your rewrite. There’s absolutely no reason for them to have postponed creating a repo.
I recommend looking for a better, more professional place to work.
Asterx5@reddit (OP)
The flutter version is there. It was remote and it was on another drive.
Literally the only important thing on the nvme was the kotlin version.
BooKollektor@reddit
Sometimes we do things in life that we deeply regret, but this often serves as a lesson. We've all made mistakes, so move on.
beartato327@reddit
And here I am thinking what's wrong with Flutter, I love that framework and would kill to get a job in it. Sorry to hear your woes though that's tough
BeelzenefTV@reddit
version control is not an option... dang it, your story will be useful to scare the next junior developer under my supervision who doesn't push their code at the end of the day
hope the data recovery works
No_Tie_6603@reddit
This is honestly a painful but very common lesson. Version control isn’t just a “nice dev practice”, it’s basically your safety net when things go wrong.
Even for solo work or quick prototypes, pushing to a remote repo (GitHub/GitLab/etc.) early and often saves you from exactly this situation. A lot of devs learn this the hard way at least once.
Another thing that helps is treating commits like checkpoints. Even if the code isn’t perfect, small commits throughout the day mean you can always roll back if something breaks or disappears.
Hopefully the recovery works out, but yeah… this post is a pretty good reminder for anyone reading: set up Git on day one, not after the project is done.
Blando-Cartesian@reddit
I’m curious about all kinds of human factors. If you don’t mind, was backing up code some other way something that just didn’t occur as possibility?
It would make perfect sense if you are young enough to never have dealt with files as something packed to archives and stored in flimsy physical media that makes concerning noises.
Nok1a_@reddit
If you sent emails asking for it to your manager, you can fight that and its your manager who should be fired, if everything was not over "paper" you learned your lesson, always use emails so you have a prove of it
SprinklesFresh5693@reddit
But my question is, if you dont have a github to store it, at least your company should have servers where you work at, not local, at my company is forbidden to work on local to avoid this stuff.
Hopeful_Month_1990@reddit
Could have zipped the project and uploaded to a shared drive?
eXterMinaTor_SA@reddit
Code not checked in, is not code done
oandroido@reddit
Must be a pretty new book.
aicis@reddit
Everything in this story sounds too stupid to be real.
Quick_Lingonberry_34@reddit
Good read.
unk214@reddit
Please tell me this is a fake story… I wanna beat you with a flip flop while yelling “always commit!”
The most I’ve ever lost is an hour or two of work and I was devastated. Anywho I hope you get the data back.
Asterx5@reddit (OP)
God i wish it was fake but it is not. The app was an architectural masterpiece and i was so proud of it. I can't believe that this has happened.
We have an arabic idiom that goes something like
"When fate arrives, your eyes turns blind"
Which kinda means that when something bad happens there is nothing you can do about it.
Wish me luck with the data recovery.
je386@reddit
The good thing is that it is easier to recreate an application than building it the first time.
Anyway, I hope you learned to always save your stuff.
jay_thorn@reddit
In the U.S., we have a similar saying, “shit happens.”
Benevolent_dictators@reddit
You need to leave company like that immediately, not good for your health. Seach for jobs now.
Leverkaas2516@reddit
Code is small. If you don't have a repo to push to, at least put it all in a zip file and e-mail it to yourself and attach it as a message in Teams/Slack or whatever. Whatever else is going on with the company, you should never again allow a situation where more than a couple days' work sits on a device with no backup.
Seebaasss@reddit
This is savage. How does a company does not give permission to a repo.
ShoulderPast2433@reddit
This seems so bad in every level that it's hard to believe it was true.
JellyTwank@reddit
Who dors not backul their stuff, especially mission critical stuff like this. It is crazy to rely soley on version control for backups. Shit happens, and you dont want to lose even half a day of work. Backups, you people! Heck, a cheap USB drive and a sinple copy would have saved you. (Spoken as a former sysadmin).
green_meklar@reddit
That's ridiculous. Any software development company needs a backup system. The idea of keeping the entire project on a single drive in one person's PC is just not a responsible way to operate. Not your fault; you needed better infrastructure from the get-go.
DotRevolutionary7803@reddit
omg that's crazy. hopefully data recovery comes in clutch 🙏
gm310509@reddit
Given you tried to get a repo and they delayed [and I'm assuming you did your best] why is it your fault?
Especially when they didn't give you an alternative?
On the bright side, if you really did it once in four weeks - albeit with long Work hours - it will be easier to do it the second time.
If they fire you, what will they do next? They presumably still need this app and you sound like their best bet.
Either way if that is how you think they will treat you and you don't get fired, I'd be looking for another job and leave on your terms - not theirs.
my_password_is______@reddit
DOH do you not have a thumb drive ???
do you not save copies of stufff to the network drive ?
nando1969@reddit
You could have done a personal backup.
Always keep two backups, preferably in separate locations.
Dino891@reddit
How did this happen?
HaMMeReD@reddit
Flutter kicks ass tbh.
Not the KMP is bad, but Flutter is better, it's an exceptionally good language (dart) and framework for building UI's.
The fact that you failed at that, and that a Senior left after one month is sus.
Hopefully you have an APK installed on a phone, you can decompile it, and then use AI to put things back in place/de-obfuscate it, rebuild the kotlin. Wouldn't have that option with flutter so I guess KMP wins there.
Asterx5@reddit (OP)
I didnt get one day to practice flutter and while i applied clean architecture, the senior told me to use Bloc for state management. The app had so many moving parts so the ui layer became a nightmare. And i didn't have time at all to learn how to communicate/coordinate state.
But in kotlin we have the viewmodel which is the central place and i am very familiar with compose coroutines and flows so it was way better and much much more readable.
So flutter is good it is just that i love kotlin way more.
HaMMeReD@reddit
Well I will agree that you need to work with what you have. Personally I find bloc to be an annoying pattern imo, pretentious flutter shit (I like the language, I don't agree with everything the community does).
Many of the patterns you'd use in KMP can translate to flutter. I.e. I'd personally use something like Redux for app state, and then have it generate view models which trigger UI rebuilds of sub-trees when the vm's change. The UI emits actions that update the state, which in turn generate new VM's which trigger rebuilds when they change. Clean, unidirectional dataflow loop.
There is a bit more to it then that, i.e. handling async etc. But it can all be done pretty gracefully in flutter.
Relevant_South_1842@reddit
What trick?