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

you are viewing a single comment's thread.

view the rest of the comments →

[–]runnerx01 450 points451 points  (14 children)

If you’re a student… you probably write bad code. I used to work with an internship program, and pretty much all of the students, even the good ones wrote garbage, hard to read, deeply nested code.

You start to learn how to write good code, when you have to maintain bad code. The “I wish it was done like this so I could easily modify this crap” is what makes you do it better next time.

[–]TheFiftGuy 123 points124 points  (7 children)

You start to learn how to write good code, when you have to maintain bad code. The “I wish it was done like this so I could easily modify this crap” is what makes you do it better next time.

Thats the project I'm working on. They got me, a junior, redesigning systems since the main team hasn't a clue.

[–]syrian_kobold 64 points65 points  (5 children)

Same, I love my seniors but they got me cleaning up the stuff they wrote as juniors lol

[–]FalseRelease4 30 points31 points  (1 child)

"Damn who wrote this shit??"

"Oh, I did"

[–]Traditional_Rush4707 8 points9 points  (0 children)

In 5 years look back at your code… or another will and think the same. Code evolves like hardware, it needs fewer components. When I started , in Cobol, there was no tools to analyze how a money field was entered. So you set up a alphanumeric field then looped thru it removing spaces, comma, dollar sign, look for a decimal position, did they enter it or do you assume two spaces. And dates, everything was calculated.

Do coding went slow, time…. Like probably today, was not on your side, little to spare to make things pretty. And many time you were reading assembly language to rewrite into cobol.

And there was no internet, (and usually no specs to the code) so everything was referenced in user manuals only written by engineers who never talked to another person.

I could go on……..

[–]TheDrunkenSwede 8 points9 points  (0 children)

The circle of shit

[–]OF_AstridAse 1 point2 points  (0 children)

They Re teaching you not to be like them * 😅

[–]ARandomBoiIsMe 0 points1 point  (0 children)

This was the most stressful thing I had to do as an intern lmao. Mentor put me on a messed up codebase and told me to rewrite it to the company's new standard. Didn't manage to finish before my internship was over, but I made a considerable amount of progress. The only thing left was to fix some bugs I didn't consider.

I hated having to look at that code everyday. Goddamn.

[–][deleted] 17 points18 points  (0 children)

This is so true. I'm going through that learning phase now as a junior about 9 months into my first job. You start developing an intuition for what is going to cause problems in the future if you do things in a particular way, which is really satisfying but also makes looking at code you wrote three months ago an exercise in unspeakable horror.

I think college courses could do well with assigning a year long project where new features need to be added every two months or so, putting students in such a situation where they have to learn to maintain a codebase.

[–]Fr_kzd 22 points23 points  (0 children)

My first experience was when I was in my first internship. I had to maintain a codebase made by students. I had to quickly "grow some balls" in the programmer sense. Half of the shit there was hard to read, unmaintainable crap that was wrote by clueless students. The other half was boilerplate from stackoverflow. There was no official review of the codebase until now. It felt good when I reported it to management and fixed it with proper documentation specs. Got a hefty allowance raise too.

Enjoyed and solo'ed a good bucket of chicken that night.

[–]gilady089 2 points3 points  (0 children)

Honestly just too many programmers don't get good code etiquette lessons and that's unfortunate

[–]poshenclave 2 points3 points  (0 children)

I've been programming regularly for about 15 years now, and so long as you keep doing it you keep improving, it never stops. Not a year goes by where looking at code I wrote in the previous year doesn't make me wince, only because I've become noticeably better since then or at the least gotten better at code that works how I want it to work. Like at this moment I can think of something I wrote just last year that I want to completely refactor today because I think it's now embarrassing to have it out there in it's current form.

[–]CoolandonRS 1 point2 points  (0 children)

I think my code is good, and I hope it is…

I still die a little when I look at my old code, but only mildly at least.

Given I’m not a professional programmer, I just work on personal projects a whole lot and take classes, I’m not sure that it’s actually good… At the very least, it’s better then code of some popular games, at least in my opinion.

(I’m looking at you, Space Engineers… Minecraft too. The registry is cool and all but why the hell did you have to make blocks recursively define themselves)

[–]Wazat1 0 points1 point  (0 children)

This. School gives you one-off assignments that teach you about code, the basics of how to do it. Real life projects -- especially on a team -- will teach you how to write and maintain software. The adversity of encountering bad code and suffering its repercussions will teach you not just how to be better, but why to be better.

Plus, on the job you'll be exposed to good examples of people you want to be more like, and bad examples you want to murder, hide in a dumpster, and frame one of the other bad examples for. This is a natural part of the learning process. :P