- Data Storage System
- Document Database, using one such as DynamoDB
- In order to optimize the record
- SQL systems guarantee ACID
- Document databases are eventually
- Python, but not always C/C++ when writing a DB engine
- Requirement Gathering
- It depends
- There are product based companies
- There are consulting based companies
- More defined processes
- No scrum master
- Vision statements - why does the customer want something?
- Henry Ford has a cliched quote, "why do you build cars?"
- Engineering practices
- The architecture depends on the project
- If it's a project
- If it's an MVP
- If it's a LTS based software
- More inclined towards .NET technologies
- Scope of the project
- No defined role for an architect
- There should be a technical lead who can pitch in during conflicts
- Documentation
- Depends on the team structure
- Many teams prefer using GitHub
- GitHub Wiki, or something like that
- Confluence, https://www.atlassian.com/software/confluence
- Team size depends, but mostly in 2-3 people. But in consulting companies, it's 3-4 people. Industry standard is to have 3-8 people.
- Tools for team management is Confluence, Data Dog, tools for monitoring Micro-services, such as Prometheus with K8s
- Startups have this problem of not having much time for documentation
- When it comes to model training, you need certain clean data models and centralized place where you are storing your intermediate features
- How do you optimize it?
- When it comes to monitoring,
- Monitoring has two aspects,
- If some end points go down, it should generate an alert
- On rotation, people have on call duties
- Usually, someone has on call, they have to be available when they receive the call
- They go and see what the problem is
- If some end points go down, it should generate an alert
- Monitoring has two aspects,
- People are not replaceable
- The idea is to have the idea of investing in people, their ideas and propagating their growth, and not thinking about replacing them like cogs in a machine
- Some people like coding more, and they keep posting new things and topics
- Generalists vs specialists
- Testing
- First, Unit Tests
- Second, Integration Tests
- Third, End To End Tests
- QA testing in a staging environment
- A/B Testing
- Front-end needs to be tested as well
- End to end tests which run as the front-end, which is basically a set of procedures for the steps in some process, such as the login part
- Open vulnerabilities. It's not as secure as it can be.
Created
April 24, 2021 14:53
-
-
Save Rubix982/51080d027ef46d348f060792e59de7bb to your computer and use it in GitHub Desktop.
SE Assignment # 2 Notes
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment