
Ask HN: Advice for my first day as a developer tomorrow - vjba
It&#x27;s my first day in my first job as a developer tomorrow. What are some useful things to know and do to be prepared?
======
tudorpavel
Don't send an embarrassing company-wide email about how someone ate your
lunch. I'm still working there after 6 years, but I get reminded about it now
and then.

But seriously, focus on learning from your peers as much as possible. Don't
worry about what others think of you or your code. You shouldn't take code
reviews personally. Seek objectively simple solutions to problems.

Good luck and may you find fulfillment in your new job!

~~~
shaneprrlt
Embarrassment? That's your lunch! At some point you have to take a stand and
defend yourself against these animals that knowingly eat another persons
lunch. What's next? First it's lunch, then it's your car, your identity, then
your 3pm snack!?

------
pkrotich
* Don’t be smart ass or know it all type - even if you’re indeed the smartest in the room.

* Sit back and learn the culture before you start stepping on toes.

* Value mentorship - learning why things are the way they’re will give you insights into the evolution of the company.

------
diegoperini
Don't forget to have fun! You probably like being a programmer, so don't let
this job change that. Treat yourself well. Personalize your work tools to your
liking as much as possible. Bring a cup you like to the office and use that.
Be alert in case your chair is uncomfortable.

------
muzani
Do a little more than expected. That's where the magic happens. That's how you
grow and improve. That's how you build connections, and get freelance work or
meet that cool guy who starts an exciting startup, or get recommended for that
job at whatever corporate you want to join.

Improve a little bit every day. Honestly this has given me the most returns.
It doesn't have to be much at all - find a nicer IDE theme, memorize one
shortcut, read up documentation on that command you use a lot but never
understood.

Explore things that interest you, not necessarily the one that seems like the
next career step. When you're young, your hacker instinct is probably more
accurate than most of the data and buzzwords going around.

------
shaneprrlt
Find your go-to rotation of music and podcasts so you can immediately plug in
when you want to get in the zone. I highly recommend checking out
[https://brain.fm](https://brain.fm). I pay like $6.99/mo (about same as my
Spotify subscription) and it has been an absolute gamechanger for me. Piano
music, lo-fi, classical music are also great places to start if you have
Spotify.

For podcasts, which aren't always great since they can be distracting, I've
been enjoying Bill Burr's Monday Morning Podcast lately. It's absolutely
hysterical hearing him rant for a few hours every week.

~~~
siquick
I'd recommend the complete opposite - _don 't_ wear headphones for the first
few weeks. The micro interactions that you get in the work place can make or
break your relationships with your new colleagues.

~~~
shaneprrlt
That's actually a fair counterpoint. Take my advice once you're settled in for
those times you do just want to be heads down and focus.

------
ltmi600
Don't try to prove yourself or worth by "over programming". Learn the culture
and abide by it. Don't try to change everything as soon as you start working.
Control your ego.

~~~
Gibbon1
I'd chime in that most places there is a 'big picture' and what people think
is the 'big picture' OP should try to learn what those two are. Because you
want to work with and not haplessly against them.

------
LandR
Congrats on the job!

First day you aren't going to be doing any coding.

You are likely to be doing a lot of admin nonsense, getting your dev
environment set up and learning how their source control works / is
structured.

After that you will be told to pull something from source control and will
probably spend next couple of weeks familiarising yourself with the particular
code base you are going to be working on. Don't treat this as an easy slacking
off period. Take it seriously. If you are going into a code bases in the
100K+, 1M LOC size then this is a fairly hefty task on it's own to try and
understand the architecture / structure.

Ideally they will pair you with someone senior for a few weeks if you are a
junior developer.

Do you know what source control they use? If so it's worth getting to know it
before you start.

If you are a junior developer, develop a thick skin, you will likely get lots
and lots of comments on your code and potentialy a lot of them negative. This
is fine, this is expected. Learn from it. Don't end up in your feelings or
take it personally.

Be prepared to ask lots of questions, again if you are a junior developer this
is totally expected.

What would be nice is to get included in code reviews from the start, look at
the comments on other peoples code reviews and learn from them! This will help
you pick up the expected style as well, if they have one (and it's not
enforced by some auto-formatting).

------
zyl1n
Don't eat lunch alone. Build rapport with your colleagues.

------
rabbleroo
Hey, just want to say good luck and hope it goes well! There will be a lot to
learn but take it one day at a time. It's a long journey but a fun one. Try to
absorb as much information as you can from your coworkers.

Shameless plug: I'm starting a newsletter focused on offering career advice
for programmers. You'll learn plenty of technical skills in your new role, but
my hope is I can teach some younger devs what kind of soft-skills are needed
to navigate your career.

Feel free to subscribe here:
[https://juniortosenior.substack.com/](https://juniortosenior.substack.com/)

------
omosubi
\- continually challenge yourself

\- once you are there for a few months, take ownership of something (a part of
the product, some piece of tooling, an area of support, etc) and become the
go-to guy for that. You will be rewarded for it

\- ask a lot of questions and don't be afraid to look stupid. People are often
relieved when you ask the "dumb" question because they didn't know the answer
either

\- along the lines of don't be afraid to look stupid, if something is going
poorly or isn't going to meet a deadline you have set, ask for help as soon as
possible

\- take ownership of your own career. no one will give you a raise or a
promotion without you asking. Occasionally someone who is an absolute standout
will get recognition like this, but it's rare

Good luck

------
olingern
\- Read some recent PR's on an area of the codebase you'll be in. See if you
can come up with some questions if you can't figure out why something was
done. It would impress me if someone came to me with great questions or was
just interested in learning.

\- Be aware of your time. Sometimes, devs can be pulled in many different
directions that distract them from what matters.

\- Learn and research your company's tools and practices, i.e.
Github/Bitbucket, Trello/Asana, scrum/okr's, etc.

\- Get your dev environment running. If there are bugs or issues in the
documentation, see if you can make a PR and fix it for the next person.

edit: PR stands for "pull request." Adding, since I would not have known this
just out of college.

------
duiker101
You will screw up at some point. It's ok. It happens, we all took a website
offline or merged the wrong branch. It's part of the learning process.

Learn from everyone, there are many different ways of doing everything, don't
just follow blindly one person, observe what everyone is doing and choose
whatever works for you.

Be always open to improving, learning and becoming a better dev. This is a job
that is ever evolving.

Read the error and understand it. Don't click blindly "ok" or "close" on error
messages, they might contain essential clues that are too easily dismissed.
Error messages are often done poorly but are also one of the main tools we
have.

Don't overdo it. It's soooo easy to burn out, be conscious of your health.

Have a great first day!

~~~
loa_in_
I remember my first big screw up, at my first start-up I worked at.

I mounted production server webdir as an sftp mount remotely. Then I remember
doing chown -R at some higher level directory locally thinking it surely won't
affect NTFS remote system, but boy was I wrong. It caused a one whole day of
downtime. Thankfully easy to fix once I figured it out.

My boss couldn't live it down for a week or two, but eventually it dissipated
and I earned a lifetime lesson, and nothing really was lost.

~~~
kostarelo
Almost 7 years in since my first job as a developer and I did a 7k£ worth of
damage at my current company after merging an enormous PR which among others,
messed with the production DB. It was so huge none approved it but I got
written confirmation from my manager to merge and "see what happens in
production". :P Shit happens. It's never your fault, well, unless when it
actually is.

------
bdcravens
If you have the opportunity to socialize with your coworkers, especially if
alcohol is involved, be more careful than you would with friends.

Avoid obscene language or crude humor. Most people tend to smile and laugh
even when they feel uncomfortable.

------
tmaly
Get a good engineer notebook or any notebook and take notes when someone is
teaching/training you.

It looks really bad if you have to go ask them something they have already
told you.

------
valerij
everybody is equal but some are more equal. try to identify people with ties
to hr/ management and try not to step on their toes. no need to be overly
friendly, just be careful around them

two people you need to be always friendly with are the facility manager/
janitor and the reception person. they run the place. thats how you get a
better chair or get your amazon packages accepted

dont try to suppress your personality for too long, forget about stuff "yeah i
would have liked to speak up about <issue> but im just here for a week, i
better wait couple month then ill allow myself that" people notice changes in
behaviour (mostly as negative), and in two month you will have an established
position in the social hierarchy. if you are a loudmouth, be loudmouth from
day one. "the new guy is a loudmouth" will get easier pass than "you noticed?
bob is turning really arrogant lately/ since his promotion"

some sitting places are vacant for a reason: smelly colleague or
malfunctioning ventilation unit blowing cold air at you. choose wisely before
you get stuck in there

dont take shit from others, dont overwork yourself or you will be the "he
works an hour more anyway" guy

take your time to learn and read and research twice. take notes of everything
you are shown and taught about the thing you work on. be it stuff like "you
need to kick the server here to keep UPS from failing" or "dont change spaces
to tabs in this file, it will break the build" passing remarks like this are
the most valuable insider knowledge there is

remember that you are a social animal and so are others. spending an extra
half hour joking with colleagues after lunch is done, instead of leaving the
table immediately, makes quite the difference

------
deliriousferret
Don't get stuck on a problem for too long. Ask for help. On the other hand,
don't immediately ask for help but try to figure it out by yourself first.

------
eanthy
Your first job pretty much determines in what direction your career it's going
to go. If you work with tech you like then good for you. If you don't make
sure you move within a team that does because your next job will be just an
upgrade of what you are doing now, and you better choose the right thing.

~~~
codingdave
> Your first job pretty much determines in what direction your career it's
> going to go.

This is untrue. Your first job shows you what all the variations in roles
actually are in this industry. It isn't just coding. Do the work, take note of
what everyone does. And if there is something that you like more than coding,
try to learn that.

You have flexibility - nothing is set in stone. Many people change gears
numerous times as their career progresses. Don't stress over it.

~~~
eanthy
if he is willing to start again as a junior on a lower salary when changing
fields then yeah

------
franferri
Do your best, focus in the tasks, and mind the networking you create at the
beginning, is very important.

Over all don't burn out, put your time in work and learning but also put time
in joy and rest.

Programming is addictive and will you a workaholic. Mind your times well.

------
sifer
\- don't worry about code

\- be friendly and focus on getting to know your coworkers a bit

\- get all of your account credentials (tools, apps, etc)

\- ask about benefits/hr stuff/etc

\- set up your local environment (just setup)

\- again, don't worry about code yet (no reason you should be dropping code -
even tests - on day1)

------
dial8gue
Feel free to ask questions. As much as possible. Then it will not be so
comfortable

------
collyw
Don't be afraid of asking (what you think might be) stupid questions.

------
strikelaserclaw
Remember to learn something everyday. There are people with 20 years of
experience who have only learned 1 year repeated 20 times.

------
superhuzza
Get:

1\. Headphones

2\. Water Bottle

3\. Coffee mug

(You may want to wait on these, they might provide them)

Be:

1\. Friendly

2\. Open to learning new things

3\. Humble

4\. Open to asking for guidance

5\. But self sufficient when you can.

Good luck!

------
wolco
Find out where the bathrooms are.

~~~
valerij
even better: find that one forgotten single stall bathroom on the third floor
where you can poop in peace

------
iamnothere123
LOL, Just hope no one from your new office sees this post

------
wallflower
Listen. Talk very little. Good luck!

------
slipwalker
measure twice, cut once.

day-to-day programming is a lot more like carpentry than science...

