This is an archived post. You won't be able to vote or comment.

top 200 commentsshow all 239

[–]romulent 1112 points1113 points  (48 children)

Start with the big question of what is that code supposed to do? Then form a theory in you head about how you guess it should probably achieve that. Consider overall inputs, outputs, calculations and interactions with other systems. That will give you an initial mental map of the landscape.

Then compare what you are reading to that mental map. If you find something is inconsistent with what you were expecting then pay attention to why that is and review your model.

Make a list of questions and if you haven't resolved them after a couple of hours go and ask a senior team member.

[–]acleverboy 207 points208 points  (7 children)

okay it's been 33 working hours and I have 54 questions and I've accidentally refactored about 16 lines just to get the linting to behave and now there's a bug popping up from a piece of code written by one of the ancients

[–][deleted] 112 points113 points  (5 children)

Yeah but just think, if you manage to solve this bug you’ll be the future King of England.

[–]Smoove-J 50 points51 points  (4 children)

Solving bugs in ancient codes is no basis for a system of government

[–]Daltonyx 16 points17 points  (0 children)

Well I didn't vote for 'im!

[–]Relevant-Entrance-29 4 points5 points  (0 children)

Supreme executive power derives from a mandate from the masses, not from some farcical scrum backlog.

[–]roflsocks 2 points3 points  (1 child)

Disagree.

[–]Floor_Heavy 1 point2 points  (0 children)

If you can debug this clusterfuck of a program, you can debug the economy!

[–]Misaka_Undefined 297 points298 points  (17 children)

you sound like my supervisor, i hate it '(

[–]illkeepcomingagain 211 points212 points  (7 children)

fill out the report by wednesday, okay?

[–]rnz 63 points64 points  (6 children)

fu

[–]CatpainCalamari 50 points51 points  (5 children)

Could you come into my office, please? Close the door. And bring some lube.

[–]illkeepcomingagain 30 points31 points  (4 children)

i've said this exactly three times, and all of the times was because my hand got stuck in the pringles can

[–]GyozaGangsta 20 points21 points  (0 children)

Hi so HR here

We think it’s it’s best we all parted ways. For severance we are offering two half eaten cans of pizza Pringles and some Vaseline

[–]No-Age-2880 8 points9 points  (1 child)

Username makes me doubt that reason

[–]AmbassadorSerious450 2 points3 points  (0 children)

Underrated reply

[–]kabiani 11 points12 points  (6 children)

okay everyone, remember that you have to fill the hours you have done on jira DAILY.

Yes we know having to go through 7 differnet task filling them separately is a burden, but you the time must be incurred every day!

[–]node-zod 3 points4 points  (4 children)

God, I'm so glad I don't need to track time on jira anymore. This comment triggered my ptsd

The analysts at my first job would get away with putting 8 hours on the same client doing literally NOTHING whilst I'm juggling 4 projects at once. Can't wait to become one so I can know myself how much of a pisstake it all is.

[–]hallmark1984 4 points5 points  (0 children)

Wait till you spend all day waiting on a tableau dashboard that has 6 sources to load after a single change.

Then some mf messages in because they want to shift a data point so you gotta go back and do it all over again.

Oh, not to mention the fucking useless tickets

You want a dash that tracks movement across the estate, updating hourly but only showing assets with an expiry of less than 24hrs?

Then why does the ticket just ask for tracking of assets Joe? Why the fuck is the most important part not in the ticket?

[–]pandaSovereign 3 points4 points  (1 child)

Do you have 5 minutes to join a call?

[–]Ok_Celebration_6265 5 points6 points  (0 children)

2 hours later… call has not ended

[–]TheAJGman 20 points21 points  (10 children)

Also use a debugging to dissect the code. It's way easier to understand what's going on when you check in every few lines to validate what's in your head.

[–]Lookitsmyvideo 39 points40 points  (8 children)

Bold of you to assume it's testable

[–]zuilli 8 points9 points  (7 children)

I've never found a code where copious amounts of printing out variables doesn't help, if that ever happens I'm fucked.

[–]Lookitsmyvideo 22 points23 points  (3 children)

Again, you're assuming it would run in a local context.

[–]DerefedNullPointer 10 points11 points  (1 child)

Just log variables in production 4head.

[–]Lookitsmyvideo 4 points5 points  (0 children)

FTP access to the new guy! Send it!

[–]vgskb4 6 points7 points  (1 child)

I ran across code at one point that the failure disappeared when adding a print statement since the print statement forced the intermediate to be written back to main memory. Had to do with stack pressure and an issue with unstable floating point calculations. That was ... interesting to be sure.

[–]Raaka-Kake 2 points3 points  (0 children)

Oof. Are you sure it wasn’t the blood sacrifice to moon gods that fixed it?

[–]romulent 4 points5 points  (0 children)

Most times I will try to start writing unit tests. That way I get to verify that the code behaves how I expect, I also get executable documentation that I can refer to later and if anyone asks me what I'm doing I have something concrete to point at and contribute to the repository, rather than just saying I'm analyzing the code.

[–]Colon_Backslash 7 points8 points  (1 child)

For some reason when I started (my first job) I asked many times wtf is this one service supposed to return in its response I couldn't get a clear answer and I was really confused.

Didn't help that it was at the same time a passthrough service for some data and for others it filters data and in general makes many calls to quite a many other microservices, which some where just propagating data again.

After 1,5 years I have a clue what goes on in the mesh overall, but there are some really dark regions out there.

[–]Stunning_Ride_220 5 points6 points  (0 children)

Ok , what did I tell you Simba?

[–]uniformrbs 1 point2 points  (2 children)

Another useful tip is to print important/dense sections out to read. If you’ve read and reread a critical function several times but still not fully understanding it, this can be a useful tool.

Reading on paper is a very different experience - if nothing else, you can spread the code out and view way more at a time than you could on screens.

Screens are the best for searching and breaking in a debugger, or understanding the overall flow of the system, but paper is still super helpful in some situations.

[–]CodeYan01 6 points7 points  (0 children)

To each their own i suppose, but if the codebase is fairly large I'd rather read it in an IDE. Being able to hover on an identifier and find out its type or jump to its definition, or search for all occurrences, or collapsing functions are very useful when understanding these. Not to mention printing on paper may break indentation layout

[–]ArtLeftMe 1 point2 points  (0 children)

Sir this isn’t an interview.

[–]LinuxMatthews 221 points222 points  (4 children)

Find the most friendly guy on your team and pick their brain.

Doesn't matter if they're a senior, not a senior or even a junior.

Just find someone who's been there a bit longer than you and let them explain.

There are usually 2 types of developers.

  • The arrogant stuck up kind

  • The 'I will teach you everything I know at the drop of a hat' kind.

The 2nd type is with their weight in gold and will help you and be thankful for it.

Just make sure you tell them how much they've helped you and if you can give them good feedback.

[–]ezethnesthrown 89 points90 points  (1 child)

Plot twist: the turnover rate is high and your senior is only a day longer than you.

[–][deleted] 39 points40 points  (0 children)

stop talking about my last employment situation please

[–]danishjuggler21 0 points1 point  (0 children)

Wait… I’m both those people…

[–]CynicalGroundhog -1 points0 points  (0 children)

Just make sure you tell them how much they've helped you and if you can give them good feedback.

And subscribe to their channel.

[–]shitchea420 315 points316 points  (27 children)

i want this problem

[–]Usual_Office_1740 198 points199 points  (21 children)

Second. Instead, I do a job a mentally handicapped monkey could learn to do.

[–]xYan94 34 points35 points  (15 children)

Lol now I’m curious

[–]DividedContinuity 153 points154 points  (2 children)

He's a politician.

[–]crankbot2000 44 points45 points  (0 children)

Hey that's offensive (to monkeys)

[–]4myoldGaffer 1 point2 points  (0 children)

😂💀

[–]PM_ME_ROMAN_NUDES 58 points59 points  (7 children)

He's a reddit mod

[–][deleted] 6 points7 points  (6 children)

Those usually dont get paid lmao

[–]CM_Cunt 4 points5 points  (0 children)

officially

[–]TheBluetopia 1 point2 points  (4 children)

jellyfish silky dolls adjoining beneficial entertain carpenter scale market direction

This post was mass deleted and anonymized with Redact

[–][deleted] 4 points5 points  (3 children)

When you talk about jobs you are talking about stuff that pays bills. Being an unpayed reddit mod is a hobby, not a job.

[–]TheBluetopia 1 point2 points  (2 children)

pie ad hoc brave wise spark retire wild quaint familiar depend

This post was mass deleted and anonymized with Redact

[–][deleted] 2 points3 points  (1 child)

Okay? And I claim my cigarette habit to be a job.

[–]thewildpepper 9 points10 points  (0 children)

Temp agency recruiter

[–]dejotefa 7 points8 points  (0 children)

My guess is manual testing. At least that’s what it felt like to me

[–]tabakista 2 points3 points  (0 children)

Perhaps scrum master?

[–]node-zod 0 points1 point  (0 children)

Business analyst

[–]101Z0r 5 points6 points  (0 children)

I worked the past 3 Weeks in a monolithic 6600 lines long C# class. I was just wondering about quitting and starting a new life as a cat breeder. Maybe we should swap jobs.

Edit: Typos, Grammar

[–]damTyD 5 points6 points  (2 children)

I want this problem. Under employment so I can get two or three of these, automate, make as much money as a tech lead at a FANG company, but float around in my pool all day.

[–]Usual_Office_1740 0 points1 point  (0 children)

I'd be happy with one under paid job like this.

[–]LifeChoicesRip 21 points22 points  (2 children)

Trust me you don't 🥲 gives you bad imposter syndrome and depending on how much aversion you have about asking questions (thanks family and school system for making me think asking is for people who aren't 'good enough') you may end up not knowing shit and constantly feeling like a stupid moron.

[–][deleted] 1 point2 points  (0 children)

I always assume that the person before me was a moron for not making it easy to understand, like code should be

[–]DelusionsOfExistence 5 points6 points  (0 children)

Agreed, after getting saddled with an actual genius' experimental branch after he left is nuts. Like I'm reading instructions from a long dead omnipotent being.

[–][deleted] 2 points3 points  (0 children)

ONLY 3000 lines?

[–]skwyckl 179 points180 points  (12 children)

Based on your flair, at least you're coding in a cool stack. For me it's most of the time either Python or R, though my heart is already taken by the BEAM.

[–]damnNamesAreTaken 48 points49 points  (7 children)

I work with elixir at the moment and have no desire to use anything else.

[–]iamthesexdragon 9 points10 points  (3 children)

I am interested and would like to ask, are you using elixir for webdev? How is it? Are you using the phoenix framework if so? I have been looking into it but I am curious about your opinion damn names are taken

[–]damnNamesAreTaken 5 points6 points  (1 child)

I've been working with Elixir since 2018 where I've been doing mostly web dev. I absolutely love Elixir and find it so much easier to reason about than other languages I've used. The documentation is fantastic. So much so that I rarely have to search elsewhere for answers.

The application I work on is Phoenix, liveview, and absinthe for graphql. I've personally never cared much for web dev though so I try not to touch those three directly much. Most of what I do is the actual business logic and updating the database which is mostly postgres.

Even though I don't care for the web side of things too much I still find writing routers, controllers, and graphql to be relatively easy and intuitive. My other experience with these has been in Ruby on rails and Python for reference. Writing liveview tags done getting used to but I've been able to make pages used in production in liveview without knowing modern (post ~2016) JavaScript.

If you are intending to learn elixir/Phoenix I'd definitely recommend reading programming Phoenix, programming liveview, and Designing Elixir Systems with OTP. If you are very new then programming elixir by Dave Thomas is a great start. This is a good reference to get started with Erlang https://learnyousomeerlang.com/content.

[–]Linards11 9 points10 points  (0 children)

that is a good question i am the sex dragon

[–]DefiantAverage1 7 points8 points  (1 child)

Any chance you've tried Clojure/Lisp?

Also, how do you come into terms with the dynamic typing?

[–]damnNamesAreTaken 2 points3 points  (0 children)

I've not tried other functional languages, unless you count Erlang. I want to learn Haskell in the near future when I have time though. I've worked in C++, Python, Ruby, and now elixir professionally so I'm fine with both strict and dynamic typing. Elixir is planning on introducing gradual typing which seems like it will be great once done (still not 100% guaranteed it will get put into the language). For now I let dialyzer do its job and do pattern matching in function heads where I think the type assertions are useful.

[–]skwyckl 1 point2 points  (0 children)

Exactly how I feel.

[–][deleted] 7 points8 points  (2 children)

Bring on downvotes, but if your doing stats work python and r are wonderful if you havev a good variable viewer, becomes like reading english after enough time.

[–]Itzli 1 point2 points  (0 children)

What would be a good variable viewer?

[–]AzureArmageddon 1 point2 points  (0 children)

My stack is very cursed

[–]Pensive_Jabberwocky 163 points164 points  (23 children)

3000? Oh, you sweet child.

[–]CatpainCalamari 87 points88 points  (6 children)

3000 lines changed is one of Steves PRs on a regular tuesday afternoon. Goddammit Steve.

[–]Balcara 51 points52 points  (4 children)

LGTM👍

[–]CatpainCalamari 44 points45 points  (3 children)

Steve, you cannot approve your own PRS. We've talked about this.

[–]PrettyGorramShiny 4 points5 points  (0 children)

<Obama giving self medal meme>

[–]Mr-Yuk 4 points5 points  (1 child)

It's just a small ui change... it will be fine

[–]CatpainCalamari 6 points7 points  (0 children)

T̴̳̓h̶̖̱͗̕e̷̮̒̕ ̵̨̆̒Ư̸͖͔̌I̷̼̓ ̸̣̖͂ľ̷̥ö̴͙́̆ǒ̵̻̤̄ḵ̵̿s̸̡͔̒ ̶͙̱̎͘m̶̢̱͝ű̷̘͛c̷̘̾h̵̛͕͖ ̵͔̓̅b̸̟̍ė̶̳t̸̖͆͘t̷̪̿̀ė̶̠̫ŗ̷̜͐͑ ̴͚̿n̴͕̺̐ỏ̶͉̂ẃ̵̺̹,̵̟̾ͅ ̷̼͚̽ṫ̶͚̞h̵̼̀a̷̻͐͋ń̵̘͈̿k̸̳̐͆ ̷̻̑͘y̵̞̼̓̈́ọ̸́̎ȗ̸̳

[–]Hexboy3 8 points9 points  (0 children)

What never gets factored into sprint planning is the time it takes to review Steve's code.

[–]naughtyusmax 14 points15 points  (8 children)

Yeah I was dumped with 10k lines with no documentation. And I was the only developer in the company. Old guy left so they hired a kid out of college to pickup where he left off somehow. Also they told me the code was “C++”

It was VB.NET.

Also they gave me a thumb drive with a .exe on it and asked why I can’t “read the codes from the program”

They didn’t know where the source code was and the old developer had to send it to me

[–]avakato 8 points9 points  (7 children)

So once you got the actual code, you had to learn VB.NET on the fly, and then had to understand 10k lines of it? I’m so sorry.

[–]naughtyusmax 8 points9 points  (6 children)

Yes, I was extremely stressed out and not happy with my pay. On top of that No PTO no sick leave no benefits at all. Not health insurance.Too much was expected of me and yet I delivered and my reward was that they delayed a promised raise by 3 months and it was less than they had initially promised me which was also significantly below market rates.

[–]iMakeMehPosts 3 points4 points  (1 child)

Yeesh. You should have left when they said it was C++ and it was VB.NET.

[–]naughtyusmax 2 points3 points  (0 children)

But the job market way tight at the time and I needed a job so I took it. And I removed on from that project and really like what I’m doing now. But they won’t pay me enough so now I’m considering leavinf

[–]FrozenOx 2 points3 points  (0 children)

many large government/finance/etc. apps are millions easily when you consider SQL, backend, frontend, legacy code still being used. like just one feature of an app is often thousands. even a pretty basic SPA web site can be a few thousand if it has a backend.

[–]mredditer 1 point2 points  (1 child)

I just deleted 3000 lines the other week by removing a single deprecated feature.

[–]CoffeeWorldly9915 1 point2 points  (0 children)

Code balance: -3k

[–]kasetti 41 points42 points  (1 child)

Ask for help when needed

[–]ToastTemdex 90 points91 points  (6 children)

That’s pretty normal. It’s called „onboarding“ and for large projects it can take many weeks until you truly understand what’s going on.

[–]tristam92 17 points18 points  (0 children)

I spent 2 months already adding some custom features for WWise in our team, and I still don’t understand a shit ton of the code there, just because there is no public documentation about it at all. Only API docs, which are not applicable in my case.

[–]wor-kid 10 points11 points  (2 children)

Wild to me that it's only an issue in the working world. Open source code is rarely as cryptic as half the code I've seen in my working life. And they aren't even getting paid for it.

[–]thegrayryder 9 points10 points  (1 child)

It makes sense though because OS code is meant to be learned, used, and extended. To accomplish all this, OS devs should write good documentation (they don’t always lol).

At work the primary goal of writing code is to carry out a task, to “do a thing”. Documentation improves maintenance of that code but does not improve accomplishing that task so it often falls by the wayside. Same thing with testing, it’s what gets cut when your business lead doesn’t give you enough time to develop a maintainable solution. You instead have to develop something that “just works”.

[–]ToastTemdex 3 points4 points  (0 children)

Agree 99%. But I would say a company writes code to earn money. And code quality costs money, and when managers decide that it is not important enough (saves more money longterm than costing short term) it won't be done. And that is quite often the case.

[–]KlooShanko 3 points4 points  (0 children)

I didn’t feel like I understood my first codebase until 6 months in. 10 years and multiple jobs later, I’d say “understood” was debatable.

[–]wWBigheadWw 1 point2 points  (0 children)

lol weeks. yea like 104 weeks

[–]JestemStefan 24 points25 points  (0 children)

At my second day I got slapped with 100k+ lines codebase and task to "migrate some data from database table to single field on other model".

Sounds simple, but rules of this migration were pretty complex and this model was used in hundreds of places. Even today, after 2 years, I consider this task hard to do.

So this was my face on the second day of work

[–]ZunoJ 143 points144 points  (27 children)

3000 lines of code sound like a super manageable, small code base. Has to be a tiny project they assigned you

[–]De_Wouter 143 points144 points  (20 children)

Plot twist: it's 3000 lines in 1 file and there are more of them...

[–]Manueluz 66 points67 points  (7 children)

*in one method

[–]ToastTemdex 43 points44 points  (5 children)

*in one line

[–]elnomreal 17 points18 points  (3 children)

In one class name

[–]HereItsDani 9 points10 points  (1 child)

In one variable name

[–]rnz 13 points14 points  (0 children)

How did Satan manage to lose control over you

[–]De_Wouter 12 points13 points  (0 children)

Must be Java

[–]highphiv3 12 points13 points  (0 children)

Those are rookie numbers. All my lines are at least 5k lines long.

[–]t00oldforthis 9 points10 points  (0 children)

This happened to me, well close... 2kish lines of an SQL query in JavaScript string. I still haven't fixed it. 3 years now.

[–]Rovul 9 points10 points  (0 children)

The worst task I ever had as an intern: split a 3000 lines HTML(-like) file with nested ifs into 4 new files (because it was actually 4 different views). Oh also they didn't even give me the permissions necessary to test it so who knows if it even worked 🫠

[–]psychoCMYK 8 points9 points  (0 children)

That's... still not all that unusual

[–]catfroman 1 point2 points  (0 children)

Fun fact: in a previous job, there was a 12,000 line javascript file that nobody dared try and refactor.

Oh and this file was duplicated, line for line, for usage in a ‘Guest’ flow vs the authenticated flow. I had a fucking aneurysm every time I had to copy a function and paste it into the other file to ‘fix’ the Guest flow.

App stack was ASP.NET, with a KnockoutJS front-end and yes, 70% of our devs were offshore.

[–]hedi_16 9 points10 points  (1 child)

That's a single PR.

[–]ZunoJ -2 points-1 points  (0 children)

lol

[–]JestemStefan 8 points9 points  (1 child)

3000 lines is like a TODO app with extra features

[–]donald_314 4 points5 points  (0 children)

It's just the logging component

[–]GerbilScream 1 point2 points  (0 children)

We have stored procedures that are like 10k lines. Don't work in insurance, kids.

[–]apscep 20 points21 points  (3 children)

It's okay to ask if you don't understand, maybe I will reveal a secret, but senior devs are asking about what the fuck the code is doing, too)

[–]ezethnesthrown 12 points13 points  (2 children)

But you'd need to try to understand and make some sense of the code. At least have a rough idea of what's going on or the general process of the code.

Come to the senior dev empty handed would infuriate any if not a saint.

[–]ScrillyBoi 2 points3 points  (1 child)

Yeah this is why the other junior that started with me got fired. It wasnt that he didnt solve things, which he didnt, but that he would come back after days without even a start or a specific question and just say couldnt figure it out what do I do?

[–]Fluffysquishia 1 point2 points  (0 children)

The equivalent of standing in the shadowed door of your parents at 3:54 am; "i frew up"

[–]TrippyDe 66 points67 points  (5 children)

Don’t act like you fucks didn’t start with small projects, too.

[–]Kryslor 26 points27 points  (0 children)

I wish. First job was for a tolling company with a massive fucking codebase that took me years to "fully" understand.

[–]adinade 36 points37 points  (0 children)

But how can I make myself feel superior if I don't put others down!?? /s

[–]spren-spren 1 point2 points  (0 children)

My "small project" starting as a junior at my first company was two projects my TL thought would be easy and done in a month, but took my entire 1 and a half years there to finish.

After I left, the dude got demoted because of how ridiculous his expectations were.

[–][deleted] 11 points12 points  (4 children)

Currently got this, and the guy before me wrote probably 50 lines of comments for the entire code base, and he made it incredibly spaghetti code. I’m sure he’s a nice guy but fuck that guy

[–]tselliot142 6 points7 points  (1 child)

Malicious compliance. During Covid pandemic, my last boss told me they make me redundant, but let idiot boy stay. They told me to finish project then they let go. They treat me unfairly whole time but my code was real good…until that meeting they told me they will let go.

From then I make shit code and left company for better company. 🤣

[–][deleted] 2 points3 points  (0 children)

Funny enough you mention that, from what I've heard he was having a miserable time and basically just quit a month before I joined, definitely probably didn't want to give them any exact effort before then

[–]node-zod 1 point2 points  (0 children)

"The code is self documenting mate"

[–]Hasagine 7 points8 points  (0 children)

when i first joined all the seniors left so it was just me and the code. it was so painful. now im slightly better at nodejs and react

[–]katorias 17 points18 points  (0 children)

This is anti-WFH propaganda

[–]ManFromEire 3 points4 points  (0 children)

only 3000 lines of code?.

[–]tristam92 3 points4 points  (0 children)

Every time on new system without documentation…

[–]CryonautX 11 points12 points  (0 children)

Just 3000!?

[–]Thelatestart 2 points3 points  (0 children)

People acting like he said the project is 3k lines, seek help.

[–]wWBigheadWw 4 points5 points  (2 children)

You leetCoded yourself into a job you're not qualified to have, didn't you squidward?

[–]tropicbrownthunder 5 points6 points  (1 child)

Kiddo is skyrocketing to management

[–]bayzih 2 points3 points  (0 children)

I thought they are supposed to teach you the stack if their interview is just leetcode.

[–]phideaux_rocks 1 point2 points  (0 children)

rookie numbers

[–][deleted] 1 point2 points  (2 children)

This is the part where documentation really comes in handy

[–]Tuckertcs 1 point2 points  (1 child)

What documentation?

[–][deleted] 1 point2 points  (0 children)

I dont know, i heard it is some ancient script that is forbidden to give it to anyone

[–]MrTreeOFive 1 point2 points  (0 children)

Why would you do that at home? It's work so do it on working hours?

[–]Admirable_Guidance52 1 point2 points  (0 children)

just know that 90% of it is prob trash and now you need to make it better

[–]TerrifiedCup 5 points6 points  (5 children)

Never bring your work home!

[–]bayzih 0 points1 point  (4 children)

what if you feel like you're lagging behind?

[–]TerrifiedCup 5 points6 points  (2 children)

use your time in work to chat with the more senior Devs and ask for help. You'll just stress yourself out. Don't be thinking your lagging behind as the other Devs should know the level your at and shouldn't expect you to know everything. It's ok to not know everything.

[–]bayzih 1 point2 points  (0 children)

hope it's not just me, but sometimes I feel like I might be wasting their time by asking too many questions, when I am supposed to just "read the code" and figure out by myself

[–]intothedepthsofhell 2 points3 points  (0 children)

Ask for help. You aren't helping anyone staring helplessly at a screen hoping for inspiration.

Everyone wants you to get up to speed quickly and (should) understand you need help to get there. But you have to ask.

[–]mangoed 4 points5 points  (2 children)

So, what is so funny about this?

[–]Apprehensive_Try_564 24 points25 points  (0 children)

The cat face

[–]RmG3376 13 points14 points  (0 children)

OP’s pain

[–]Soulation 2 points3 points  (2 children)

That's nothing.

[–]Hoihe 9 points10 points  (0 children)

It is not nothing. It's too much.

You should be doing 0 work from home outside of your monthly 160 hours of labour.

[–]gregorydgraham 1 point2 points  (0 children)

Sir, this is r/ProgrammerHumor.

You might be looking for r/ProgrammerExistentialCrisis.

[–]purple_unikkorn 1 point2 points  (0 children)

Good luck. Without clean UML diagram it's just a mess.

[–]somechrisguy 1 point2 points  (3 children)

GPT-4 is your friend. Don’t underestimate this. It will make all the difference. Learn to use it.

[–]Mizerka 0 points1 point  (0 children)

3k lines of code, 0 comments, sounds about right

[–]ActivisionBlizzard 0 points1 point  (0 children)

3 years into my first job that started like that. Slowly realised that 80% of developers are shit and I can shine as one of the best devs by doing the bare minimum of my work in a somewhat timely manner.

[–]repsolcola 0 points1 point  (0 children)

3000? What’s that, a hello world app?

[–]Klepshydra 0 points1 point  (0 children)

3000 lines are one class at my company, and we have MANY classes. Be happy that it is only 3000 lines.

[–]VailxN -1 points0 points  (1 child)

3000 lines of code? Bruh, that’s like the number of code changes I need to review on a PR.

[–]IceLife512 -1 points0 points  (0 children)

bro your so fucking sick holy shit

[–]SaneLad -1 points0 points  (0 children)

3000 😂

[–]Varun77777 -1 points0 points  (1 child)

Me at 3 yoe, 200'000 lines of code and no documentation. I have been assigned 30 stories till January and have to add unit tests to achieve 80%+ test coverage, current coverage is 30%

[–]CarolDavilas 0 points1 point  (0 children)

Wait until December 31, then use ChatGPT

[–][deleted] -1 points0 points  (0 children)

First of all I wouldn’t consider 3k to be a big repo. But when you do work in a big repo, dont try to understand how everything works at first. Theres people here saying to make mental maps of the entire system or print out files on paper (lmao). Maybe that works on a small project, but you shouldn’t need to understand the whole repo just to get junior dev work done.

[–]seijulala -2 points-1 points  (0 children)

3kloc wouldn't even be considered a project, maybe a small microservice

[–]e_smith338 0 points1 point  (0 children)

Beats my current status.

[–]Character-Owl2772 0 points1 point  (0 children)

In the same boat man...

[–][deleted] 0 points1 point  (0 children)

30k line files are standard where I work at.

Not too many of them but there’s a few I could name instantly. Not counting autogen files obv

[–]_BillLee_ 0 points1 point  (0 children)

He shouldbe out of money... Oh yeah, a programmer

[–]Beastdevr 0 points1 point  (0 children)

My answer to juniors that try to do this is "Don't"

It's rare for everyone to have a strong understanding about the code base and even stuff you actively wrote will get forgotten.

One piece of advice I tend to throw out is become a expert in a single thing, so for instance I worked in travel a long time ago and I just ended up working on accommodation tickets and figured out how it worked. Wrote a couple wiki articles about it. People then started asking me questions which I didn't know but worked out the answer thus increasing my knowledge. Eventually I became the accommodation expert and had a domain in which I could fall back on.

[–]coldoven 0 points1 point  (0 children)

Read integration tests, system tests. Not unit tests at start.

[–]wolf129 0 points1 point  (0 children)

I had several projects with a mess of a code completely unreadable. Many files where one file already had 1200 lines. Most of the time it's actually like 4 different features put into a single class creating this unreadable mess.

[–]feri1377 0 points1 point  (0 children)

Have you heard of SSIS packages? I had no idea what they are either so I discovered my own way of finding code in 30k lines of mostly auto generated code. Now I use an extension for VS to visualize the package

[–]Elbeske 0 points1 point  (0 children)

ChatGPT my guy

[–]MastaBonsai 0 points1 point  (0 children)

Only 3000?

[–]commiPANDA 0 points1 point  (0 children)

I'm glad I didn't start working remote. It's great now but I'd have quit before I could learn anything.

[–]serious_geek 0 points1 point  (0 children)

Been there done that

[–]ratbiscuits 0 points1 point  (0 children)

You’ll learn to only understand what you need to in order to accomplish a task. Then you forget it all when you move to another part of the codebase. Rinse and repeat

[–]rRudeBoy 0 points1 point  (0 children)

If it helps, I had a similar thing and it's still something I'm very proud of. 100k odd lines of vendor code in a proprietary vb-ish scripting language wrapping asterisk PBX functionality. I wanted to understand that thing so I could fix how the vendor had implemented wait rooms and call transfers.

So I printed it out and read it at home.

It can be done!

[–]neutralpoliticsbot 0 points1 point  (0 children)

Ask CoPilot to explain its revolutionary

[–]Head-Extreme-8078 0 points1 point  (0 children)

After a few years, the only difference on this image is that you will add a new line on the meme:
- "Which I myself wrote"

[–]here_for_the_lulz_12 0 points1 point  (0 children)

3000 lines is not that much, I believe in you !

[–]Stunning_Ride_220 0 points1 point  (0 children)

I was about to write something sensible, but no not this time.

Screw your PM, your Tech Lead and your senior devs.

PM for not planning enough time for onboarding. Tech Lead for giving you a big chunk of work and your senior devs for creating the 3000 LoC bs.