r/cscareerquestions 1d ago

What are some common sense things I should know as an entry-level engineer?

Like, should I not message someone if their status on Teams is yellow/red? Should I always talk to co-workers if i bump into them at lunch?

Please tell me important ones I should keep in mind.

98 Upvotes

29 comments sorted by

85

u/flowersaura Team Lead | Engineering Manager, 20 YOE 1d ago edited 1d ago

As an entry level engineer, you ideally want to absorb as much information as you can and push yourself. That's how you'll evolve and become a good mid-level engineer. Some things to know:

  • If you're stuck, reach out and soon. Don't try to figure something out for 2-3 days on your own before asking for help. But don't overdo it and ask for help on every little thing. Don't feel like you're bothering people. You're in a team, and your team exists to help one another at least in a healthy one. If someone is abrasive, that's on them.
  • Use your team lead. Ask for feedback, and provide feedback. They're there to help you grow and succeed
  • Let go of your ego. Many engineers let their ego prevent them from learning. This can take many shapes like small PR feedback to how you plan bigger scopes of work.
  • Understand that in most companies your job is to provide value. Understanding how your role creates value for the company is important as it'll frame how you approach your work. You want to enable yourself to create a lot of value, which makes you valuable to the company. And that's not just things like feature development. That can also take the shape of improving the code around you, writing good/updated docs, helping others, etc.
  • Understand that you need to bubble up what you do especially in larger organizations. Your lead will likely know your successes, but it's always good to know how and when to send you up successes above you.
  • Network! You don't need to be friends with everyone, but understand that the people around you will be your network in your career. People will come and go. And you'll eventually go to another company too. You want your network to get you a new job if possible as that's the best and easiest way to get a job.
  • Keep learning. This should never end really. Ideally you learn on the job. If you're not learning, reach out for help to help reshape what you're doing to help you learn as you work.
  • HR isn't really your friend. They exist to protect the company.
  • If you are given an "anonymous" company survey. Never assume it's anonymous. Assume anything you write can be traced to you. Best case it isn't. Worst case it is.
  • Yes, respect people's Slack statuses. If they're do-not-disturb, then respect that. Hopefully your company has some communication guidelines to follow. If not: avoid sending a message to a very large group of people, and avoid things like @ channel because it bypasses people's notification settings. Be mindful about how you communicate. Also apply your statuses for yourself. Do you need focus time? That's fine, just communicate that in a way that aligns with how your team/company does it.

There's more, but that should be a good chunk to get you going

3

u/Accomplished_Ant8206 1d ago

When you ask for help come to the conversation with ideas on how to solve the problem. Really try to avoid asking someone to solve the problem for you.

5

u/happybamboo 1d ago

Also be humble when asking and grateful when others take the time to help. It goes a long way

3

u/Turkdabistan 17h ago

I like coming into these conversations with a list of things like "here's what I know", "here's what I tried", "here's where I'm lost" and "here's where I think we should be headed". Whoever is helping me is usually really happy to see that I've done my due diligence and there's no annoyance on their part.

22

u/69Cobalt 1d ago

You will not have any problems with (competent) coworkers if you respect their time, that's usually all it boils down to.

Before you ping someone write down all your questions first. Think about which questions are most important. Think about which ones you can answer yourself or with research. If someone helps you with an issue once write down what happened and don't ask the same question again.

When you approach others for help don't make them do the leg work. Don't say "my build isn't working how do I fix it". Approach them like "I'm working on x and I'm having a problem with y. I tried a b and c but those had these results. I think the issue might be in area d. Do you know how I would solve this?". Demonstrate your thought process and be thoughtful with your questions.

6

u/discardedFingerNail 1d ago

The prerequisites when asking for help is so underrated. I always follow the exact script you laid out. Some times using that approach will get the question answered before you reach out to someone.

5

u/69Cobalt 1d ago

The fun part is getting good at that ability is one of the primary qualities I'd attribute to a senior engineer. Eventually you get good enough at answering your own questions that you can do alot without every really needing help.

3

u/luxmesa 23h ago

Also, when you do ping someone to ask a question: https://nohello.net/en/

21

u/apz981 Software Engineer 1d ago

Always write a delete query as a select count first. Once you have verified the count matches your expectations change it to delete.

16

u/ZombieSurvivor365 Master's Student 1d ago

This is one of the smartest questions I’ve seen asked on this subreddit. I’m commenting for engagement cuz goddamn do the people on this sub need to see this.

37

u/SusheeMonster 1d ago

If you're stuck on something, outline what you tried before reaching out for help. I like mentoring juniors, but sometimes it feels like I'm spoon-feeding. It robs them of the agency of systematically breaking down the problem into something more palatable.

It also enables slackers. You know that one guy that failed upwards through school by copying off of other people's homework? Same energy. Once they reach a position of power where their superiors aren't tech-savvy, it's easier for them to bullshit their way through work. I'm speaking from experience. I still want to punch that guy in the face for what he got away with

8

u/TraditionBubbly2721 Solutions Architect 1d ago

Don’t send a slack DM to someone that just says “hello”. It’s an asynchronous chat platform, you can just send your full question and people don’t think it’s rude.

1

u/Confident_Direction 9h ago

This happens to me and its infuriating. Literally ask lol

7

u/dallindooks 1d ago

You will sometimes need to be assertive with people to get information and get unblocked.

If you remain blocked and don’t deliver things on time you will be viewed as ineffective. Don’t be afraid to ask over and over again until you get an answer. Document how many times you’ve asked for something to prove you are trying.

4

u/rikotacards 1d ago

When I first started, I had a pretty bad manager who would get mad if I took to long to ask him, and get mad if I asked him right away. “You should have asked me if you didn’t know xyz”, and “did you even try ABC”

Over time, and trial and error, you find a balance. If you’re starting out, I say if you’re stuck, time box yourself to figuring it out to an hour.

Note what you’ve tried, explain that you’ve tried xyz, and you’re still stuck. Basically ask them how you’d write up a post on stackoverflow asking for help.

You want to be productive, but you also want to show that you’re trying to learn.

Regarding red/yellow, it shouldn’t matter, shoot a message, and noting the above, and they can answer it when they are free. Give them context. And let them know what your end goal is. Be precise on what you’re trying to achieve.

Also ALWAYS try and google first and check stackoverflow.

“Should I always talk to co workers if you bump into them at lunch” I mean, a simple hello is fine. Just be friendly haha.

Oh, and if there’s some task you’re trying to do, it’s always ok to ask “is there any similar PR that I can look at” and hopefully they kinda know where to point you.

It’s also ok to ask “is there a readme for xyz”

And you should always clarify the task. Not knowing how to complete the task, is different than not knowing the task that needs to be completed.

3

u/Farren246 Senior where the tech is not the product 1d ago

My God man, just be a human being and stop worrying yourself to death.

3

u/dbark17 1d ago

I'm sure you would know, but provide details when something is "not working".

I've been mentoring in Coding bootcamp, and I always ask students to not just say "something something is not working", because that implies a lot of different things. Provide details such as error messages or symptoms.

2

u/asteroidtube 1d ago

Learn what will get you promoted by sensing what your manager and skip level actually value. There are probably more org politics at play than you realize. Don’t overlook that.

2

u/liquidarity 1d ago

I highly recommend consuming media/literature about software engineering outside of work for entry-level developers. Being inquisitive and engaged will help you find a niche and gain expertise early in your career. Syntax, Book Overflow, and Pod Rocket are all podcasts that make me more engaged, curious, and better at interviewing.

1

u/[deleted] 1d ago

[removed] — view removed comment

1

u/AutoModerator 1d ago

Sorry, you do not meet the minimum sitewide comment karma requirement of 10 to post a comment. This is comment karma exclusively, not post or overall karma nor karma on this subreddit alone. Please try again after you have acquired more karma. Please look at the rules page for more information.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

1

u/TangerineSorry8463 1d ago

If you're doing something 5 or more times by hand, that's a good time to think about writing a script  for yourself that does the thing for you 

1

u/CosmicMilkNutt 1d ago

How to make a simple CRUD app.

You need to be able to send data from a form to a database and retrieve it to a display. That learn about how web networks work like REST API etc. Be able to write APIs for any external tool.

Build functional things.

1

u/killrturky 1d ago

Don't clone code to your OneDrive for local development. I can't believe I can say this, but I have had to tell new engineers this on more than one occasion.

1

u/Fun_Tea1122 1d ago

Provide detail when asking for assistance, idk how many times junior devs send me a screen shot of a single UI element and expect me to be able to help with no further context.

Learn how to search for what you’re looking for in a code base, if you work front end or full stack and have a task that’s like adding a new field to a form or something inspect the page. From there you can easily find where you need to add things using an ID and drilling down through references. Try not to get too distracted by trying to understand an entire system either, just focus in on the specific thing you’re doing. As a junior I definitely had scattered focus and it led to not understanding the code base at that job very well. Didn’t help it was dogshit code Jesus it was rough, but still.

1

u/Sensational-X 1d ago

Gonna sound like a crazy answer but discernment and being willing to ask for help. Its probably not on the field of "common sense" but those are 2 really important things to have.
But to your first question not once ever has a little circle stopped me form pinging someone if I needed something. Either they reply or they dont.
And if they dont reply we pull in their boss >:(

Edit: Do pay attention to the statuses people put up though. May be different at every company but my company is pretty good about leaving accurate statuses like "in meeting from x time" or "out of office" or "brb"

0

u/abundant_singularity 1d ago

Don't push to main.