CoffeeOps 03/05/2020
All Topics
- Keeping things positive
- Working with a recruiter. Does it ever not suck?
- CI/CD into no touch environments
- Coronavirus. Are you doomsday prepping?
- What is Agile supposed to be again?
- Interview Prep
- Kuberenetes
- Cloud Wars - has a winner been declared?
- GCP Changes
- Remote interviews
- GitLab/Monorepos
Interview Prep
- Background: Looking for a job and it sucks. Interview prep. Whiteboarding? How do I prep
- Depends on what kind of job you’re looking for. If you’re looking for frontend, backend, or full stack, you’ll likely get a white boarding question of some kind
- It really helps to just practice. Hackerrank and leetcode are fine, but its even better if you can just actually get a whiteboard and get someone to give you a question
- Coming in at the junior level, you’ll likely get more algorithms/whiteboarding questions.
- In terms of whether or not to leverage connections or apply at a ton of places, connections are way more powerful, but in lieu of that, it is good to apply at a lot of places. You might have a really low hit rate, but if you apply at enough places, you might get hired.
- Startups might be easier to get hired at, but there are a lot of downsides. Maybe lower pay, less structured, less mentoring, etc.
- Join the slack! Email nyc@coffeeops.org
Staying positive
- Need to remember the good parts of your job. Great benefits, good pay, 9-5 work for the most part
- The market is pretty good right now. Lots of job openings
- The work can be really interesting. Amazing architecting problems
- Addicted to the good feeling of creating something
- Lots of money to be had in this industry
- Many other jobs are way more thankless
- We have the ability to solve our own problems.
- Can be hard to stay positive because there are very visible people who appear to be very great at what they do
- We work in an industry where many times your job actually DOES care about you
- We feel like our job is thankless, but many other careers have it a lot worse
GitLab/Monorepos
- Background: Not a monorepo guy, or a python guy. But I’ve used GitLab CI/CD before. Joined a new company and its Python monorepo in GitLab. Auto DevOps in GitLab, but it breaks when you use a monorepo
- Set up docker compose for running locally
- Monorepos work if you have the tooling for that. You need Bazel or things like that because after a certain size, they start to break. Dependency management is easier in a monorepo.
- With a monorepo, you might eventually run into size problems. Git pull takes forever, etc.
- Typically, those using monorepos either came from google, or know that google uses a monorepo
Coronavirus! Are you doomsday prepping
- Went to Costco last night and it was wild. They were out of hand soap, Clorox wipes, rice
- People were buying entire cards of water bottles
- Company sent out email saying to bring laptop home every day so that you’re prepped if they don’t want people to come into work.
- Can’t imagine them actually quarantining NYC
- They say masks aren’t useful, but then that they need them in hospitals, so which is it?
- They are useful, but only if used properly, and really only useful in close quarters in enclosed spaces where people might be coughing or touching
CI/CD into no touch environments
- Background: if you have multiple AWS accounts and you have some that you don’t want to touch because they have sensitive data etc. What do?
- Unless misunderstanding something, you have to give SOMETHING access. Either something deployed inside that can manage the account, or grant other account IAM permissions
- Two ways seen it done before. One is terraform with a single account that is hyper locked down. Another is ephemeral permissions granted by Hashicorp Vault
- Could go down the ArgoCD route, where you deploy a single thing you trust into your cluster or account, and it handles all that deployments
Cloud Wars - has a winner been declared
- AWS is the 900 pound gorilla in the room
- GCP has the most ride or die fans
- Azure is great for Windows.
- The generic services are transferable knowledge, like EC2 or S3, but things like SQS or DynamoDB are more unique to AWS.
- If you’re looking to focus on frontend development and deployments, maybe focus on things that make it easy to do that. Amplify, Google App Engine, Netlify, Heroku, etc.
- Cloud providers can go out, and then you’re screwed?
- Have to architect your app to be high availability, and maybe multi region
What is Agile supposed to be again?
- Was just at a conference and there were lots of buzzwords, but there were a lot of people who were talking about Agile and being super confident about it. What did Agile do for the industry? What was it supposed to be?
- In the beginning, there was waterfall. You planned everything up front, and then executes, but that had lots of problems. Very inflexible.
- Agile was supposed to deal with it by being more flexible by building incrementally. Don’t do 100% of planning up front and then all development. Do a little bit at a time
- What about design docs? Is that just reimplementing water fall?
- What about up front discussions about wrapping your mind around the goals.
- That’s different.
- What about up front discussions about wrapping your mind around the goals.
- A lot of people combine Agile and Scrum, but they don’t have to be, and maybe shouldn’t be.
- If you develop iteratively, that’s Agile. If you have Sprints and standup, you’re doing scrum
- People should wait 2 weeks after reading a blog post to do anything about it
- So easy to game story pointing, so its super stupid