Senior Software Engineer — Python-to-.NET Data Automation Migration
Ready to take the next step in your international career? We can support you!
Ubiminds is a GPTW-certified, people-first company that partners with American software product companies to scale their global teams. We connect top LATAM talent with international product companies while providing full employer-of-record support and long-term career development.
In this opportunity, you will join a global engineering organization undergoing an AI-native transformation, helping engineering teams adopt modern AI development workflows and significantly accelerate their productivity.
This role combines hands-on engineering expertise, AI tooling mastery, and developer enablement, helping teams integrate AI-powered workflows into their daily development processes.
Challenge
We are looking for an Senior Software Engineer — Python-to-.NET Data Automation Migration who will be the measurement backbone of the AI Accelerator engagement.
A short-term contract to consolidate, fix, and automate a set of existing data-movement scripts for the client. The scripts move data between two proprietary systems and are written in Python; some are functional and some are broken. The goal is a single, reliable, event-driven automated process that moves data from an AWS/S3 and Postgres source to a customer's preferred destination (MFT, S3 link, or SFTP), running in the client's .NET environment.
This process will be run repeatedly across hundreds of customers. Although the underlying platform is not intended to be long-lived, the engineering team will own and maintain this code after the engagement ends. Maintainability is therefore a firm requirement — the deliverable is clean, well-structured, documented .NET code that another engineer can pick up, not a throwaway one-off.
Responsibilities:
-
Reverse-engineer and fix existing scripts. Understand the current Python scripts (working and broken), diagnose why the broken ones fail, and correct or reimplement their intended behavior in .NET. The team understands the scripts but lacks the time to fix them — expect knowledge transfer, not a blank slate.
-
Port to maintainable .NET. Rebuild the logic in clean, well-structured C#/.NET that the team can
maintain and reuse across many customer runs. -
Automate the event-driven flow. Replace manual script execution with an automated, event-triggered process covering segmentation, binding, validation, and copy/move.
-
Build robust error handling. Implement logging, alerting, and retry mechanisms. Alerts and errors must clearly state what went wrong, in language an operator can act on.
-
Document and hand off. Deliver a runbook and handoff documentation sufficient for the team to run, monitor, and troubleshoot the process going forward.
Mandatory Skills:
-
Strong C#/.NET development experience, with an emphasis on clean, maintainable, well-documented code intended for handoff to another team.
-
Ability to read and understand Python — enough to reverse-engineer logic and intent from existing scripts, including scripts that do not currently run.
-
Hands-on experience with AWS data services, especially S3, and with Postgres.
-
Experience moving data to MFT, SFTP, and S3-based destinations, and integrating via APIs.
-
Experience designing event-driven processing (e.g. S3 event notifications, queues, Lambda, or equivalent triggers).
-
Robust error-handling design: logging, actionable alerting, and retry/idempotency for unattended jobs.
-
Practical debugging skill — diagnosing failures in unfamiliar, partially broken code.
-
Works independently; can scope, sequence, and deliver on a fixed 2-month timeline.
Nice to Have:
-
-
Reverse-engineer and fix existing scripts. Understand the current Python scripts (working and broken), diagnose why the broken ones fail, and correct or reimplement their intended behavior in .NET. The team understands the scripts but lacks the time to fix them — expect knowledge transfer, not a blank slate.
-
Port to maintainable .NET. Rebuild the logic in clean, well-structured C#/.NET that the team can maintain and reuse across many customer runs.
-
Automate the event-driven flow. Replace manual script execution with an automated, event-triggered process covering segmentation, binding, validation, and copy/move.
-
Build robust error handling. Implement logging, alerting, and retry mechanisms. Alerts and errors must clearly state what went wrong, in language an operator can act on.
-
Document and hand off. Deliver a runbook and handoff documentation sufficient for the team to run, monitor, and troubleshoot the process going forward.
-
Team & Environment:
- Distributed engineering teams across LATAM and the U.S.
- Highly collaborative environment focused on experimentation and innovation.
- Strong engineering culture centered on mentorship, knowledge sharing, and continuous improvement.
- Opportunity to shape AI-native engineering practices at scale.
- High visibility role working closely with engineering leadership.
- Experience designing internal engineering guilds, communities of practice, or centers of excellence.
- Experience building AI-enabled developer workflows in enterprise SaaS environments.
- Experience working in HR tech, AI platforms, or enterprise SaaS ecosystems.
- Experience creating technical curriculum or internal developer training programs.
- People First. We are all about people!
- Challenge yourself. There’s always room for improvement and continuous improvement is in our essence.
- Make it happen. Be ready to take challenges as they come. It’s all about attitude and commitment.
- We’re in this together. We work as a team, thrive as a team, and evolve as a team.
- Averaging on awesome. We work hard to deliver high-quality services and look forward to exceeding expectations.
- Keep it real. We promise you honesty, transparency, and openness, regardless of the situation.
- You are placed in a product-based company, with the same treatment as their full-time employees.
- Have our full back-office support, from career guidance to HR and concierge services.
- Enjoy our remote-first policy – we are a distributed team, after all.
- Get your own MacBook (none of that "bring your own device" stuff here).
- Have access to growth opportunities with other amazing technology professionals, through tech talks, chapter meetings, and even remote happy hours for tons of fun!
- Improve your English through free lessons with a native English speaker - get to the next level on your communication skills!
- Candidate Referral bonus (promote Ubi to your tech friends, and get paid for it!)
- Miss working in the office? Our cool Florianópolis headquarters is available, whenever you want, with weekly quick massages & tasty snacks, soft drinks, and games