Skip to content

Latest commit

 

History

History
858 lines (737 loc) · 51.4 KB

tech-stack.md

File metadata and controls

858 lines (737 loc) · 51.4 KB

Technology Stacks

IDE
Design
Scripting Languages
  • Python
  • Bash
  • Lua
Runtime
Web Assembly
Frameworks:
Server Side Rendering (SSR)

Static Site Generators

Data Processing Frameworks
GPU Computing Platform / Service
AI/ML Frameworks
No-Code App Builder
Client Libraries
UI Component Libraries
Design Systems
Design / Style Guides
Design
UI Templates
Diagram / Visualization
Authentication & Authorization

Use case: User sign-up to a SaaS application

When we sign up a user, a few things needs to happen on the backend

  1. Acquire the email and password user specified
  2. Validate the email to see if it’s duplicated
  3. Create a user account on your identity provider (most likely) such as Auth0, Clerk.com, Supabase Auth or AWS Cognito.
  4. Create a record in your own database for the user you’ve just added from step 3
  5. Your identity provider sends out a verification email to the user
  6. The webhook of your server marks the user as verified in your own database only if it detects that the equivalent data on your identity provider tenant is marked as so.

Mechanisms

  • SSO tokens
  • OAuth 2.0 and JWT patterns
  • Auth0, Clerk.com, Supabase Auth or AWS Cognito
State Management
Code Playgrounds
Schema Validation
API Design Guides
REST API
API Testing
API Docs

OpenAPI/Swagger-generated API Reference Documentation

API Management
Data Modal Diagram
Datastores
Message Queue / Middlewares

Web Scraping

Vector Databases
Full-stack Development
Headless CMS
  • Contentful
  • Strapi
  • Dato CMS
  • Prismic
E-Commerce
Data Formats
  • MessagePack - It's like JSON but fast and small. MessagePack is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON. But it's faster and smaller. Small integers are encoded into a single byte, and typical short strings require only one extra byte in addition to the strings themselves.
Microservice
Microservice - Communication

Typically external application clients such as web apps, mobile apps, or IoT frameworks consume RESTful API endpoints. However, modern backend developers usually don’t call microservices directly because of scaling problems and network security issues. Therefore, before exposing your microservices to the internet, developers will connect them to an API gateway or load balancer.

While inter-service communication happens via

  • Synchronous - REST API, gRPC
  • Asynchronous - Message-based using message brokers like RabbitMQ

Messaging patterns: RPC, MPI, pub/sub, CQRS

Microservice - Tracer
Microservice - Observability
Data Science
Data Engineering
AI/ML
MLOps
Serverless

AWS Chalice - A framework for writing serverless applications

Containers:
  • Docker
  • K8S
Schedulers
API Gateways
Rate Limit

Set up rate limiting in Next.js with Redis
Rate Limiting Algorithms:

  • Fixed Window
  • Sliding Window
  • Token Bucket
IAM
CI
  • Jenkins
  • CircleCI
CD
IaC
Configuration Management as Code
  • Puppet
  • ANSIBLE
  • SALTSTACK
  • CHEF
Hosting and Deployment
Monitoring
Analytics
Cloud
Automation / Workflow Management
Command Line (CLI)
Tooling:
Package Manager
Realtime DB / Notification
E-mail
Alert & Notifications
Mobile
Multi-Platform (Desktop, Web, Mobile)
  • Tauri App Tauri is a framework for building tiny, blazingly fast binaries for all major desktop platforms. Developers can integrate any front-end framework that compiles to HTML, JS and CSS for building their user interface. The backend of the application is a rust-sourced binary with an API that the front-end can interact with. Build smaller, faster, and more secure desktop applications with a web frontend | Written in Rust + TypeScript + Kotlin, etc.
Testing
PDF
Image Editing/Processing
Video Streaming
Media Servers
  • Emby
  • Jellyfin
  • Jitsi
  • Janus
Android
  • Keep up to date with the latest best practices, common frameworks, and tools to continuously define a common set of coding guidelines and best practices for the app
  • Have a deep understanding of modern Android development.
  • Write readable, maintainable, performant, and testable code.
  • Kotlin, Coroutines, Flows, and the Android lifecycle, Compose
iOS
  • Have a deep understanding of modern iOS development.
  • Comfortable with Swift and Objective C, iOS development fundamental, UIKit, AutoLayout, and Foundation
Hardware
Printing
SDLC Concepts
  • Deployment pipelines, Observability & Monitoring, Quality Assurance, Automation, Self-service
  • Monorepo
  • DORA metrics
  • Infrastructure-as-code and configuration management
  • Developer Experience and Platform Engineering
  • Cloud Service Providers - Google Cloud Platform, Azure or AWS
  • ArgoCD, CircleCI, Grafana, Prometheus, Kubernetes, GCP, Infrastructure as Code (Terraform), Service Mesh (Linkerd), Cloudflare
Documentation
Community Forum

Discourse - Community Forum

How-to Guides

Kubernetes MERN Stack Voting App
Fullstack Pulumi: Deploying the MERN Stack on DigitalOcean
Deploying a Data Warehouse with Pulumi and Amazon Redshift
Platform Engineering with Pulumi- Episode 1: Building the AWS Landing Zone with Pulumi
Platform Engineering with Pulumi Episode 2: Build and Deploy a React.js Application
Full Stack Application with Kubernetes, Quarkus, and React
Why will I choose Pulumi over Terraform for my next project?

For Startups

How to Start Online Earning with $0 Investment

  • Brand ➔ Twitter is free
  • Design ➔ Canva is free
  • Website ➔ Carrd is free
  • Store ➔ Gumroad is free
  • Workspace ➔ Notion is free
Courses

10 FREE courses
1. Introduction to Computer Science 101
2. Machine Learning Specialization
3. Designing Your Career
4. Introduction to Internet of Things
5. Databases: Advanced Topics in SQL
6. Introduction to Game Theory
7. R Programming Fundamentals
8. Introduction to Cryptography
9. Advanced Cybersecurity Program
10. Algorithms: Design and Analysis
edX - Caltech - Learning From Data (Introductory Machine Learning)

PrintFlow - PrintFlow is changing how the world manufactures its products.
  • Full Stack Engineer
  • Everything is written in Typescript using React and Next.js for the Printflow app
  • PNPM and Turborepo - Monorepo
  • Tanstack Query for easy querying
  • Radix UI for composable compoenents
  • Tailwind CSS for styling
  • Node.js + Express for Frontend API Services
  • API services are hosted on Render using an Express server, with a MySQL database managed by PlanetScale
  • Python + Flask for our Backend Service. We run our backend service in an AWS EC2 instance using Python and Flask for API endpoints.
  • Linear for issue tracking, Github as source control, Discord for internal communication, Figma for web design, Notion as a knowledge base
  • Other great tools: Cron, Bear, Screen Studio, Things
Tractable - Tractable develops artificial intelligence for accident & disaster recovery.
  • Python
  • Node.js with Typescript
  • React for frontend development
  • PostgreSQL for persistent data storage
  • Kafka for asynchronous message queue
  • Kubernetes and Docker to schedule and run services
  • Jenkins to run testing and deployment pipelines
  • AWS for infrastructure
  • Typescript
  • Next.js / Vercel
  • PlanetScale
  • GraphQL
  • Prisma
  • Cloudflare workers
Intenseye - Intenseye is an AI-powered employee health and safety software platform
  • Scala, Go, Python for programming languages.
  • Google Cloud Platform (GCP) and Amazon Web Services (AWS) for cloud services.
  • Docker, Kubernetes for orchestration tools.
  • Apache Pulsar for message queueing.
  • Prometheus, Grafana for monitoring.
  • Elasticsearch for analytics
  • Redis for distributed caching.
  • Linkerd for service mesh.
  • Buildkite for CI/CD.
  • PostgreSQL for RDBMS.
  • Git for version control.
  • Replicated for on-premise.
IMMO - Real Estate Investment
  • Node.js
  • Serverless Framework
  • PostgreSQL
  • Python
  • Airflow
  • AWS
  • Terraform
  • Docker
  • CircleCI
  • GitHub
Scaler - Scaler Academy

High level of fluency and experience in technologies like
a. HTML5, CSS3(BEM preferred), CSS Preprocessors (Sass/Less/PostCSS)
b. Javascript ES6 & Typescript
c. Frameworks (React with Redux/Mobx)
d. Server-side Rendering (using Next.js)
e. Static Stire Generators (Next.js/GatsbyJS)
f. Build tools (Webpack/Esbuild)
g. Package Managers (npm, yarn)
h. Testing tools (Jest/Cypress/Enzyme)
i. Linters (ESLint)
j. Performance and Optimizations (AMP, Web Vitals & SEO Optimizations, Lighthouse, Dev Tools, PRPL/RAIL models, and Performance Metrics)
k. Web development concepts like Web Security Fundamentals, CORS, Content Security Policies, Virtual DOM, Browser Storage, Web Sockets, Service Workers.

  • Backend Engineering with Python: Strong Python skills, including Python 3 basics and experience with web frameworks like FastAPI.
  • Experience with PostgreSQL and SQL: Proficient in using PostgreSQL and SQL for database management.
  • Experience with LLMs and OpenAI API: Practical knowledge of large language models and the OpenAI API.
  • Experience with REST APIs and web sockets: Familiarity with third-party system integrations.
  • Proficiency in English: Effective communication and problem-solving skills. ' Awesome to Have
  • Familiarity with GenAI Libraries: Experience with Hugging Face and LangChain.
  • Cloud Technologies: Proficiency in AWS (Serverless, Lambda, Redshift, S3, EC2).
  • CI/CD and Monitoring Tools: Understanding of Jenkins and Datadog.
  • Building Slack Bots/Integrations: Experience in developing Slack bots and integrations.
  • MLOps expertise
  • Experience with Sagemaker
  • Experience with Kubernetes
  • Monitoring and logging tools
  • Python programming
  • Data science libraries (scikit-learn, TensorFlow, PyTorch)
  • API frameworks (aiohttp, Flask)
  • CI/CD pipeline writing
  • Generalist programming mindset
  • Cross-language automation coding

The key tech skills required for the backend Java developer position are:

  • Java (latest versions)
  • Spring Framework (including Spring Boot)
  • Docker
  • Kubernetes
  • Kafka
  • PostgreSQL
  • DynamoDB
  • Elasticsearch
  • Microservices architecture
  • AWS (Amazon Web Services)

The key technical skills for the Full-Stack JavaScript Engineer:

  • JavaScript / TypeScript
  • React and React Native
  • Redux
  • Node.js and Express.js
  • AWS, Splunk, Ansible, Terraform, Jenkins, Docker, Kubernetes, Kafka

Vercel + Next.js Techstack

  • @nextjs
  • @vercel
  • @nextauthjs
  • @prisma
  • @honojs
  • @resend
  • @shadcn
  • @tailwindcss
  • @neondatabase

App Developement

Responsibilities

  • Collaborate with the Engineering Group and Product team to understand requirements and design comprehensive solutions.
  • Optimize applications for maximum speed, scalability, and security.
  • Implement security and data protection measures.
  • Build high-quality, reusable code for both frontend and backend applications.
  • Document and communicate application design, topologies, and architecture clearly to peers and the business.
  • Work closely with User Experience, Product Management, Engineering, and Marketing teams to create outstanding web experiences.
  • Partner with Engineering and other teams to develop new frameworks, feature sets, and functionalities.
  • Lead and coach team members, promoting thought leadership and project excellence.
  • Provide technical leadership, ensuring adherence to best software engineering practices, such as TDD, continuous integration, delivery, and deployment.

Education and experience:

  • Bachelor’s or Master’s degree in Computer Science, Engineering, or a related field.
  • Minimum of 10+ years of professional experience in full-stack development.
  • Technical Requirements:
  • Expertise in Java 17+ , including, Spring Boot, J2EE, Hibernate, and other latest related technologies.
  • Proficiency in modern front-end frameworks/libraries (React or Vue.js).
  • Expertise in Java microservices architecture and development.
  • Development experience with Spring Boot for building robust, scalable applications.
  • Experience with responsive and adaptive design principles.
  • Payment Services Integration:Experience integrating Stripe payment services into applications/api.
  • Test-Driven Development(TDD):Proficiency in writing unit tests and using mock frameworks.
  • Experience with Serverless architecture and cloud functions.
  • Expertise on Security standards SSO, Access Control, Certificate Management, Authentication, OWASP
  • Experience in creating technical design and architecture diagrams, review with various stakeholders for design and solution approval for implementation.
  • Experience with distributed caching (Redis), Queuing technologies SQS or RabbitMQ or ActiveMQ) , Elastic Search.
  • Expertise in securing applications using Spring Security.
  • Adherence to industry best practices and coding standards.
  • Experience in at least 2 Microservices design patterns such as Saga, Aggregator, API Gateway, CQRS, Event Sourcing, etc.
  • Must be proficient in data structures and algorithms.
  • Should have experience integrating S3 and other AWS services with Java.
  • Designing of api, applications and strong in RESTful Design Patterns.
  • Troubleshooting complex issues related to application performance, scalability, and reliability.
  • System Security, Scalability, System Performance experience.

Leadership & Team:

  • Proven experience in Coaching and mentoring a team of developers.
  • Proven track record of delivering complex projects successfully.
  • Ability to conduct code reviews and provide constructive feedback.
  • Experience in agile methodologies (Scrum, Kanban).
  • Ability to manage project timelines and deliverables effectively.
  • Excellent verbal and written communication skills.
  • Ability to explain technical concepts to non-technical stakeholders.
  • Strong analytical and problem-solving skills.
  • Ability to troubleshoot and resolve complex technical issues.
  • Experience in working with cross-functional teams (designers, product managers, QA).
  • Ability to quickly learn and adapt to new technologies and frameworks.
  • Lead mobile architecture & development using Flutter/Dart, ensuring performance, maintainability, and scalability.
  • Design and integrate API-driven workflows using RESTful APIs, GraphQL, and OpenAPI-based services.
  • Collaborate with AI/ML and backend teams to embed agent pipelines and real-time automation into mobile applications.
  • Ensure mobile security and authentication (OAuth2, OIDC, JWT, biometric authentication).
  • Optimize mobile UI/UX for responsiveness, animations, and adaptive design across multiple screen sizes.
  • Mentor and lead a team of mobile engineers, defining best practices and driving innovation in mobile development.

Minimum Requirements:

  • 10+ years of software development experience, with a strong native mobile background (iOS/Android).
  • 4+ years of Flutter development experience, ideally an early adopter (no later than 2019).
  • Proficiency in Flutter state management (Provider, Riverpod, BLoC).
  • Strong API integration experience (REST, GraphQL, WebSockets).
  • Experience with mobile security best practices (OAuth2, OIDC, secure storage).
  • Proven ability to lead architecture decisions for scalable, high-performance mobile applications.
  • Must submit sample projects or code demonstrating Flutter expertise.

Plusses:

  • AI & ML: Familiarity with AI-driven mobile automation, on-device ML models, or real-time data processing.
  • Security & Compliance: Experience with OWASP Mobile Security and secure mobile development standards.
  • Cloud & Data Fabrics: Experience developing against OpenAPI-based services and modern data fabrics (e.g., Databricks, Snowflake, Azure Data Fabric).
  • Experience in writing Rust and/or Go is preferred, but we believe that a solid engineering mindset is more valuable that relevant language experience
  • Experience with building large-scale distributed systems involving tools like PostgreSQL, Kafka, Kinesis, ScyllaDB, RabbitMQ, etc.
  • You have passion for building products, and a healthy obsession with learning and growing
  • You thrive working in a fast-paced, dynamic environment while remaining autonomous
  • You have pride in providing customers with the best experience possible
  • A healthy obsession with learning and growing with the team
  • 5+ years of experience in site reliability engineering or software development with a focus on Kubernetes, blockchain, and cloud-native technologies.
  • Strong proficiency in Golang, with experience developing Kubernetes Operators using tools like Operator SDK or KubeBuilder.
  • Deep knowledge of Kubernetes concepts, including Custom Resource Definitions (CRDs), controllers, schedulers, and networking.
  • Hands-on experience deploying and managing distributed systems and complex workloads, and blockchain clients on Kubernetes.
  • Experience with observability tools for Kubernetes environments, such as Prometheus, Grafana, or similar platforms.
  • A proactive mindset with a hands-on approach to problem-solving, capable of innovating under pressure and committed to reducing risks and technical debt.
  • Excellent communication skills, with the ability to collaborate effectively across teams and with various stakeholders.

  • 8+ years of professional experience in website development, ideally with experience in a tech or SaaS company.
  • Strong knowledge of HTML, CSS, JavaScript, React, and web development best practices. Familiarity with front-end frameworks is a plus.
  • Knowledge of information architecture, interaction design, and user-centered design.
  • Experience with Contentful CMS or similar headless CMS platforms.
  • Experience with Tailwind CSS, Github, Ghost.io, Docusaurus, Hubspot and Ruby on Rails are a plus.
  • Experience using design software like Figma to collaborate with design teams.
  • Understanding of marketing concepts including conversion optimization, A/B testing, analytics, lead funnels, and search engine optimization.
  • Strong attention to detail, excellent problem-solving skills, and the ability to prioritize tasks in a fast-paced environment.
  • Familiarity with blockchain technology is a plus but not required.
  • Ability to manage multiple projects and tasks simultaneously, with a focus on delivering high-quality results.
  • Experience with web security best practices and website performance optimization.
  • Bonus: Experience in Blockchain / Web3.

  • Development of RESTful APIs using AWS API Gateway,
  • Development of serverless program using AWS Lambda,
  • Working knowledge on Amazon S3 Buckets,
  • Database skills including both SQL and NoSQL
  • Working knowledge of ETL using AWS Glue (PySpark or Prefect preferred)
  • Experience with CI/CD Pipelines: Familiarity with continuous integration and continuous delivery (CI/CD) tools and processes.
  • Cloud & Deployment Knowledge: Understanding of cloud platforms (AWS, Google Cloud) and experience deploying applications using Next.js.
  • UI/UX Sensibility: A good sense of design and user experience principles, with the ability to collaborate effectively with UI/UX teams.
  • Backend Understanding: Familiarity with RESTful APIs, GraphQL, and server-side rendering (SSR) principles.
  • Strong understanding of responsive and adaptive design principles, with experience in building applications for various devices and screen sizes.
  • The AWS backend is built using a serverless approach using AppSync (GraphQL), DynamoDB, Cognito and Lambda.
  • Understanding of React Native limitations in native mobile environments
  • Understanding of code signing for iOS and Android (we use Fastlane)
  • Responsive design with CSS/SCSS ( strong understanding of cross browser differences & flexbox)
  • CI/CD workflows, preferably with GitHub Actions
  • Application containerization, preferably with Docker
  • Cloud architecture design and infrastructure provisioning, preferably in Google Cloud and with Terraform
  • Data engineering or data science expertise (e.g. writing, deploying and maintaining data pipelines with dbt, Airflow or other similar technologies, or developing and deploying AI/ML models to production)
  • Expertise with columnar databases/data warehousing (e.g. BigQuery, Redshift, ClickHouse)

Expert-level experience with AWS services:

  • Lambda, ECS, and container orchestration
  • API Gateway and microservices architecture
  • S3, DynamoDB, and other AWS data services
  • CloudWatch, X-Ray for monitoring and debugging
  • IAM and security best practices

Strong backend development skills:

  • Node.js and TypeScript expertise
  • RESTful API design and implementation
  • Performance optimization and scaling
  • Database design and optimization

Frontend development experience:

  • React and TypeScript
  • State management (Redux, Context API)
  • Modern build tools and practices

System Design & Architecture:

  • Microservices architecture patterns
  • Event-driven architectures
  • Caching strategies
  • High-performance image processing