I am an Engineering Manager working at Google with almost 20 years of experience. If I could sit down with a Jr. Software Engineer, here are 50 cheat codes I would share with them that I learned from my experiences. [1] Ask why this system even needs to exist ➤ Before a single line is written, challenge the core purpose, “Is this a business problem or just a tech exercise?” Real systems solve pain, not boredom. [2] Redraw the lines, define what’s “inside” and “outside” your system ➤ Figure out where your service starts, stops, and how it talks to the world. 80% of future headaches come from blurred boundaries. [3] Don’t chase new tech for the resume, use what your org supports ➤ That AWS Lambda demo looks cool until your team tells you there’s a 10-year-old Jenkins server already scheduled to do that job. Proven > Shiny. [4] System design isn’t “one size fits all”, context is everything ➤ YouTube and interview videos show perfect worlds. Your system will live in mess, legacy, and compromise. Embrace it. [5] Optimize for “how easy to change?” not “how cool is this?” ➤ You won’t get it perfect first time. Make it so anyone (even you) can swap out parts later, with minimal pain. [6] Start with use cases, not tech ➤ Interview solutions start with “put Kafka here.” Real solutions start with “who will use this and how?” [7] Know your real users, not just your APIs ➤ Customers, PMs, even other devs, all are “users” with needs. If your “system” forgets one, it’s doomed. [8] Design for the traffic you have, not the traffic you dream of ➤ Every engineer who overbuilt for ‘Google scale’ at a 10K user startup has regretted it. Scale when you must. [9] Understand your company’s default tech stack, don’t fight it ➤ Don’t propose a NoSQL database if everyone else is running Postgres unless you have a bulletproof case. [10] Pick the boring solution if you want peace ➤ Every time I chased “the best tech,” maintenance bit me back. The system you forget about is the most stable one. [11] Get the team’s buy-in before you architect a “masterpiece” ➤ Don’t be a solo hero. Feedback from PMs, ops, QA, other engineers, all of it will expose what you missed. [12] Refactor and cleanup aren’t “nice to haves”, they’re your real job ➤ Every shortcut you leave will double your pain in 6 months. [13] Read logs and production metrics every week ➤ Production is where truth lives. Ignore at your own risk. [14] Test how things break, not just how they work ➤ Simulate failing databases, crashing services, weird user flows, assume chaos is coming. [15] You’ll be asked to fix code you didn’t write, embrace it ➤ Legacy code is half your career. Treat it with respect and curiosity, not blame. [16] Never let a diagram go out without clear boundaries ➤ Always show what’s external, what’s internal, and what’s a dependency, otherwise, no one will know what breaks what.
Engineering Workflow Management Systems
Explore top LinkedIn content from expert professionals.
-
-
System design interviews can be a daunting part of the hiring process, but being prepared with the right knowledge makes all the difference. This System Design Cheat Sheet covers essential concepts that every engineer should know when tackling these types of questions. Key Areas to Focus On: 1. Data Management: - Cache: Boost read operation speeds with caching mechanisms like Redis or Memcached. - Blob/Object Storage: Efficiently handle large, unstructured data using systems like S3. - Data Replication: Ensure data reliability and fault tolerance through replication. - Checksums: Safeguard data integrity during transmission by detecting errors. 2. Database Selection: - RDBMS/SQL: Best for structured data with strong consistency (ACID properties). - NoSQL: Ideal for large volumes of unstructured or semi-structured data (MongoDB, Cassandra). - Graph DB: For interconnected data like social networks and recommendation engines (Neo4j). 3. Scalability Techniques: - Database Sharding: Partition large datasets across multiple databases for scalability. - Horizontal Scaling: Scale out by adding more servers to distribute the load. - Consistent Hashing: A technique for efficient distribution of data across nodes, essential for load balancing. - Batch Processing: Use when handling large amounts of data that can be processed in chunks. 4. Networking: - CDN: Distribute content globally for faster access and lower latency (e.g., Cloudflare, Akamai). - Load Balancer: Spread traffic across multiple servers to ensure high availability. - Rate Limiter: Prevent overloading by controlling the rate of incoming requests. - Redundancy: Design systems to avoid single points of failure by duplicating components. 5. Protocols & Queues: - Message Queues: Asynchronous communication between microservices, ideal for decoupling services (RabbitMQ, Kafka). - API Gateway: Control API traffic, manage rate limiting, and provide a single point of entry for your services. - Gossip Protocol: Efficient communication in distributed systems by periodically exchanging state information. - Heartbeat Mechanism: Monitor the health of nodes in distributed systems. 6. Modern Architecture: - Containerization (Docker): Package applications and dependencies into containers for consistency across environments. - Serverless Architecture: Run functions in the cloud without managing servers, focusing entirely on the code (e.g., AWS Lambda). - Microservices: Break down monolithic applications into smaller, independently scalable services. - REST APIs: Build lightweight, maintainable services that interact through stateless API calls. 7. Communication: - WebSockets: Real-time, bi-directional communication between client and server, commonly used in chat applications, live updates, and collaborative tools. Save this post and use it as a quick reference for your next system design challenge!
-
PROCESS AUDIT CHECKLIST (COMMON POINTS) IN MANUFACTURING SECTOR: 1. Process Control Are standard operating procedures (SOPs) available and followed? Is process capability (Cp, Cpk) monitored and within acceptable limits? Are control charts used for critical process parameters? Is there evidence of regular calibration of equipment and gauges? Are process changes documented and approved through change control? 2. Material Handling & Storage Are materials labeled correctly (name, batch, status)? Is FIFO (First-In-First-Out) or FEFO (First-Expiry-First-Out) followed? Are storage conditions (temp, humidity) monitored and maintained? Are rejected or non-conforming materials segregated and labeled? 3. Operator Competency & Safety Are operators trained and certified for the tasks they perform? Are safety PPEs being worn and used correctly? Are safety instructions and emergency procedures visible? Is there a system for reporting and investigating near-misses and incidents? 4. Equipment Management Is there a preventive maintenance schedule and is it being followed? Are breakdowns recorded and analyzed for recurrence? Are start-up and shutdown procedures standardized? Are critical spare parts available and tracked? 5. Quality Assurance Are in-process inspections conducted as per the control plan? Are inspection tools calibrated and used properly? Are quality issues tracked using root cause analysis tools (5 Why, Fishbone)? Are quality records complete and traceable? 6. Production & Planning Is actual vs planned production tracked? Are downtimes recorded with reasons? Is the takt time, cycle time, and lead time monitored? Are WIP levels controlled and visualized (kanban, signage)? 7. Waste Management & 5S Is workplace organization (5S) maintained? Are waste bins labeled and segregated? Are daily 5S audits conducted and actioned? Are there visible signs of lean practices (kaizen, visual boards, etc.)? 8. Tooling & Fixtures Are tools and fixtures stored properly with visual controls? Are they identified and logged for use and maintenance? Is there a system for tool calibration and wear tracking? 9. Documentation & Records Are process-related documents current and controlled? Are logs (production, quality, maintenance) filled accurately? Are version-controlled work instructions available at workstations? 10. Environmental & Regulatory Compliance Are emissions, effluents, and noise levels monitored and controlled? Is compliance with environmental regulations documented? Are MSDS (Material Safety Data Sheets) available and up-to-date?
-
Power Automate Work Queues are not built for scale! That's a fact. When you think about scalability in Power Automate, one thing that will definitely come to mind at some point is queues and workload management. While you might be able to survive without them in some event-based transactional flows that only process a single item at a time, but whenever you process tasks in batches, or when RPA gets involved, you'll need queues. Power Automate comes with Work Queues out of the box. And you would think that's your go-to queueing mechanism for scaling. After all, it's at scale that you really need those queues - to de-couple your flows and make it easier to maintain, support, debug them, as well as make them more robust and efficient. Queues is a must even at medium scale. Heck, we use them even in small scale implementations. But the surprising thing about Power Automate Work Queues is that they are not fit for high scale implementations. And that is by design! The docs themselves (link in the comments) explicitly state that if have high volumes or if you dequeue (pick up work items from the queue for processing) concurrently, you should either do it within moderate levels or use something else. If you try and use Power Automate Work Queues for high scale implementations (more than 5 concurrent dequeue operations or hundreds/thousands of any type operations involving the queues), you'll get in trouble. There can be all sorts of issues that could happen - your data may get duplicated, you may accidentally deque the same work item in multiple concurrent instances, or your flows might simply get throttled or even crash. This is because of the way they're build and the way they utilize Dataverse tables for storing work items and work queue metadata. So, if you do want to scale, it's best to use an alternative. And, obviously, Microsoft wouldn't be Microsoft if they didn't have an alternative tool to do that. The docs themselves recommend Azure Service Bus Queues for high throughput queueing mechanisms. Another alternative could also be Azure Storage Queues, but that only makes sense if the individual work items in your queue can get large (lots of data or even documents) or when you expect your queue to grow beyond 80GB (which is possible in very large scale implementations). Otherwise, Azure Service Bus Queues are absolutely perfect for very large volumes of small transactions. On top of that, they have some very advanced features for managing, tracking, auditing and otherwise handling your work items. And, of course, there's a existing connector in Power Automate to use it. So, while I do love Power Automate Work Queues, I'll only use them in relatively small scale implementations. And for everything else - my queues will go to Azure. And so should yours.
-
As an advisor to tech scaleups, and a former CTO and SVP of Engineering, I've often encountered a familiar CEO complaint: "Our engineering team is too slow!" However, focusing solely on increasing individual productivity is rarely the solution. Sometimes the answer is changing the organizational structure. 🔍 The Issue with Flat Structures: Time to market was a major problem in a scale-up I advised, even though they had a flat structure where 40+ engineers reported directly to the VP of engineering and all of them shared equal accountability to the delivery of the software. 🚧 The Consequences: Major overcommitment. People raised their hands to take on work even if the group was super extended. There was nobody that fully understood the team’s capacity vs the actual workload they took on. This approach led to a lack of predictability, chronic delays, unhappy customers, and ultimately, a tarnished reputation. 🛠️ The Solution: Transitioning to a hierarchical structure with focused teams and accountable experienced leaders was the game-changer. This shift brought in clarity, accountability, and much-needed structure. 📈 The Results: Predictable schedules, improved customer satisfaction, and a thriving engineering culture. ✅ Takeaways for Your Organization: Examine your organization with critical eyes: Is your ownership and accountability structure clear? Are your teams sized and focused appropriately? Do your leaders have the authority to deliver effectively? For more on the case study and about building a sustainable, efficient, and customer-centric engineering team in the blog post. 💭 I'm curious to hear your thoughts: Have you faced similar challenges? How did you address them? Let's share insights and grow together! #EngineeringManagement #Leadership #Productivity _______________ ➡️ I am Talila Millman, a fractional CTO, a management advisor, and a leadership coach. I help CEOs and their C-suite grow profit and scale through optimal Product portfolio and an operating system for Product Management and Engineering excellence. 📘 My book The TRIUMPH Framework: 7 Steps to Leading Organizational Transformation will be published in Spring 2024 https://lnkd.in/eVYGkz-e
-
If you are building AI agents or learning about them, then you should keep these best practices in mind 👇 Building agentic systems isn’t just about chaining prompts anymore, it’s about designing robust, interpretable, and production-grade systems that interact with tools, humans, and other agents in complex environments. Here are 10 essential design principles you need to know: ➡️ Modular Architectures Separate planning, reasoning, perception, and actuation. This makes your agents more interpretable and easier to debug. Think planner-executor separation in LangGraph or CogAgent-style designs. ➡️ Tool-Use APIs via MCP or Open Function Calling Adopt the Model Context Protocol (MCP) or OpenAI’s Function Calling to interface safely with external tools. These standard interfaces provide strong typing, parameter validation, and consistent execution behavior. ➡️ Long-Term & Working Memory Memory is non-optional for non-trivial agents. Use hybrid memory stacks, vector search tools like MemGPT or Marqo for retrieval, combined with structured memory systems like LlamaIndex agents for factual consistency. ➡️ Reflection & Self-Critique Loops Implement agent self-evaluation using ReAct, Reflexion, or emerging techniques like Voyager-style curriculum refinement. Reflection improves reasoning and helps correct hallucinated chains of thought. ➡️ Planning with Hierarchies Use hierarchical planning: a high-level planner for task decomposition and a low-level executor to interact with tools. This improves reusability and modularity, especially in multi-step or multi-modal workflows. ➡️ Multi-Agent Collaboration Use protocols like AutoGen, A2A, or ChatDev to support agent-to-agent negotiation, subtask allocation, and cooperative planning. This is foundational for open-ended workflows and enterprise-scale orchestration. ➡️ Simulation + Eval Harnesses Always test in simulation. Use benchmarks like ToolBench, SWE-agent, or AgentBoard to validate agent performance before production. This minimizes surprises and surfaces regressions early. ➡️ Safety & Alignment Layers Don’t ship agents without guardrails. Use tools like Llama Guard v4, Prompt Shield, and role-based access controls. Add structured rate-limiting to prevent overuse or sensitive tool invocation. ➡️ Cost-Aware Agent Execution Implement token budgeting, step count tracking, and execution metrics. Especially in multi-agent settings, costs can grow exponentially if unbounded. ➡️ Human-in-the-Loop Orchestration Always have an escalation path. Add override triggers, fallback LLMs, or route to human-in-the-loop for edge cases and critical decision points. This protects quality and trust. PS: If you are interested to learn more about AI Agents and MCP, join the hands-on workshop, I am hosting on 31st May: https://lnkd.in/dWyiN89z If you found this insightful, share this with your network ♻️ Follow me (Aishwarya Srinivasan) for more AI insights and educational content.
-
Skipping steps will not ship reliable AI agents. Many people jump straight from prompting to multi-agent systems because the demos look impressive. But production-ready agentic AI is built one layer at a time. Start with Python so you can write and debug the underlying logic. Learn APIs and JSON because agents need structured ways to communicate with models, applications, and external services. Understand prompting and LLM fundamentals before adding retrieval, tools, or autonomy. Then build upward: → Use RAG to ground responses in trusted knowledge. → Connect tools through APIs and MCP so agents can take action. → Add memory to retain useful context across interactions. → Design workflows for predictable task execution. → Introduce agent loops for planning, acting, and reflecting. → Use multi-agent systems only when specialised collaboration genuinely improves the outcome. The final layers are where experiments become dependable systems. Evals reveal whether the agent performs consistently. Guardrails control risk, permissions, and unsafe behaviour. Production engineering adds monitoring, scalability, security, latency management, and human oversight. Agentic engineering is not about giving an LLM more freedom. It is about building enough structure around intelligence to make that freedom useful, measurable, and safe. Which step in this agentic AI roadmap are you currently working on?
-
3 engineers were tasked with solving the same system design problem at their company: The Problem: Design a scalable notification system. Junior Engineer: "I’ll set up an API that sends notifications to users through an external service like Twilio." - Focuses on implementing something quickly. - Solution works fine for 100 users, but doesn’t account for scale, retries, or failovers. Mid-Level Engineer: "I’ll build a modular system with Kafka for queuing, Redis for deduplication, and a microservice to handle delivery retries." - Focuses on scalability and reliability. - System handles high traffic but doesn’t consider long-term maintainability or cost-effectiveness. Senior Engineer: "What’s the business use case for these notifications? Are they time-sensitive, or can they be batched? Should we optimize for cost, speed, or reliability?" - Focuses on business goals first: → Suggests prioritizing urgent notifications like OTPs while batching less critical ones. → Recommends monitoring tools for visibility into system health. → Evaluates whether to build in-house or integrate an external service to reduce costs. The senior you are, the more your solutions align with business needs, not just technical challenges. Building systems is about solving the *right* problem, not just the technical one in front of you.
-
Before you automate anything, answer this: Can you document your process in 10 steps? If not, automation will just replicate your chaos faster. 🔧 Most GRC teams get this backwards They spend weeks building AI validators, evidence collectors, or risk scorers. Then wonder why outputs are inconsistent, inaccurate, or unusable. The problem isn't the AI. It's the workflow underneath. The workflow audit comes first. The automation comes second. 📧 This week in GRC Engineer: "Engineer Your GRC Process Before You Automate It" The 30-minute audit that shows whether your workflows are ready for automation: ✅ Input Clarity - Do you know what data you actually need? ✅ Process Definition - Can someone else follow your steps and get the same result? ✅ Output Consistency - Does the same request produce the same format every time? ✅ Repeatability - Can anyone execute this without tribal knowledge? Copy-paste checklist included. Score your workflows. Fix one thing this week. Read here: https://lnkd.in/e_-zR2Rv Last week: Fixed your prompts This week: Audited your workflows Next week: Validation frameworks to ensure you can scale automation The GRC professionals who master process engineering + AI scaffolding will define the next decade. #GRCEngineering #ProcessDesign #Automation
-
Build once. Reuse many times. Differentiate where it counts! For years, engineering organizations have excelled at delivering customer-specific projects. But as complexity increases and development cycles shorten, the next competitive advantage isn’t building more project or individual customized products it’s building smarter platforms and modules. The shift from project and product engineering to modular, scalable modules, reusable libraries and pre-fab modules, deployment tools, and configurable products is no longer just an engineering initiative. It’s a business strategy. By embracing the 80/20 principle, we can standardize the 80% that is common across applications while focusing engineering expertise on the 20% that truly differentiates the customer. For products the key is late customization based on standardized modular design. The benefits are compelling: • Faster time-to-market through proven, reusable building blocks. • Higher software and product quality and reliability with continuously improved modules. • Lower engineering effort and maintenance costs. • Easier scalability across products, regions, and industries. • More time spent creating customer value instead of reinventing existing solutions. Standardization should never mean commoditization. Quite the opposite. When the foundation is modular and reusable, engineering teams are free to innovate where it matters most—solving unique customer challenges and creating meaningful differentiation. This drives value creation and delivers competitive advantage! The winners in the next decade won’t be those who write the most code or customized solutions. They’ll be the organizations that build the best reusable engineering ecosystem, enabling speed, quality, and innovation at scale. AI usage is supporting this approach even stronger based on the use of tested, validated and documented software modules. #EngineeringLeadership #SoftwareEngineering #PlatformEngineering #ModularDesign #ProductDevelopment #Innovation #DigitalTransformation #IndustrialAutomation #SoftwareArchitecture #ContinuousImprovement