This week’s system design refresher:
The Ultimate Software Architect Knowledge Map
Is PostgreSQL eating the database world?
11 steps to go from Junior to Senior Developer
Tech Career Basic Requirements
SPONSOR US
Cut your QA cycles down to minutes with QA Wolf (Sponsored)
If slow QA processes bottleneck you or your software engineering team and you’re releasing slower because of it — you need to check out QA Wolf.
Their AI-native approach gets engineering teams to 80% automated end-to-end test coverage and helps them ship 2x faster by reducing QA cycles from hours to minutes.
QA Wolf takes testing off your plate. They can get you:
Unlimited parallel test runs
24-hour maintenance and on-demand test creation
Human-verified bug reports sent directly to your team
Zero flakes guaranteed
The benefit? No more manual E2E testing. No more slow QA cycles. No more bugs reaching production.
With QA Wolf, Drata’s team of 80+ engineers achieved 4x more test cases and 86% faster QA cycles.
The Ultimate Software Architect Knowledge Map
Becoming a Software Architect is a journey where you are always learning. But there are some things you must definitely strive to know.
Master a Programming Language
Look to master 1-2 programming languages such as Java, Python, Golang, JavaScript, etc.Tools
Build proficiency with key tools such as GitHub, Jenkins, Jira, ELK, Sonar, etc.Design Principles
Learn about important design principles such as OOPS, Clean Code, TDD, DDD, CAP Theorem, MVC Pattern, ACID, and GOF.Architectural Principles
Become proficient in multiple architectural patterns such as Microservices, Publish-Subscribe, Layered, Event-Driven, Client-Server, Hexagonal, etc.Platform Knowledge
Get to know about several platforms such as containers, orchestration, cloud, serverless, CDN, API Gateways, Distributed Systems, and CI/CDData Analytics
Build a solid knowledge of data and analytics components like SQL and NoSQL databases, data streaming solutions with Kafka, object storage, data migration, OLAP, and so on.Networking and Security
Learn about networking and security concepts such as DNS, TCP, TLS, HTTPS, Encryption, JWT, OAuth, and Credential Management.Supporting Skills
Apart from technical, software architects also need several supporting skills such as decision-making, technology knowledge, stakeholder management, communication, estimation, leadership, etc.
Over to you - What else would you add to the roadmap?
Tech Career Basic Requirements
Is PostgreSQL eating the database world?
It seems that no matter what the use case, PostgreSQL supports it. When in doubt, you can simply use PostgreSQL.
TimeSeries
PostgreSQL embraces Timescale, a powerful time-series database extension for efficient handling of time-stamped data.Machine Learning
With pgVector and PostgresML, Postgres can support machine learning capabilities and vector similarity searches.OLAP
Postgres can support OLAP with tools such as Hydra, Citus, and pg_analytics.Derived
Even derived databases such as DuckDB, FerretDB, CockroachDB, AlloyDB, YugaByte DB, Supabase, etc provide PostgreSQL.GeoSpatial
PostGIS extends PostgreSQL with geospatial capabilities, enabling you to easily store, query, and analyze geographic data.Search
Postgres extensions like pgroonga, ParadeDB, and ZomboDB provide full-text search, text indexing, and data parsing capabilities.Federated
Postgres seamlessly integrates with various data sources such as MongoDB, MySQL, Redis, Oracle, ParquetDB, SQLite, etc, enabling federated querying and data access.Graph
Apache AGE and EdgeDB are graph databases built on top of PostgreSQL. Also, pg_graphql is an extension that provides GraphQL support for Postgres.
Over to you: Have you seen any other use cases of PostgreSQL?
Latest articles
If you’re not a paid subscriber, here’s what you missed.
To receive all the full articles and support ByteByteGo, consider subscribing:
11 steps to go from Junior to Senior Developer
Collaboration Tools
Software development is a social activity. Learn to use collaboration tools like Jira, Confluence, Slack, MS Teams, Zoom, etc.Programming Languages
Pick and master one or two programming languages. Choose from options like Java, Python, JavaScript, C#, Go, etc.API Development
Learn the ins and outs of API Development approaches such as REST, GraphQL, and gRPC.Web Servers and Hosting
Know about web servers as well as cloud platforms like AWS, Azure, GCP, and KubernetesAuthentication and Testing
Learn how to secure your applications with authentication techniques such as JWTs, OAuth2, etc. Also, master testing techniques like TDD, E2E Testing, and Performance TestingDatabases
Learn to work with relational (Postgres, MySQL, and SQLite) and non-relational databases (MongoDB, Cassandra, and Redis).CI/CD
Pick tools like GitHub Actions, Jenkins, or CircleCI to learn about continuous integration and continuous delivery.Data Structures and Algorithms
Master the basics of DSA with topics like Big O Notation, Sorting, Trees, and Graphs.System Design
Learn System Design concepts such as Networking, Caching, CDNs, Microservices, Messaging, Load Balancing, Replication, Distributed Systems, etc.Design patterns
Master the application of design patterns such as dependency injection, factory, proxy, observers, and facade.AI Tools
To future-proof your career, learn to leverage AI tools like GitHub Copilot, ChatGPT, Langchain, and Prompt Engineering.
Over to you: What else would you add to the roadmap?
SPONSOR US
Get your product in front of more than 1,000,000 tech professionals.
Our newsletter puts your products and services directly in front of an audience that matters - hundreds of thousands of engineering leaders and senior engineers - who have influence over significant tech decisions and big purchases.
Space Fills Up Fast - Reserve Today
Ad spots typically sell out about 4 weeks in advance. To ensure your ad reaches this influential audience, reserve your space now by emailing hi@bytebytego.com
Under The Ultimate Software Architect Roadmap, Data and Analytics, I would have included "OLTP". Probably not a lot of new architecture in transaction processing but I'd bet there are thousands of architects and developers working in the area every day and the systems need to respond to changing requirements.
TLS, HTTPS, Encryption are redundant. So, https is a subset of TLS and both together are subset of encryption. I don't think it was needed to specify each seperately. Encryption was enough.
Likewise, Oauth largerly depends on JWT.
Network Security, Security Monitoring, Web / DB / API security, could have been better substitues.