Semi-Senior Frontend Developer (React / Next.js)

Cloudnonic Corp.

Get hot jobs first on Telegram

New positions appear faster in our channel

Location
Medellin, Colombia
Job Type
contract
Work Format
🌍 Remote LATAM
Salary
Not specified
Posted
September 26, 2026

Job Description

PLEASE ONLY APPLY IF YOU LIVE IN LATIN AMERICA!

Semi-Senior Frontend Developer (React / Next.js)
Full-time contractor · Fully remote

Cloudnonic is an international, fully remote cloud and software company. We build customized cloud-native systems for clients in Europe and North America, and we're looking for a Semi-Senior React developer to join the team.

Who we are

Cloudnonic Corp. is a digitally native software and cloud startup based in the Kitchener/Waterloo area, Ontario, Canada. We're fully remote, with developers in Canada and South America and clients across Europe, North America, and South America. We work across healthcare, finance, construction, and manufacturing, and we take the time to understand each client's industry so we can serve it well with technology.

We're big on AI and the cloud. Our services range from app and web development to AI and cloud integration, plus technology consulting: designing feasible, secure, cost-effective architectures for non-technical clients and advising them on their tech stack.

The role

As a React developer you'll work on multiple client projects at once, each with its own tech stack, code, and idiosyncrasies. You'll work with a wide range of code, libraries, and technologies and build the kind of adaptability that comes from switching between projects rather than staying in one repository.

We deliver AI-first. AI generates our tickets and acceptance criteria, we pair with AI while developing, and every pull request goes through AI review before a senior engineer reviews it. That makes us fast. It also means we have no room for developers who can only prompt. You need to be able to read what the AI produced, know when it's wrong, and fix it yourself: solid fundamentals in JavaScript, React's rendering model, semantic HTML, browser performance, and HTTP are the baseline, not a bonus. If you can't explain your code without the tool that wrote it, this isn't the role for you. Part of our technical interview is done without AI assistance.

You'll work directly with clients to architect solutions, discuss new features, and present your progress, most of the time in English. You'll learn to present ideas to clients in a professional, friendly way. Expect to be challenged constantly, and to enjoy the work along the way.

What will help you succeed

  • Self-starter who doesn't need micromanagement
  • Flexible and goal-oriented
  • Enjoys being challenged and learning something new every day
  • Strong passion for coding; promotes clean, maintainable code
  • Team player, yet autonomous, with a positive spirit
  • Picks up new technologies constantly and with ease
  • Understands the trade-offs of working as a contractor vs. an employee

We trust you to organize your day, prioritize your week, and keep the team and clients updated as you go.

Requirements

Language

  • Fluent Spanish
  • Advanced English (able to hold a client conversation without difficulty)

Technical

  • 1–2 years of full-time coding experience in React and Next.js
  • Strong programming fundamentals: you can design, debug, and explain your code without AI assistance
  • Experience with React Native
  • Experience with JSON and RESTful services
  • Experience with Agile methodologies

Bonus

  • Unit and integration testing
  • Fluent English (B2+)
  • Concise, efficient written and oral communication

What we offer

  • Fully remote: work from home or anywhere you choose
  • Competitive pay: rates that compete with the best in the Latin American market, tailored to your seniority and skills, paid in the currency you prefer
  • Crypto payment available on request
  • Full-time contractor: you manage your own finances
  • Flexible hours: we work across time zones and trust you to get your work done on your schedule
  • Company culture: no rigid hierarchy; hard work and enjoying the journey are not in conflict
  • Gaming: online games with colleagues over Discord is a regular thing here
  • Broad technical exposure: many technologies and challenges in a short time; you won't get bored in the same repositories
  • International clients: US, Canada, Germany, and beyond, with the languages and cultures that come with them
  • Professional development: sponsored online courses and certifications on demand
  • Career development: build expertise across industries, not only in code

Interested?

If this sounds like you and you meet the minimum requirements, apply.

🎯 Who is this job for?

This role is suitable for a Middle-level (Semi-Senior) Frontend Developer based in Latin America, with 1–2 years of professional experience in React and Next.js. The candidate should have strong JavaScript, React rendering, semantic HTML, browser performance, HTTP, JSON, REST, React Native, and Agile skills, with fluent Spanish and advanced English. They should be comfortable independently designing, debugging, explaining, testing, and maintaining code, switching between client projects, collaborating with international clients, and working effectively with AI development tools.

💬 Potential Interview Questions

1. How does React’s rendering model work, and what typically causes a component to re-render?

A component re-renders when its state changes, its parent renders, or its props change. React reconciles the resulting virtual tree and updates only the necessary parts of the DOM; memoization can reduce unnecessary renders when used appropriately.

2. What is the difference between server-side rendering, static generation, and client-side rendering in Next.js?

Server-side rendering generates HTML for each request, while static generation generates pages at build time or through incremental regeneration. Client-side rendering sends a minimal page and fetches or renders most content in the browser, so the choice depends on freshness, performance, SEO, and application interactivity.

3. How would you fetch and manage data from a RESTful JSON API in a Next.js application?

I would define a clear API layer, handle loading, success, empty, and error states, and validate or safely map the response data. Depending on the requirements, I might use server-side fetching, route handlers, or a client library such as React Query for caching, retries, and synchronization.

4. How do you prevent unnecessary re-renders and improve performance in a React application?

I first identify the bottleneck with profiling tools rather than adding optimizations blindly. Typical techniques include stable component boundaries, appropriate use of React.memo, useMemo, and useCallback, list virtualization, code splitting, lazy loading, and avoiding unnecessary state or context updates.

5. How would you design an accessible and semantic form in React?

I would use native semantic elements such as form, label, input, button, and fieldset, associating labels with controls and exposing validation errors clearly. Keyboard navigation, focus management, appropriate input types, and accessible status messages are essential, while ARIA should supplement native HTML rather than replace it.

6. What is the difference between controlled and uncontrolled components in React, and when would you use each?

A controlled component stores its value in React state, giving the application complete control over validation and behavior. An uncontrolled component keeps its value in the DOM and is accessed through refs, which can be simpler for basic forms or reduce state updates in large forms.

7. How would you handle authentication and protected routes in Next.js?

Authentication should be enforced on the server or at the API boundary, not only by hiding client-side UI. I would use secure, preferably HTTP-only cookies or a trusted authentication provider, validate sessions in server components or middleware where appropriate, and return unauthorized responses consistently.

8. How do HTTP caching, status codes, and error handling affect frontend applications?

Status codes communicate outcomes, such as 2xx for success, 4xx for client or authorization problems, and 5xx for server failures. I would use cache headers and client-side caching carefully, distinguish recoverable errors from fatal ones, and provide useful fallback states without exposing sensitive implementation details.

9. What considerations are important when sharing code between React and React Native?

Business logic, API clients, validation, types, and state management can often be shared, while UI components must account for platform-specific primitives and behavior. I would isolate platform differences through separate files, abstractions, or platform-aware components and avoid assuming browser APIs exist in React Native.

10. How would you test a React or Next.js feature?

I would unit-test isolated logic and components, then use integration tests to verify user flows such as form submission, API handling, and navigation. Tests should focus on observable behavior using tools such as Jest or Vitest and React Testing Library, with mocks kept minimal and meaningful error and loading states covered.

📋 Job Summary

Cloudnonic is a fully remote Canadian cloud and software company delivering AI-first, cloud-native solutions for international clients. As a Semi-Senior Frontend Developer, you’ll build and improve multiple client applications, collaborate directly with clients in English, and work across React, Next.js, React Native, JavaScript, JSON, and REST APIs. This is a full-time contractor role open to candidates living in Latin America, with flexible hours and competitive pay tailored to your experience and skills, paid in your preferred currency. Apply to gain broad technical exposure, work with international teams, access sponsored training, and grow across diverse industries without rigid hierarchies.

Required Skills

React Next.js JavaScript React Native HTML APIs Unit Testing

Never miss a JavaScript opportunity

Subscribe to get similar jobs and weekly insights delivered to your inbox

Hiring JavaScript developers?

Post your job to 8,800+ registered developers. Starting free.

See Pricing

Is this your listing? Claim or request removal