1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[381],{69160:function(e,a,n){n.d(a,{Z:function(){return l}});let l=(0,n(40416).Z)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},23694:function(e,a,n){n.d(a,{A7:function(){return t},Jc:function(){return u},bn:function(){return c},cA:function(){return o},jQ:function(){return m},l_:function(){return p},nr:function(){return s},q9:function(){return i},tN:function(){return r},uJ:function(){return l},z:function(){return d}});let l=[{label:"AI Engineers",key:"ai",note:"AI agents, RAG, tool-calling - LangGraph, LangSmith, CrewAI",specializations:[{key:"langgraph",label:"LangGraph / LangChain"},{key:"langsmith",label:"LangSmith evals & tracing"},{key:"crewai",label:"CrewAI / AutoGen multi-agent",deepTech:!0},{key:"rag",label:"RAG & vector search"},{key:"mcp",label:"MCP / tool-calling"},{key:"guardrails",label:"Evals & guardrails"}],baseSalary:{bengaluru:[22e3,36e3,52e3,68e3],hyderabad:[19e3,31e3,45e3,59e3],chennai:[18e3,29e3,42e3,55e3],pune:[18e3,29e3,42e3,55e3]}},{label:"ML Engineers",key:"ml",note:"Model training, deep learning, NLP, fine-tuning",specializations:[{key:"dl",label:"Deep learning (PyTorch)",deepTech:!0},{key:"nlp",label:"NLP / transformers"},{key:"cv",label:"Computer vision",deepTech:!0},{key:"finetune",label:"Fine-tuning (LoRA / PEFT)",deepTech:!0},{key:"classical",label:"Classical ML / forecasting"},{key:"serving",label:"Model serving (vLLM / Triton)",deepTech:!0}],baseSalary:{bengaluru:[22e3,36e3,52e3,68e3],hyderabad:[19e3,31e3,45e3,59e3],chennai:[18e3,29e3,42e3,55e3],pune:[18e3,29e3,42e3,55e3]}},{label:"Data Engineers",key:"dataeng",note:"Pipelines, lakehouse, data quality",specializations:[{key:"spark",label:"Spark / Databricks"},{key:"dbt",label:"dbt / Snowflake / BigQuery"},{key:"airflow",label:"Airflow / orchestration"},{key:"streaming",label:"Kafka / streaming"},{key:"dq",label:"Data quality & governance"}],baseSalary:{bengaluru:[18e3,3e4,44e3,58e3],hyderabad:[15e3,26e3,38e3,5e4],chennai:[14e3,24e3,36e3,47e3],pune:[14e3,24e3,36e3,47e3]}},{label:"Full-Stack Engineers",key:"fullstack",note:"End-to-end product delivery, UI to API",specializations:[{key:"react",label:"React / Next.js"},{key:"node",label:"Node / TypeScript"},{key:"pyweb",label:"Python (FastAPI / Django)"},{key:"graphql",label:"GraphQL / REST APIs"}],baseSalary:{bengaluru:[16e3,28e3,42e3,56e3],hyderabad:[14e3,24e3,36e3,48e3],chennai:[13e3,22e3,34e3,45e3],pune:[13e3,22e3,34e3,45e3]}},{label:"Backend Engineers",key:"backend",note:"Services, APIs, core platform",specializations:[{key:"python",label:"Python / FastAPI"},{key:"java",label:"Java / Spring"},{key:"go",label:"Go"},{key:"nodeb",label:"Node / NestJS"},{key:"microservices",label:"Microservices / event-driven"}],baseSalary:{bengaluru:[16e3,28e3,42e3,56e3],hyderabad:[14e3,24e3,36e3,48e3],chennai:[13e3,22e3,34e3,45e3],pune:[13e3,22e3,34e3,45e3]}},{label:"Cloud/DevOps Engineers",key:"devops",note:"Infra, CI/CD, GPU & serving environments",specializations:[{key:"k8s",label:"Kubernetes"},{key:"iac",label:"Terraform / IaC"},{key:"cicd",label:"CI/CD pipelines"},{key:"observability",label:"Observability"},{key:"gpu",label:"GPU & inference infra",deepTech:!0}],baseSalary:{bengaluru:[18e3,3e4,46e3,6e4],hyderabad:[15e3,26e3,4e4,52e3],chennai:[14e3,24e3,37e3,49e3],pune:[14e3,24e3,37e3,49e3]}},{label:"QA/SDET",key:"qa",note:"Automation, release confidence, LLM evals",specializations:[{key:"e2e",label:"Playwright / Cypress"},{key:"api",label:"API automation"},{key:"perf",label:"Performance testing"},{key:"llmeval",label:"LLM eval / regression suites"}],baseSalary:{bengaluru:[13e3,22e3,33e3,44e3],hyderabad:[11e3,19e3,28e3,38e3],chennai:[1e4,18e3,27e3,36e3],pune:[1e4,18e3,27e3,36e3]}},{label:"Data Scientists",key:"datasci",note:"Experimentation, forecasting, insight",specializations:[{key:"exp",label:"Experimentation / A-B"},{key:"forecast",label:"Forecasting"},{key:"causal",label:"Causal inference"},{key:"bi",label:"BI / dashboards"}],baseSalary:{bengaluru:[2e4,34e3,5e4,65e3],hyderabad:[17e3,29e3,43e3,56e3],chennai:[16e3,27e3,4e4,53e3],pune:[16e3,27e3,4e4,53e3]}},{label:"Mobile Engineers",key:"mobile",note:"iOS and Android delivery",specializations:[{key:"ios",label:"iOS / Swift"}
1,{key:"android",label:"Android / Kotlin"},{key:"xplat",label:"React Native / Flutter"}],baseSalary:{bengaluru:[16e3,28e3,42e3,56e3],hyderabad:[14e3,24e3,36e3,48e3],chennai:[13e3,22e3,34e3,45e3],pune:[13e3,22e3,34e3,45e3]}},{label:"Business Analysts",key:"ba",note:"Requirements, user stories, process mapping",specializations:[{key:"reqs",label:"Requirements & user stories"},{key:"process",label:"Process mapping"},{key:"sql",label:"SQL / analytics"},{key:"agile",label:"Agile / Jira"}],baseSalary:{bengaluru:[14e3,22e3,32e3,42e3],hyderabad:[12e3,19e3,28e3,36e3],chennai:[11e3,18e3,26e3,34e3],pune:[11e3,18e3,26e3,34e3]}},{label:"Product Owners",key:"po",note:"Backlog ownership & your US/EU sprint bridge",specializations:[{key:"bridge",label:"US/EU sprint bridge"},{key:"backlog",label:"Backlog & roadmap ownership"},{key:"prd",label:"PRDs & acceptance criteria"},{key:"stakeholder",label:"Stakeholder management"}],baseSalary:{bengaluru:[24e3,36e3,52e3,68e3],hyderabad:[2e4,31e3,45e3,58e3],chennai:[19e3,29e3,42e3,55e3],pune:[19e3,29e3,42e3,55e3]}}],o=[{key:"bengaluru",label:"Bengaluru",description:"Largest talent pool, highest cost"},{key:"hyderabad",label:"Hyderabad",description:"Strong GCC ecosystem, 10-15% savings vs Bengaluru"},{key:"chennai",label:"Chennai",description:"Growing AI hub, 15-20% savings"},{key:"pune",label:"Pune",description:"Engineering culture, 15-20% savings"}],t=[{key:0,label:"Junior Engineer (0-3 yrs)",shortLabel:"Junior"},{key:1,label:"Mid-Level Engineer (3-5 yrs)",shortLabel:"Mid"},{key:2,label:"Senior Engineer (4-6 yrs)",shortLabel:"Senior"},{key:3,label:"Staff / Tech Lead (7+ yrs)",shortLabel:"Lead"}],i=[{key:"agentic",label:"Agentic AI Pod",tagline:"2 AI Eng + Backend + Infra + QA + PO",badge:"Recommended",roleCounts:{ai:2,backend:1,devops:1,qa:1,po:1},specializations:{ai:["langgraph","rag","guardrails"],backend:["python","microservices"],devops:["k8s","cicd"],qa:["llmeval","api"],po:["bridge","backlog"]},complexity:"deep"},{key:"mlops",label:"MLOps Platform Pod",tagline:"2 ML Eng + Data + Infra + QA + PO",badge:"Model Training",roleCounts:{ml:2,dataeng:1,devops:1,qa:1,po:1},specializations:{ml:["dl","finetune","serving"],dataeng:["spark","airflow"],devops:["k8s","gpu"],qa:["api"],po:["bridge","backlog"]},complexity:"deep"},{key:"product",label:"Product Engineering Pod",tagline:"Core platform delivery for SaaS products",roleCounts:{backend:2,fullstack:1,qa:1,po:1},specializations:{backend:["python","microservices"],fullstack:["react","node"],qa:["e2e","api"],po:["bridge","backlog"]},archetype:"balanced",complexity:"standard"},{key:"poc",label:"Fast AI POC Sprint Unit",tagline:"2 Senior Engineers",badge:"60-90 Day Goal",roleCounts:{ai:1,fullstack:1},specializations:{ai:["langgraph","rag"],fullstack:["react","pyweb"]},archetype:"staff-rnd"},{key:"custom",label:"Custom Build",tagline:"Start from Scratch",roleCounts:{},specializations:{}}],r=[{key:"senior-led",label:"Senior-Led & Autonomous",ratioLabel:"65% Senior / 35% Lead",description:"Best for US/EU alignment",ratios:[0,0,.65,.35]},{key:"balanced",label:"Balanced Execution",ratioLabel:"50% Mid / 30% Senior / 20% Lead",description:"Cost-velocity balance",ratios:[0,.5,.3,.2]},{key:"staff-rnd",label:"100% Staff / R&D",ratioLabel:"All Senior / Principal",description:"Deep systems / POCs",ratios:[0,0,.5,.5]}],c=[{key:"standard",label:"Standard Core Apps",description:"CRUD, standard APIs, web platforms",multiplier:0},{key:"deep",label:"Deep Tech & Multi-Agent",description:"Fine-tuning, vLLM, low-latency inference",multiplier:.15},{key:"frontier",label:"Frontier Research",description:"Custom foundation models, multi-node GPU infra",multiplier:.3}],s=[{key:"aws",label:"AWS"},{key:"azure",label:"Azure"},{key:"gcp",label:"Google Cloud"}],m=[{key:"triton-vllm",label:"Triton / vLLM"},{key:"kubernetes",label:"Kubernetes (EKS/AKS/GKE)"}],u=1.3,d=1.35,p=3},17741:function(e,a,n){n.d(a,{Bx:function(){return b},Ew:function(){return p},Pt:function(){return d},a$:function(){return g},tW:function(){return y},wD:function(){return u}});let l=new Set(["gmail.com","googlemail.com","yahoo.com","yahoo.co.uk","yahoo.co.in","yahoo.in","yahoo.ca","yahoo.com.au","yahoo.de","yahoo.fr","yahoo.it","yahoo.es","yahoo.co.jp","yahoo.com.br","yahoo.com.mx","yahoo.com.sg","yahoo.ie","yahoo.se","yahoo.dk","yahoo.no","ymail.com","rocketmail.com","outlook.com","outlook.in","outlook.de","outlook.fr","outlook.es","outlook.it","hotmail.com","hotmail.co.uk","hotmail.fr","hotmail.de","hotmail.it","hotmail.es","hotmail.be","hotmail.nl","hotmail.se","hotmail.dk","hotmail.n
1o","hotmail.ca","live.com","live.co.uk","live.fr","live.de","live.it","live.nl","live.se","live.ca","live.com.au","msn.com","passport.com","windowslive.com","icloud.com","me.com","mac.com","protonmail.com","proton.me","pm.me","tutanota.com","tutanota.de","tuta.io","hushmail.com","mailfence.com","posteo.de","runbox.com","startmail.com","gmx.com","gmx.de","gmx.at","gmx.ch","gmx.net","web.de","t-online.de","freenet.de","arcor.de","mail.de","bluewin.ch","sunrise.ch","orange.fr","wanadoo.fr","free.fr","laposte.net","sfr.fr","bbox.fr","neuf.fr","aliceadsl.fr","club-internet.fr","voila.fr","libero.it","virgilio.it","tiscali.it","alice.it","tin.it","fastwebnet.it","terra.es","telefonica.net","ya.com","wanadoo.es","sapo.pt","clix.pt","mail.pt","wp.pl","o2.pl","onet.pl","interia.pl","op.pl","gazeta.pl","seznam.cz","centrum.cz","email.cz","volny.cz","azet.sk","zoznam.sk","telenet.be","skynet.be","proximus.be","scarlet.be","ziggo.nl","kpnmail.nl","planet.nl","home.nl","hetnet.nl","telia.com","telia.se","bredband.net","spray.se","hotmail.fi","luukku.com","online.no","broadpark.no","start.no","mail.dk","jubii.dk","eircom.net","btinternet.com","sky.com","virginmedia.com","talktalk.net","ntlworld.com","blueyonder.co.uk","tiscali.co.uk","mail.ru","inbox.ru","list.ru","bk.ru","internet.ru","yandex.com","yandex.ru","ya.ru","rambler.ru","ukr.net","meta.ua","rediffmail.com","rediff.com","sify.com","indiatimes.com","qq.com","163.com","126.com","sina.com","sina.cn","sohu.com","aliyun.com","naver.com","daum.net","hanmail.net","nate.com","docomo.ne.jp","ezweb.ne.jp","softbank.ne.jp","nifty.com","biglobe.ne.jp","aol.com","aim.com","comcast.net","verizon.net","att.net","sbcglobal.net","bellsouth.net","cox.net","charter.net","earthlink.net","juno.com","optonline.net","roadrunner.com","shaw.ca","rogers.com","sympatico.ca","uol.com.br","bol.com.br","terra.com.br","ig.com.br","globo.com","prodigy.net.mx","hotmail.com.ar","bigpond.com","optusnet.com.au","iinet.net.au","xtra.co.nz","zoho.com","zohomail.com","mail.com","email.com","usa.com","consultant.com","fastmail.com","fastmail.fm","hey.com","inbox.com","lycos.com","excite.com","hushmail.me","gmx.us","mailbox.org","disroot.org","riseup.net"]),o=new Set(["mailinator.com","yopmail.com","guerrillamail.com","guerrillamail.net","sharklasers.com","10minutemail.com","temp-mail.org","tempmail.com","throwawaymail.com","trashmail.com","trashmail.de","dispostable.com","getnada.com","maildrop.cc","mailnesia.com","fakeinbox.com","spamgourmet.com","mytemp.email","emailondeck.com","moakt.com","tempr.email","discard.email","mailcatch.com","spam4.me","grr.la","einrot.com","harakirimail.com"]),t=e=>RegExp(e,"u"),i=t("^[\\p{L}\\p{N}!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\p{L}\\p{N}!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\p{L}\\p{N}](?:[\\p{L}\\p{N}-]*[\\p{L}\\p{N}])?\\.)+\\p{L}{2,}$"),r=t("^[\\p{L}\\p{N} .,&'ââ`\\-ââ/()+#!@:]+$"),c=t("[\\p{L}\\p{N}]"),s=t("^[\\d+()\\-.\\s/]+$"),m=e=>{var a;return null!==(a=e.trim().toLowerCase().split("@").pop())&&void 0!==a?a:""},u=e=>{let a=m(e);return l.has(a)||o.has(a)};function d(e){let a=e.trim();return a?a.length>254||!i.test(a)?"Please enter a valid company email address.":u(a)?"Please enter a valid company email address â personal email addresses aren't accepted.":null:"Work email is required."}function p(e){let a=e.trim();return a?a.length<2?"Please enter your full company name.":a.length>120?"Please shorten your company name.":c.test(a)?r.test(a)?null:"Please remove any unsupported characters from your company name.":"Please enter your full company name.":"Company name is required."}function b(e,a){return e.trim()?null:"Please select ".concat(a,".")}function y(e){return e.length>0?null:"Please select at least one role."}function g(e){let a=e.trim();if(!a)return null;if(!s.test(a)||a.lastIndexOf("+")>0)return"Please enter a valid phone number.";let n=a.replace(/\D/g,"");return n.length<7||n.length>15?"Please enter a valid phone number, including country code.":null}},58436:function(e,a,n){n.d(a,{PL:function(){return o},X6:function(){return l}});let l="/__forms.html";async function o(e,a){let n=await fetch(l,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:function(e,a){let n=new URLSearchParams;return a.forEach((e,a)=>{"string"==typeof e&&n.append(a,e)}),n.has("form-name")||n.set("form-name",e),n.toString()}(e,a)});if(!n.ok)throw Error('Netlify form "'.concat(e,'" was rejected (HTTP ').concat(n.status,")"))}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.