“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” — Martin Fowler
Principle
Pattern
Protocol
Performance
Software Engineering
This is a journey of software engineering, that I would like to share and use based on my experience and knowledge in this field.
Every technology has its own reason to exist, there is no good or bad technology, only the right or wrong technology for the right or wrong problem. The right technology is the one that can solve the problem in the most efficient way, which is the most profitable and sustainable way.
There are always a bunch of choices for a problem, you should choose the one that you believe is the best for the problem, and you should be able to explain why you choose it. And then stake on it, and make it work.
- Root is Reality, which is profitable and sustainable business.
- Tech Stack
- Frontend
- Language
- Kotlin
HTMLCSSJavaScriptTypeScriptDart
- Web Page
- Kotlin Multiplatform
Vue.jsWebAssemblyFlutter
- Mobile Client
- Kotlin Multiplatform
AndroidiOSFlutter
- Desktop Client
- Kotlin Multiplatform
WindowsmacOSFlutter
- Language
- Backend
- Language
- Kotlin
- Java
- API
- GraphQL
RESTgRPC
- Framework
- Spring
- Ktor
QuarkusMicronaut
- Language
- Data
- Language
- NoSQL
SQL
- Database
- Firebase
- SQLite
PostgreSQLMySQLMongoDBCassandraDynamoDBCloudSQLCosmosDB
- Cache
- Redis
- Caffeine
- Messaging
- Kafka
- RabbitMQ
- ActiveMQ
GCP Pub/SubAzure Service BusAWS SNS/SQS
- Language
- AI/ML
- Language
- Python
- Artificial Intelligence
- Machine Learning
- Deep Learning
- Reinforcement Learning
- Generative AI
- Language
- DevOps
- Language
- Shell
- Python
GroovyGo
- Infrastructure
- Docker
- Kubernetes
- Helm
- Terraform
- Serverless
Ansible
- CI/CD
- GitHub
GitLabJenkinsAzure DevOpsCircleCITravisCI
- Monitoring
- Prometheus
- Grafana
- ELK
- Logging
- Fluentd
- Logstash
- Stackdriver
Azure MonitorCloudWatch
- Tracing
- OpenTelemetry
- Jaeger
- Zipkin
- Auditing
- Falco
- Sysdig
- Aqua
- Security
- KeyVault
- Keycloak
- OAuth2
- JWT
- SSL
- TLS
- WAF
- DDoS
- Firewall
- Security Scanning
- Security Monitoring
- Security Compliance
- Language
- Quality
- Language
- Kotlin
- Python
- Testing
- Unit Testing
- Integration Testing
- End-to-End Testing
- Acceptance Testing
- Sanity Testing
- Smoke Testing
- Regression Testing
- Load Testing
- Performance Testing
- Penetration Testing
- Framework
- Postman
- Newman
- JUnit
- TestNG
- Mockito
- WireMock
- Cucumber
- RestAssured
- JMeter
- Selenium
- Robot Framework
- SoapUI
- Language
- Frontend
- Non-Tech
- Business Model
- Team
- Process
- Tools
- Culture
- Learning
- Career
- Life
- Tech Stack