John's Tech Support Assessment

ONLINE

Technical Customer Support Position Assessment

Website optimized for Netscape Navigator 3.0+

Greetings, Earthling!

Hi, I'm John Peter De Jesus, and this page is my digital handshake for the Technical Customer Support position.

Think of me as your friendly neighborhood tech-savvy problem-solver who doesn't just read error logs but feels them. I'm here to help users navigate tech hurdles without making them feel like they need a computer science degree.

My approach to support: "When life gives you 404s, make 200s." Or to put it less cheesily: I translate tech jargon into human speak, calm frustrated users, and actually solve problems.

TL;DR:

I fix tech problems, explain things without condescension, and keep users smiling. Let's chat!

Q&A Section

Q1: Talk about how you made your site and why you chose the tools you did. Briefly explain one challenge you experienced in setting up this site and how you overcame it.

Answer: I built this site with HTML, Tailwind CSS, and a sprinkle of retro nostalgia. I chose:

  • Tailwind CSS for rapid, utility-first styling without context switching
  • Vanilla JavaScript for lightweight interactivity
  • TheOldNet aesthetic because it's memorable and shows I understand tech history

Challenge: Creating an authentic retro terminal look while keeping it responsive and accessible.

Solution: I used CSS grid for the scan line effect, Font Awesome for retro icons, and tested color contrasts to ensure readability while maintaining that classic green-on-black terminal vibe.

Q2: What did you think of our service during the time you used it? Provide some constructive criticism or some features that impressed you.

Answer: Netlify has been a reliable platform for this web project. Three highlights that stood out:

Highlights:

  • Deploy Previews Instant preview links for every PR/branch made team collaboration seamless and feedback cycles much faster.
  • Performance & CDN Sites load quickly globally with zero configuration—great out-of-the-box optimization.
  • Form Handling Simple setup for contact forms without needing a backend saved development time.

Constructive feedback:

The build minutes on the free tier can run out quickly for active projects. A slightly more generous allowance or clearer usage alerts would help avoid unexpected deployment blocks.

Q3: Rank your 5 favorite and 5 least favorite activities from this list.

Answer: Based on the list at https://gist.github.com/laurajodz/592402a6336410377dee1a744af846ab:

Top 5 Favorites

  1. Suggest and champion improvements to the Support team's workflow
  2. Work with a customer to figure out if Netlify's service can solve a particular workflow or integration challenge
  3. Develop a code example to share with a customer
  4. Write and maintain Support Guides for our product
  5. Help train and onboard new support teammates

5 Least Favorites

  1. Debug a customer's build using a programming language/framework you've never seen before
  2. Dig through server logs to troubleshoot a customer's website behavior
  3. Respond to 20+ support requests via email every day
  4. Set up your own copy of several site frameworks for debugging
  5. Respond to Netlify customers on Twitter

Q4: Provide a link to documentation for a technical/developer-focused product, which you think are well done, and explain why you think they are well done.

Answer: The Stripe API documentation is exceptionally well-executed.

Why it's excellent:

  • Interactive examples with real code you can run directly in the browser
  • Multiple language examples (Python, Ruby, Node, etc.) side-by-side
  • Clear visual hierarchy that separates concepts from implementation details
  • "Getting started" guides that actually get you started in under 5 minutes
  • Error reference that explains what each error means and how to fix it

This documentation understands that developers need to solve problems quickly, not read novels about architecture.

Q5: Explain, in a couple of paragraphs, what you think are two major challenges around DNS configuration for less-technical customers hosting websites.

Answer:

1. Conceptual Understanding Gap: DNS is fundamentally abstract - it's about invisible records pointing to other invisible things. For non-technical users, concepts like "pointing your domain" or "propagation delays" feel like tech magic. They expect changes to be instant (like editing a Word doc) but DNS changes take time to propagate worldwide. This leads to confusion when their site "doesn't work" immediately after making changes.

2. Interface Complexity & Terminology: DNS management interfaces are often designed for technical users, filled with terms like CNAME, A record, TTL, MX records, and TXT records. For someone just wanting their domain to show their website, this is overwhelming. They don't know which record to edit, what values to enter, or how to verify the changes worked. One wrong character in a DNS record can make an entire website or email service unavailable.

Q6: A customer writes in to Support saying simply that their "site won't build". You have access to their build logs, and there you see this error: Build failed due to a user error: Build script returned non-zero exit code: 2. You have no more information than this and the site's source repository is private so you cannot test the build yourself. How would you troubleshoot this issue? What steps would you take? Also, please compose your best customer-facing first response.

Answer - Troubleshooting Steps:

  1. Examine the build log for more context - usually there are warnings or errors above the exit code that give clues
  2. Check for common issues: missing dependencies, syntax errors in config files, outdated Node/npm versions
  3. Look at the last successful build and compare dependencies or config changes
  4. Ask the customer about recent changes to their repository, package.json, or build settings
  5. Suggest they run the build command locally to see if they get more detailed error messages

Customer-Facing Response:

Hi [Customer Name],

Thanks for reaching out about your build failure. I can see from the logs that the build process is exiting with error code 2, which usually indicates an issue with the build script or configuration.

To help us pinpoint the issue, could you:

  1. Check if there were any recent changes to your package.json, build settings, or framework configuration?
  2. Try running your build command locally (e.g., "npm run build") to see if you get more specific error messages?
  3. Verify that all required dependencies are properly listed in your package.json file?

In the meantime, I'll continue examining the build logs for any additional clues. Often the error message just before the exit code gives us the specific problem.

Best regards,
John

Q7: How would you set up an http 301 status redirect from "/netlify/anything" on your site, to https://www.google.com/search?q=anything. Please provide the redirect formatting here. Now, how about a proxy redirect? Please add that proxy redirect rule directly to your site!

Answer:

301 Redirect rule for _redirects file:

/netlify/:query https://www.google.com/search?q=:query 301

Proxy redirect rule for _redirects file:

/proxy/:query https://www.google.com/search?q=:query 200

Note: The proxy redirect (200) passes the request through and returns Google's response, while the 301 tells browsers to permanently go to Google instead.

Q8: Please attempt to deploy a function on our service. This need not be complicated. It could be "Hello World". Note that failure to deploy is not failing the exercise! Whether you have trouble or not, please describe what you experienced and how you attempted to troubleshoot any issues you encountered.

Answer: I attempted to deploy a simple "Hello World" serverless function.

Process:

  • Created a netlify/functions/hello.js file with a basic handler
  • Committed and pushed to my connected Git repository
  • Monitored the deployment in the Netlify dashboard

Experience: The deployment succeeded on the first attempt! The function was live within seconds of pushing to Git.

Function code:

exports.handler = async function(event, context) {
  return {
    statusCode: 200,
    body: JSON.stringify({ message: "Hello World!" })
  };
};

Troubleshooting mindset: Had there been issues, I would have checked: 1) Function location and naming conventions, 2) Runtime compatibility (Node.js version), 3) Deployment logs for specific error messages, 4) Local testing with Netlify CLI.

Q9: We understand you don't know anything about our internal procedures at this stage, but we want you to explain at a high level how you'd react to this situation: You receive a report of a severe security issue on www.netlify.com. You can't immediately confirm the report, so what steps might you take to investigate or substantiate the report? What might you say to the reporter, even though we haven't confirmed their assertion yet, that will instill confidence that our business is very concerned about security? You believe there is a reasonable chance the report is correct and the problem is very large and impactful. How might you escalate?

Answer:

Initial Investigation Steps:

  • Document every detail from the reporter - screenshots, steps to reproduce, affected URLs
  • Attempt to reproduce the issue in a safe, isolated environment
  • Check system logs for any unusual activity around the reported time
  • Review recent deployments or configuration changes that might be related
  • Consult with security team members if available

Response to Reporter:

"Thank you for bringing this potential security concern to our attention. We take all security reports extremely seriously and have initiated an immediate investigation. Your detailed report is invaluable in helping us secure our platform for all users. We will keep you updated on our progress and will notify you as soon as we have more information. If you have any additional details or evidence, please don't hesitate to share them with us."

Escalation Path (if issue appears valid):

  1. Immediately notify the security incident response team lead
  2. Alert engineering leadership about the potential severity
  3. Initiate internal security alert procedures according to company protocol
  4. If customer data is potentially exposed, involve legal/compliance teams
  5. Prepare communication templates for customers if needed