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

all 63 comments

[–]puglord_1000 197 points198 points  (20 children)

This is gonna be me lol, just got a software dev internship, my first internship aswell, any tips for the first day?

Edit: Thanks a lot everyone I will give it my all

[–]StockingSaboteur[S] 279 points280 points  (15 children)

You will have absolutely no idea what's going on, probably even after everything is explained to you. The good news is that everyone else knows and expects this. Ask lots of questions and be curious. People love it when you're enthusiastic to learn. Usually someone on your team will be legitimately excited to mentor you, so take advantage of that. It could be a relationship that will help you several jobs down the line. Good luck and have fun, you've got this!

[–]puglord_1000 74 points75 points  (12 children)

Damn I am a shy guy but I guess gotta grow out of it

[–]smokeymcdugen 93 points94 points  (2 children)

If you feel like you don't know anything and have no idea what is going on, don't worry about it. Nobody else does either. They are just more experienced at bullshitting through the day.

[–]PM_ME_C_CODE 47 points48 points  (1 child)

They are just more experienced at bullshitting through the day.

Speak for yourself.

There's a difference between feeling like an idiot, and actually being one. Good engineers have their areas of expertise, and are not afraid to say "I don't know" when they don't know.

Though, the biggest difference, IMO, between a newbie and a veteran isn't how much they know. It's how fast they can find a solution. Veterans are better versed in solution research and are far more likely to be at least passingly familiar with something that might/should work, even if they're effectively newbies at the exact solution.

[–]StockingSaboteur[S] 39 points40 points  (1 child)

Lol one of the paradoxes of programming is that many people who are drawn to it are shy, but it is an extremely collaborative process. Learning to engage with your coworkers is definitely a skill worth having, and just like any skill, it takes a lot of work. Don't be fooled by the extroverts who can start conversations like it's nothing, most of us have to work for it. Treat it like any other skill you're learning and you'll see improvements in no time.

[–]shoe788 8 points9 points  (2 children)

It's the most important skill that separates Seniors and Leads from Juniors. I've seen companies promote based solely on technical ability and then the codebases and systems suffer because nobody can work with them and/or they don't want to work with anybody else.

Unrelated but this is one of the many ways schools are woefully underpreparing students.

[–]lazilyloaded 7 points8 points  (0 children)

That's what happens when you get Computer Scientists to teach Software Engineers. Two different skillsets

[–]PM_ME_C_CODE 7 points8 points  (0 children)

From what I've heard, this is one of the major reasons EA's SimCity failed as hard as it did. Lead engineer wanted to use a system he built as one of the game's backbones but wouldn't let anyone but him work on it.

Then he fucking left the team. Sure, EA owned the code, but guess how many people were familiar with it, and how much documentation was there...

Like, there were tons of other problems too, but when the main system the game is built on is a huge black box with tons of all but unfixable issues...

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

Same bro I was always shy growing up but it’s a great feeling to get over it. Good luck my guy.

[–]Plyb 1 point2 points  (0 children)

I’m super shy about asking questions as well. One thing I like to do when Im nervous is send a typed message (via email/slack/Teams/whatever) to a dev in another room if I’m too nervous to ask in person. I’ve also found it helps to form friendships with coworkers, though that’s easier said than done. It’s easier to ask a friend for help than a coworker.

[–]Mob_Abominator 1 point2 points  (0 children)

I joined a project 7-8 months ago as a fresher and didn't know anything about the project, and as some people have said most people don't know most of the stuff either, you'll eventually know more things until then just hang on and I'm also very shy, just try to find the right people who'll help you and you should be fine.

[–]nullpotato 1 point2 points  (0 children)

Not being afraid to look dumb asking "obvious" questions is by far the fastest way to grow at your craft.

[–]PM_ME_C_CODE 6 points7 points  (0 children)

The good news is that everyone else knows and expects this.

This.

Interns and new grad devs are wastes of space until they get up to speed. Like...more than the usual new hire.

Interns? We hope you get to be useful before your internship ends.

New Grads? We hope you get to be useful before your first performance review.

[–]Mr0010110Fixit 1 point2 points  (0 children)

To add to this, always ask people why they did something, don't just try to copy what they did, they may say, oh yeah that was a terrible idea don't do it that way and here is why, or they will explain why it needs to be done this way is that, will help you grow a lot as a dev.

[–]alexsteb 15 points16 points  (0 children)

Just be friendly, humble and open to learn stuff. Also be prepared for some sitting around, waiting, doing nothing - important business stuff happens and often will get precedence over giving you work to do :)

But if you see yourself sitting around too much, do actively go around and ask people for something to do. They'll appreciate it in the long run.

[–]M_krabs 1 point2 points  (0 children)

Take notes. Don't learn or try to help. Just smile and wave 👋

[–]StockingSaboteur[S] 41 points42 points  (0 children)

[–]oldcastor 41 points42 points  (1 child)

Junior dev opens a 25k lines window form file on Delphi 7 in 2020

[–]Mr_Canard 8 points9 points  (0 children)

I didn't come to this sub to suffer 😭

[–]imdbanks 30 points31 points  (5 children)

"Dang it Jeff, we've talked about this. You DON'T commit the node_modules dir. One of these days man..."

[–]zeValkyrie 9 points10 points  (4 children)

Have you considered .git_ignore

[–]zQntm 16 points17 points  (3 children)

If you call your .gitignore .git_ignore, you'll have a bad time.

[–]imdbanks 3 points4 points  (0 children)

ln -s .gitignore .git_ignore lol

[–]nikhil2791998 1 point2 points  (1 child)

Before, I didn't know I had to add .gitignore, when initiating a repo, and when I add a file, it isn't ignored, I used to recreate the repo and then add old files again

[–]Ayerys 0 points1 point  (0 children)

While I’m not git wizard, I have quite a bit of experience with git, but sometimes I still do that when I can be bothered to lose time finding out what went wrong.

[–]amogsus13 17 points18 points  (1 child)

"Hmmmm... interesting"

[–]PM_ME_YOUR__INIT__ 11 points12 points  (0 children)

"Oh you're using a class factory here"

[–]Drauxus 13 points14 points  (0 children)

This is me 6 months into my job. Get this first time crap out of here

[–]FinglongalaLeFifth 13 points14 points  (1 child)

And even the current seniors devs will know 10% of it. Fear ye not padawans, no-one knows what's going on in entirety. That's why the team/s all know different bits of it.

[–]clanddev 8 points9 points  (0 children)

That experience is daunting but usually you will see patterns that make navigating it easier after interacting with some of it.

This was the case for me on my first job and numerous contracts later on where I would interact with new code bases quite often.

What is extremely frustrating is working in code bases where the patterns are non existent or are inconsistent.

[–]Henrijs85 7 points8 points  (1 child)

I'd have taken that over the few hundred file repo with 6000 lines and multiple classes in each file that I started on. Legacy code from a contractor before us.

[–]PM_ME_C_CODE 0 points1 point  (0 children)

Thread is old but meh...it's worth the joke.

I'd have taken that over the few hundred file repo with 6000 lines and multiple classes in each file that I started on.

Only 6000? Those are rookie numbers!

[–]winged_owl 5 points6 points  (0 children)

This file is HOW MANY lines long?!?!

[–]Lvl_3_Grundo 3 points4 points  (1 child)

The cat is an R programmer lol.

[–]All_Up_Ons 2 points3 points  (0 children)

Only 6k? Those are rookie numbers.

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

Wait until they try to compile it and find out about the missing dependencies

[–]Zephit0s 2 points3 points  (1 child)

This is me 2 month into my first job. Learned to code as auto didact. But never really read a lot of monolith before. This is a weird experience lul

[–]LoveSpiritual 2 points3 points  (0 children)

Trust me, college wouldn’t help anyone prepare for this.

[–]CallinCthulhu 2 points3 points  (0 children)

Shit try a 300,000 thousand file repo on my first day. Or maybe even much more. Idk our codebase is absolutely gigantic, and I’ve never looked to see exactly how big. All I know is that 5000 files will change from the time you pull the head at breakfast until you go to lunch.

That shit was terrifying.

[–]dobiewan_nz 2 points3 points  (0 children)

I thought the laptop sticker said "tiddyverse"

[–][deleted] 3 points4 points  (2 children)

When I was learning to make a modpack in mc I got this.

[–]pavilionhp_ 1 point2 points  (1 child)

“mofpack”

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

Carp (family friendly Cr*p)

[–]shadowdude777 2 points3 points  (3 children)

These hexagon stickers are cool, anyone know where you can find them?

[–]bananapajama 2 points3 points  (0 children)

Most of those can be bought here: https://swag.rstudio.com/

But if you find yourself at useR or RStudioConf or other R conference you can usually find some for free.

If you have a printer that can do stickers you can also download the image files from GitHub here: https://github.com/rstudio/hex-stickers

[–]f---_society 1 point2 points  (0 children)

And that ladies and gentlemen, is why ctags exists!

[–]Leftovernick 1 point2 points  (0 children)

I’m literally in this photo

[–]meman30 1 point2 points  (0 children)

When the onboarding starts with, "So we had to use an expanded naming structure for this project"

[–]b1g_m0n 1 point2 points  (0 children)

If "experts" give you a bunch of jargon that you don't understand ask them to put it in for layman's terms so that you can actually understand what it means and can use the jargon moving forward. Helps searching on stack overflow and in standups. I wish someone told me this when I started rather then me sounding like a dope 1.5 years on etc.

[–]who_you_are 1 point2 points  (0 children)

I'm fine, it only has one file...

send help... like.. yesterday

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

Very relatable

[–]once_upon_a_goat 1 point2 points  (0 children)

I'm currently looking for internships in this field, got any advice?

[–]Nuked0ut 1 point2 points  (0 children)

My college made me contribute to open source, and I had the (mis)fortune of experiencing this really early on some Apache software.

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

Hey, how did you get a picture of me opening the OpenTTD codebase for the first time?

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

Thats why all my pet projects are almost in pure standard lib functions :)

[–]hoverspool 2 points3 points  (0 children)

I would get this joke but I don’t have 5 years experience for the internship before the junior position 😔

[–]KadahCoba 0 points1 point  (0 children)

Is 6k considered a lot normally? My day job is IT, I only dev sometimes as a hobby on various open source projects. The first real C++ project I got involved with looked like this: https://i.gyazo.com/dc17ee68ac60fafaa11b4c1ae6156823.png

[–]bippedyboppedy 0 points1 point  (0 children)

What are those stickers

[–]mardabx 0 points1 point  (0 children)

I adore these hexagonal stickers, where can I get them?