diff --git a/AGENTS.md b/AGENTS.md index 6d0c016..cce9e0e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -60,6 +60,7 @@ The outline in `docs/README.md` covers sections 1–12. Recent additions include - `docs/voice-input-with-superwhisper.md` — article on using Superwhisper for live voice input with GitHub Copilot CLI, linked under section 10 as item 10.6 - `docs/tmux-for-multi-agent-development.md` — linked under section 6.7.4 - `docs/use-agentic-ai-template.md` and `docs/agentic-template-is-the-new-dotfiles.md` — linked under section 12 +- `docs/digital-nomad-tech-career.md` — comprehensive learning plan for becoming a remote digital nomad tech worker, covering target companies, required skills, an incremental portfolio of seven projects, GitHub/recruiter visibility tips, and a full interview prep guide with common technical and behavioral questions; linked under section 1.2 as item 1.2.4 ## Pending todos diff --git a/docs/README.md b/docs/README.md index 8079003..c5bf020 100644 --- a/docs/README.md +++ b/docs/README.md @@ -22,6 +22,7 @@ Notice that almost everything in this outline starts with a verb, a call to acti 1. Why was the Beginner Boost created? 2. Who is it for and who should skip? 3. (Optional) [Getting into tech with AI: still worth it?](getting-into-tech-with-ai.md) + 3. (Optional) [Digital nomad tech career: the complete learning plan](digital-nomad-tech-career.md) 3. How long will the Boost take? 4. What will I get from the Boost? 5. Why is there a Boost every year? diff --git a/docs/digital-nomad-tech-career.md b/docs/digital-nomad-tech-career.md new file mode 100644 index 0000000..535b8a9 --- /dev/null +++ b/docs/digital-nomad-tech-career.md @@ -0,0 +1,223 @@ +# Digital nomad tech career: the complete learning plan + +You want to make serious money from anywhere in the world using nothing but a laptop and a cloud lab. That is not a fantasy — it is a real category of job that real companies hire for right now. This guide tells you exactly what those companies are, what they want, how to build a portfolio they will notice, and what will happen when you walk into an interview for one of those jobs. + +## The reality of remote tech jobs + +Not all tech jobs are created equal when it comes to remote flexibility. Some companies post "remote" roles that quietly become "must attend in-person twice a year" or "remote within a 50-mile radius." The fully-distributed, laptop-only, work-from-anywhere roles are a specific category — and they cluster around specific types of companies and specific types of work. + +The sweet spot is infrastructure, platform, and developer tooling work. Companies building software for other software engineers almost always have fully distributed teams because their entire customer base expects it. They eat their own dog food: if they are selling remote developer tools, they had better be running a remote team themselves. + +The skills that unlock this category of work are not the skills that get you a local IT job. They are: + +- Linux systems administration at the command line +- Containers and container orchestration (Kubernetes is the gold standard) +- Cloud infrastructure on AWS, GCP, or Azure — preferably at least two of the three +- Infrastructure as code (Terraform, Pulumi, or Ansible) +- CI/CD pipelines and DevOps practices +- Scripting and automation (bash, Python, Go) +- Observability: logs, metrics, traces — and debugging distributed systems from terminal +- Security basics: IAM, secrets management, network policies, least-privilege thinking +- AI tooling and MCP server development — this is the emerging skill that not enough people have yet + +You do not need all of these on day one. But the more of these you can demonstrate with actual evidence, the higher your leverage in salary negotiation and the more doors open up. + +## Companies that hire remote technologists + +These are the categories of companies that routinely hire fully remote engineers and pay well for it. Within each category, specific companies come and go — always verify current hiring status — but the categories themselves are stable. + +**Cloud-native infrastructure companies** — companies like HashiCorp, Datadog, PagerDuty, Grafana Labs, Cloudflare, Fastly, and Pulumi are almost entirely distributed. They build the tools that run the internet and they need people who understand infrastructure deeply. + +**Developer tooling and platform companies** — companies like GitHub, GitLab, JetBrains, CircleCI, and similar developer-experience focused businesses have strong remote cultures built in. The work is technical, the pay is high, and the community is global. + +**Fintech and crypto infrastructure** — companies like Stripe, Plaid, and various DeFi infrastructure providers run fully distributed engineering teams. They pay extremely well for people who can build and operate reliable distributed systems. + +**AI and LLM infrastructure companies** — this is the fastest-growing category right now. Companies building the infrastructure layer for AI agents and large language models need DevOps and platform engineers who understand both cloud infrastructure and AI tooling. Most of these companies are remote-first by default because the talent is globally distributed. + +**Open source companies** — many companies exist primarily to support and commercialize open source projects. Canonical (Ubuntu), Red Hat, SUSE, Elastic, MongoDB, and similar companies have always been remote-first because their contributor communities are global. + +The companies worth targeting are the ones where the job description reads like a list of skills you are actively building. If you are following this Boost and building the skills here, you will recognize them immediately. + +## Companies that are genuinely okay with expats + +There is an important difference between a company that allows remote work and a company that is actually okay with you living in a different country, paying taxes there, and never asking where you are. Most "remote" job listings still implicitly assume you are a resident or citizen of the country where the company is incorporated. Saying you are calling in from Bangkok will end some conversations that started fine. Knowing which companies have already solved this problem — and how — is worth understanding before you apply. + +**The legal reality of international employment** — companies that want to hire you legally in a country where they do not have a corporate entity have two main options. First, they can engage you as a contractor rather than an employee — you invoice them, you handle your own taxes, and the company avoids employment law complexity entirely. This is common in the open source and DevOps world and is completely legitimate if structured correctly. Second, they can use an Employer of Record (EOR) service like Deel, Remote.com, Oyster HR, or Rippling Global. These companies become your legal employer on paper in your country of residence, handle payroll and taxes locally, and let the actual company you work for pay a flat monthly fee instead of setting up a legal entity. EOR coverage now extends to 80–150 countries depending on the provider. If a company uses one of these services, "we don't have an entity in your country" is not a blocker. + +**Companies with a track record of genuine global hiring:** + +Automattic (the company behind WordPress.com, WooCommerce, and Tumblr) has been fully distributed since it was founded and has hired in over 90 countries. It is one of the oldest and most credible examples of a company that actually means it when it says location does not matter. They pay fairly for senior technical roles and their engineering culture values async communication and written clarity — both essential expat survival skills. + +Canonical (Ubuntu) has been hiring globally for longer than most tech companies have existed. Canonical employees have always worked from home, from everywhere, and the company has employment infrastructure in a large number of countries built up over 20 years. The work is deeply technical (Linux kernel, cloud infrastructure, snaps, Juju) and the pay is competitive. + +GitLab is a fully distributed company of over 1,500 people in more than 65 countries. They publish their entire employee handbook publicly, including compensation calculator details, and their remote work practices are among the most documented in the industry. GitLab uses a combination of direct employment entities and EOR services. Their job listings specify which countries are excluded (usually due to sanctions or lack of banking infrastructure) but the list of countries they actively hire in is long. + +Elastic (the company behind Elasticsearch, Kibana, and the ELK stack) has been remote-first since its founding. Their engineering and operations teams are spread across Europe, the Americas, and Asia. They use a mix of direct employment in major markets and EOR in others. + +Grafana Labs (the company behind the Grafana observability platform) is a fully remote company that has grown fast while maintaining a genuinely global team. They have hired in over 40 countries and use EOR services to cover markets where they do not have direct entities. + +Fly.io, Supabase, Tailscale, Linear, and similar next-generation developer infrastructure companies tend to be async-first, documentation-heavy, and genuinely global from day one — because their founders built them distributed from the start and never had a headquarters culture to undo. + +The Wikimedia Foundation, Mozilla, and the Free Software Foundation are non-profit exceptions worth knowing about. They hire globally, pay reasonably for technical roles, and have strong remote cultures. The work is mission-driven and technically interesting. Not the highest pay but worth knowing exist. + +**Traditional and less-visible companies with genuine global employment infrastructure:** + +The companies listed above are the ones that get talked about on Hacker News and in tech Twitter threads. They are real and worth pursuing. But they are a small fraction of the actual market for globally-distributed tech workers. There is an entire tier of companies that almost never appear on startup-focused job boards, are never discussed in tech communities, and are almost never mentioned in "best remote companies" articles — and yet they have been hiring engineers across dozens of countries for ten, twenty, thirty years. They have the employment infrastructure to prove it, not because they are progressive, but because their business has always been international. + +EPAM Systems is a software engineering services company headquartered in the US but built from the ground up by engineers from Eastern Europe. They now employ over 50,000 people across more than 50 countries. They are completely unknown in startup circles and one of the largest engineering employers on the planet. Their business is staffing and delivering large-scale engineering projects for Fortune 500 clients. The work is enterprise — cloud migrations, platform modernization, DevOps implementation — and the distributed employment infrastructure they have built over decades is more robust than most remote-first startups will ever achieve. They post roles on LinkedIn and their own career site, not on remote-specific job boards. + +Amdocs is a company most people in tech have never heard of. Their customers have heard of it — Amdocs builds and operates the billing, customer management, and network software that runs most of the world's major telecom carriers. They employ roughly 30,000 people across more than 85 countries. Infrastructure engineers, DevOps people, and platform engineers are central to what they do. The work is not glamorous but the employment reach is genuinely global and the company has been managing multi-country payroll since before most current tech companies existed. + +FIS, Fiserv, and Jack Henry & Associates are the three companies that power the core banking systems of most mid-size banks, credit unions, and credit unions in the United States and increasingly internationally. None of them are internet-famous. All three employ thousands of technical people. FIS alone has over 50,000 employees across more than 50 countries. Fiserv and Jack Henry are similar in scale and international reach. If you end up doing infrastructure or platform work at one of these companies, you will be working on systems that process trillions of dollars of transactions. The pay is solid, the work is stable, and the employment infrastructure for international hiring has been in place for decades. + +Bentley Systems, Ansys, and Hexagon are companies that make the simulation, design, and geospatial software used by civil engineers, aerospace companies, mining operations, and manufacturers worldwide. They are completely off the radar of software developers who came up through web or cloud circles. All three are genuinely global, all three have significant infrastructure and platform engineering needs, and all three have been managing internationally distributed teams for a long time. Bentley and Ansys are headquartered in the US; Hexagon is Swedish. All hire globally. + +SAS Institute (the analytics software company, not the storage protocol) is a private company based in North Carolina that has operated globally since the 1970s. They build statistical and data analytics software used by governments, pharmaceutical companies, and financial institutions worldwide. Their infrastructure and systems engineering roles are posted quietly on their own career site and on LinkedIn. They have a reputation for unusually stable employment and generous benefits by tech industry standards, which reflects decades of profitable private operation rather than venture-backed growth cycles. + +OVHcloud is a French cloud infrastructure company and one of the largest cloud providers in the world by server count, despite being almost unknown in US tech circles. They operate data centers across Europe, North America, and the Asia-Pacific region and hire infrastructure engineers globally. The work is low-level infrastructure — bare metal, networking, storage systems — and they have been running distributed engineering teams across Europe and beyond for two decades. Their career site is the primary place to look; they rarely appear on mainstream job boards in the US. + +Kyndryl is a company most people in tech have not heard of despite it being one of the largest IT infrastructure services companies in the world. It was spun out of IBM in 2021 as a standalone public company (NYSE: KD) and is specifically IBM Global Technology Services (GTS) — the managed infrastructure arm of IBM Global Services covering data centers, mainframes, cloud operations, and network management across roughly 60 countries. IBM kept the consulting and systems integration side as IBM Consulting (formerly IBM Global Business Services). The separation let IBM trade at a higher multiple on its software and cloud businesses while giving Kyndryl the freedom to pursue its own transformation strategy. The company is working through a major transformation and actively recruiting infrastructure, automation, and platform engineers. The fact that it is not a buzzword-friendly company means the competition for roles is lower than at more visible employers. + +NTT (Nippon Telegraph and Telephone) and its various subsidiaries — including the infrastructure services operations inherited from Dimension Data, NTT Data, and others — collectively make up one of the largest IT services organizations in the world. The NTT Data and NTT Ltd. brands specifically focus on managed services and digital transformation for enterprise clients globally. They hire infrastructure and operations engineers in dozens of countries. The work is delivery-oriented rather than product-oriented but the global employment reach is real and well-established. + +Trustwave, Secureworks, and eSentire are managed security service providers that are not well-known outside of the security industry but hire security engineers, SOC analysts, and infrastructure engineers globally. The skills that make you employable at Grafana Labs or Cloudflare translate directly into the work these companies do, and the competition for roles is meaningfully lower because they do not have the same brand visibility in the tech community. + +**Where traditional companies post jobs** — this is the practical part. Internet-famous tech companies post on LinkedIn, Hacker News ("Who's Hiring"), Wellfound, and remote-specific boards like We Work Remotely and Remote.co. Traditional companies post almost exclusively on LinkedIn and their own career sites. Some use industry-specific boards. The search strategy that works is different: search LinkedIn for specific technical skills (Kubernetes, Terraform, Ansible) with the location filter set to "worldwide" or "remote," then look at the company behind the listing rather than assuming you already know which companies are worth applying to. A company you have never heard of posting a DevOps role with a globally-open location is more likely to have real international hiring infrastructure than a well-known company that recently announced a "remote-friendly" policy. + +**The signal that traditional companies have solved international hiring** — for startups, global hiring is a recent decision usually involving an EOR service. For traditional companies, it is often a matter of how many countries they already have legal entities in from decades of international operations. When a company has been running offices in Germany, Singapore, Brazil, and South Africa for twenty years, hiring you in Thailand is administrative paperwork, not a policy decision. Ask in the interview how long they have had employees in your region. The answer tells you whether you are the first experiment or one of thousands. + +**The contractor path** — for many nomads, the cleanest arrangement is working as an independent contractor directly for a foreign company. You are paid as a vendor, not an employee. No EOR needed. You handle your own taxes in your country of residence (or under the tax treaty rules between your home and host countries). This is how a significant portion of senior DevOps and infrastructure consultants operate internationally. Platforms like Toptal, Upwork, and Gun.io can generate initial contracts, but direct relationships built through GitHub visibility, conference networking, and community presence are the ones that pay the most and treat you best. + +**What to look for in job listings** — job descriptions that use the phrase "anywhere in the world," list salaries without a country qualifier, mention Deel or Remote.com explicitly, or show team pages with flagged employee locations from many different countries are the ones worth pursuing. Listings that say "remote (US only)" or "must be authorized to work in [country]" are not what you are looking for. + +**Questions to ask in the interview** — before accepting any offer, ask directly: + +- Do you use an Employer of Record service, and which one? +- Are there any countries where this role cannot be based? +- What countries does your current EOR or employment infrastructure cover? +- Am I being hired as an employee or as a contractor? + +These are professional questions that every legitimate globally-distributed company answers without hesitation. If the answer is vague or the recruiter does not know, that is a signal worth taking seriously. + +## What a digital nomad tech salary actually looks like + +Fully remote, location-independent tech work pays well — but there is a range. Understanding where you are likely to land and how to move up that range is important before you start. + +Entry level with demonstrable skills (two to three years equivalent): $80k–$120k USD equivalent. This is realistic within 12–18 months of serious study if you build the right portfolio. + +Mid-level with real production experience: $130k–$180k. This is where most experienced remote engineers land. Getting here requires shipped work, not just certificates. + +Senior and staff level with leadership or specialization: $180k–$300k+. The top of this range requires specialization (Kubernetes at scale, AI infrastructure, distributed systems design), a strong public reputation, or both. + +Location arbitrage is real. A $130k USD role is an exceptional salary in many parts of the world. The digital nomad life is financially viable at mid-level compensation in most of the places people actually want to live. + +## Your incremental project portfolio + +The portfolio is not optional. It is the interview. In a remote tech job search, your GitHub is your resume, and every project on it is evidence. + +Here is the sequence of projects that builds incrementally toward the skills companies want — and that also demonstrates your learning progression in a way that's readable at a glance: + +**Project 1: Linux command-line fluency log** — create a public repo where you document your terminal learning in the open. Real notes, real commands, real mistakes and how you fixed them. This sounds too simple, but it signals habit formation and willingness to work in public. Title it something like `notes-linux` and build on it every day. + +**Project 2: Bash automation scripts** — a repo of small, focused bash scripts that automate real tasks you encounter while learning. Nothing theoretical. Scripts that actually run and do something. Include a README explaining what each one does and why you wrote it. + +**Project 3: Containerize something real** — take an existing open source application and write a well-documented Containerfile for it. Write a compose file for the multi-container version. Write a README that explains every choice. Push it to GitHub. This demonstrates you understand containers at a practical level. + +**Project 4: Cloud lab on a budget** — build a repeatable, documented cloud lab environment using Terraform or Pulumi. It should spin up a multi-node setup, configure the networking, and deploy a basic application. Document everything in the README. Destroy and recreate it multiple times to prove it works. This is one of the highest-signal projects a junior candidate can show. + +**Project 5: CI/CD pipeline** — pick one of your existing projects and add a real CI/CD pipeline: automated tests, linting, container image builds, and deployment. Document what runs when and why. This shows you understand the full software delivery lifecycle. + +**Project 6: MCP server** — build an MCP server that connects an AI agent to a real system or API. Pick something useful: your cloud lab monitoring, a data source you care about, a tool you use daily. Write clean tool descriptions, return structured data, and document what the agent can do with it. This is the skill that almost nobody at your level will have, and it pays dividends immediately. + +**Project 7: Kubernetes deployment** — take your containerized application from Project 3 and write the Kubernetes manifests to deploy it. Use a managed Kubernetes service on a cloud provider. Document the deployment process, the resource limits, the health checks, and the rollback procedure. This is the core of what many infrastructure jobs are actually about. + +Each project should build on the last. Each one should have a clean, professional README with a clear description, setup instructions, and explanation of design decisions. Write them as if a hiring manager who has thirty seconds to evaluate your repo will form their entire opinion from that README. + +## Getting on GitHub's radar and recruiters' radar + +GitHub's search and recruiter bots are both pattern-matchers. They look for signals that a profile is active, skilled, and public. + +The signals that matter: + +- **Consistent contribution history** — a green contribution graph that goes back months is visible evidence of sustained effort. Daily commits to your learning repos count. +- **Pinned repos** — pin your best six projects. These are the first thing a recruiter or hiring manager sees when they visit your profile. +- **Profile README** — a public `username` repo with a README becomes your GitHub profile page. Use it to say what you are learning, what you are building, and what you are looking for. Keep it current. +- **Stars and forks on ecosystem projects** — star the tools you use, fork the repos you contribute to. This tells the algorithm you are engaged with the ecosystem. +- **Topics on every repo** — every repo should have relevant GitHub topics tagged (e.g., `kubernetes`, `terraform`, `devops`, `mcp`). These are how search finds you. +- **Real commit messages** — use conventional commits. Hiring managers who care enough to look at your commit history will notice if your messages are `fix stuff` versus `feat: add health check endpoint to deployment manifest`. + +Beyond GitHub, the places that generate inbound interest from companies: + +- Posting on LinkedIn about what you are learning and building (not polished, just real and specific) +- Being visible in the Discord and Slack communities of the tools you use +- Attending and being present (or even just commenting) at online meetups for KubeCon, MCP Dev Summits, and similar +- Writing short posts about problems you solved — even a GitHub Gist counts + +You do not need a massive following. You need to be findable and look credible when someone finds you. + +## The interview: what to expect + +Remote tech interviews for infrastructure, DevOps, and platform roles follow a consistent pattern. Knowing it in advance removes the anxiety and lets you prepare precisely. + +**Round 1: screening call (30 minutes)** — a recruiter or HR person. They are checking that you are real, that you can communicate clearly, and that your compensation expectations are in range. Be honest about where you are in your learning. Have a one-minute version of your story prepared: what you were doing before, why you are moving into tech, what you have built, and what you are looking for. This call is pass/fail — just don't be weird. + +**Round 2: technical screen (45–60 minutes)** — a senior engineer or hiring manager. This is usually a mix of system design questions, hands-on terminal work, and questions about your projects. They will ask you to walk them through something you built. Prepare to explain every choice in your portfolio projects out loud. + +**Round 3: practical challenge (take-home or live)** — some companies give you a take-home, some run a live coding or infrastructure session. Common tasks: write a Dockerfile and a Kubernetes deployment for a given app, debug a broken Terraform configuration, write a bash script to automate a system task, or explain what is wrong with a given YAML manifest. These are not trick questions — they want to see how you think and whether you can actually do the work. + +**Round 4: panel or final interview (60–90 minutes)** — behavioral questions mixed with deeper technical discussion. They are evaluating culture fit, how you handle problems under pressure, and whether you will be a good remote colleague. + +## Common interview questions for infrastructure and DevOps roles + +These are the questions that come up in almost every interview for the categories of companies listed above. Prepare real answers with specific examples from your portfolio projects. + +**Technical questions:** + +- Walk me through how containers work. What is the difference between a container and a virtual machine? +- Explain the Kubernetes control plane. What happens when you run `kubectl apply -f deployment.yaml`? +- How would you debug a pod that is stuck in `CrashLoopBackOff`? +- What is infrastructure as code and why does it matter? What is the difference between Terraform and Ansible? +- How does TLS work? Walk me through what happens in a TLS handshake. +- What is a load balancer and when would you use a Layer 4 versus Layer 7 load balancer? +- Explain how DNS works. What happens when you type a URL into a browser? +- What is the difference between authentication and authorization? +- How would you store secrets in a Kubernetes cluster securely? +- Walk me through how you would set up a CI/CD pipeline for a containerized application from scratch. +- What is observability? What is the difference between logging, metrics, and tracing? +- You get paged at 2am — an API is returning 500s. Walk me through your debugging process. +- What is a race condition and how do you prevent one in a distributed system? +- How does Terraform state work and what are the risks of remote state? + +**Behavioral questions:** + +- Tell me about a time you broke something in production. What happened, what did you do, and what did you change afterward? +- Describe a project where you had to learn something completely new to get it done. How did you approach it? +- How do you stay current with what's happening in the industry? +- Tell me about a time you disagreed with a technical decision. How did you handle it? +- How do you manage your work when you are fully remote with no one looking over your shoulder? +- What is the most complex system you have built or worked on? What made it complex? +- Describe your process for writing documentation. Who is it for and what belongs in it? + +**Questions about your projects (expect these for every item you have pinned):** + +- Why did you choose this approach over alternatives? +- What would you do differently if you were starting this project over? +- How would you scale this if it suddenly had ten times the traffic? +- What is the weakest part of this design? +- What did you learn from building this? + +These last five questions apply to every single project in your portfolio. If you cannot answer all five for a project, you are not ready to put it on your profile. Practice them out loud before any interview. + +## What to do right now + +The path from here to a fully remote, laptop-only tech job is not a mystery. It is a sequence of concrete actions. + +1. Set up your GitHub profile today — README, pinned repos placeholder, topics +2. Create your first learning repo: `notes-linux` — and commit to it every day +3. Work through this Boost in sequence, building projects as you go +4. Get visible in at least one community that is relevant to the tools you are learning +5. Attend at least one in-person or virtual event in the next six months +6. Start your cloud lab project as soon as you have the basics down — it is the highest-return project you can build +7. Build the MCP server project earlier than you think you need to — the gap between people who have done it and people who have not is wide and still growing + +The jobs are real. The skills are learnable. The window is open. The only thing that closes it is waiting.