
Ask HN: Tips for First Developer at company - casper345
	So technically I am a junior developer at my company but I am the first one so I am deciding a lot of the architecture of the platform. They contracted alot of work before, in Laravel. But I only know Rails with a React frontend. What should I be looking for dev workflow? We dont have a dev, staging, prod environment flow setup (contractors straight push code to production)- should I be thinking about that? Docker? Cronjobs? So many questions I thought a senior developer would know but its just me haha
======
thsowers
This is an awesome opportunity for learning!

Much of what you should do depends on your specific situation, company type,
and if you anticipate other devs eventually joining you.

The specific stack and container technologies that you choose for the
architecture will vary greatly depending upon your scenario, but I will say
that picking something stable, with a large community that other devs are
familiar with will make your life easier in the long run.

Since you are currently alone, something that a solo developer can be quickly
productive in (like Rails + React) would be ideal!

For workflow, you need some sort of beta/staging environment so that code
isn't going directly to production. This is simple to setup and has big pay
offs: you can use it to showcase new features to stakeholders and gathering
feedback before "pushing to production", as well as increasing stability. In
the future with other devs you could scale this to a full pipeline with auto
CD/CI etc

I would also recommend trying to keep fairly decent documentation. If other
devs join you in the future, they will greatly appreciate this. If you leave
this job and they hire another contractor or dev, they (and hopefully your
company) will appreciate this.

If you have to manage a lot of cloud servers or network architecture, I would
highly recommend taking the "Infrastructure as code" approach. It's pretty
simple to get up and running on Digital Ocean with just a few lines of
Terraform, and the benefits to devops are huge

Best of luck!

------
Cypher
my priority would be to get a staging area setup, having anyone push directly
to production is going to cause you endless stress if something breaks in the
future and you can't rollback to a stable release.

I love this story of how a junior delete the whole production database.
[https://www.reddit.com/r/cscareerquestions/comments/6ez8ag/a...](https://www.reddit.com/r/cscareerquestions/comments/6ez8ag/accidentally_destroyed_production_database_on/)

imagine in 2 years that happens to you when you're not the junior anymore.

