Una candidatura completa en un minuto
Currículum y carta de presentación personalizados, listos para enviar.
SOUND DECISIONS in the United States is seeking a junior software engineer who wants to understand how software truly works, not just compile it. You’ll learn from a senior team, gain production exposure early, and grow debugging skills while ensuring code quality and reliability.
You’ll work on frontend and backend tasks with Node.js and TypeScript, apply AI tools responsibly, and contribute to a structured learning environment focused on craftsmanship and professional growth.
ARE you a junior software engineer who wants to understand how software actually works, not just how to make it compile? Are you the type of person who reads the stack trace before asking, who wants to know why the system is built the way it is, and who would rather learn from engineers with decades of production scars than from a tutorial? If you are early in your career and craving the kind of environment where you become exceptional rather than merely employed, this could be the opportunity for you.
We focus on building highly scalable, reliable merchant payment technologies using the latest, most reliable technologies and engineering practices. We use modern AI tools to accelerate implementation, improve documentation and increase test coverage. AI is an engineering aid, not a substitute for judgment, communication, review or accountability. AI is an engineering aid, not a substitute for judgment, communication, review or accountability. AI is an engineering aid, not a substitute for judgment, communication, review or accountability. The core belief is that we grow through great minds, discussions and collaborations, and success is driven through a series of great judgments and decisions by people who love the craft of creating software. This role exists to give you Silicon Valley startup experience inside a structured, deliberate learning environment: a small senior team, real production scope early, and the time and mentorship to develop into an exceptional engineer. Your purpose in the first year is to develop a great understanding of the craft and excellent debugging skills, so that you become the bulwark between what AI produces and what reaches a customer.
Working knowledge of software development fundamentals: data structures, complexity, state, and how a request moves from a browser to a database and back. We care more about how you reason than how long you have been paid to do it; there is no minimum years requirement.
Experience with, or demonstrated ability to learn, TypeScript and full-stack web development.
Familiarity with Git and the core concepts of pull requests, merging, branching and code review.
A decent level of maturity with AI coding tools: you have used them on in personal or open source projects, you have been burned by them at least once, and you can describe what you check before you trust the output.
The ability to work independently on defined tasks while asking for help when appropriate, and the judgment to tell the difference.
Comparable experience counts. Building backend or full-stack applications with Node.js and TypeScript is directly relevant; Scala and functional programming are valuable but not required. (Note: this experience does not have to come from a professional setting, but the expectation is that it can be delivered at a professional level.)
Develop how to understand priorities: know which ticket matters this week and why.
Learn to provide solutions, not just problems: arrive with what you tried, what you found, and what you think.
Learn to anticipate needs: if a change touches the portal, you already checked who consumes it.
Build credibility: small promises kept, every time.
How to debug from first principles: read the trace, form a hypothesis, isolate, prove it, then fix it. This is the skill AI cannot do for you and the one that makes you valuable.
How production payments software is designed for correctness under rules that change.
How a functional-programming codebase (Scala) thinks, and why a type system is a design tool rather than a chore.
How to get precise, measurable output from AI tooling: clean instructions, scoped sessions, verification before merge.
How to write documentation and tests that a stranger can trust six months later.
Attention to detail and the ability to spot ambiguities
proficient managing your time and accountable for your actions.
Great at communicating: clear writing and speaking in all channels, an active listener, and the wisdom to understand (OR ask) the forum in which ideas and concepts should be challenged.
Able to explain what you built and why to a senior engineer and to a business counterpart without hiding behind jargon.
Able to work with guidance, balance multiple activities, and meet deadlines, and to take instruction and turn it into shipped code without needing it repeated.
Operating with integrity.
Considerate of who's in the room and who needs to be in the room.
Taking notes in meetings for yourself and being personally organized.
Being able to say what you know, what you don't, and what you'd need to find out
A growing sense of risk awareness: knowing when a change is routine and when it touches money.
Always learning new things.
Dedication to professionalism in all settings.
Receptive in code reviews: treating feedback as the fastest way to get better, and learning to give it constructively in return.
You value preparation: you research potential solutions to a problem (search the codebase, read the docs, try the obvious thing) before escalating it to the wider team.
Poor time management.
Not asking questions when the situation calls for it, or asking before trying.
Inconsiderate of other people's time.
Example: if the question can be solved with Let me google (or search the codebase) that for you.
Delegation to AI without verification. AI is probabilistic, and trusting a probability is always 100% is the same as gambling. Shipping unverified generated code is the single fastest way to lose trust here.
Attacking people's character, and not a piece of work.
Avoiding challenging conversations.
Needing to be managed line by line.
Experience with React
Any demonstrable real world products, or prior professional experience
Experience with Scala or functional programming, or comparable experience building backend and full-stack applications, for example Node.js using TypeScript.
Exposure to Kubernetes and/or Docker concepts.
Personal, academic, internship or open-source experience building full-stack applications, APIs, integrations or workflow automation.
Prior experience in a startup or similarly fast-moving environment.
Experience using AI-assisted development tools with a willingness to learn responsible review, testing and security practices.
Fintech or e-commerce domain exposure.
The team understands that a bug can take hours and a new feature can take minutes with AI, and has the ability to weigh those efforts correctly. Lines of code does not make the engineer, nor do shiny new buttons.
Committed to developing implementations of repeatable success through coding standards, knowledge repositories for AI, and implementing reliable, consistent solutions.
Retrospective learning on what can be done better in the future.
A dedication to quality assurance using the latest tooling, and a commitment to higher reliability and coverage through research-driven, best-practice implementations.
A commitment to delivering value to our customers through great engineering.
Contribute to software development across multiple projects and languages.
Maintain existing systems and implement new features in a full-stack capacity.
Help translate product and business workflow requirements into practical software solutions.
Support prototyping of new products and integrations, including reference implementations and UML-based integration mappings.
Create and maintain clear User Guides, API documentation, and implementation documentation.
Write unit, functional, and automated tests with guidance from senior engineers.
Use AI tools responsibly to accelerate learning, coding, debugging, documentation, and test creation, and validate everything they produce.
Participate in Git-based code reviews and apply feedback constructively.
Follow the concepts of an agile process and contribute to planning, delivery, and continuous improvement.
Communicate clearly, raise risks early, and collaborate with teammates across engineering and product.
This role carries a full-stack title and, since everyone here uses AI first, a good share of the work is maintenance across the stack: understanding existing code, extending it safely, and keeping the services that consume our common libraries and present data to merchants reliable. Early on you will work closest to the portal and the outlying services; as you learn the system you will take on non-architectural tickets end to end, front end and back end, and you will be in the room for the design discussions that shape them.
SD Screening
SD Ran Technical Discussion (not a coding test)
SD Ran Behavioral
First Client Interview
Technical Discussion + Working Session
CEO Meeting
In-Person Fly Out Meeting (where a member of the engineering team will come and spend time in person)
Our client covers 85% of the employee premium for medical, dental and vision and 30% of the Dependents premium. Medical benefits are provided by Anthem Blue Cross PPO.
Basic Life Insurance
Long-term disability
FSA
Participation is available on the 1st of the month after the start date
Twice a year travel for inperson events with the team.
Monthly shared workspace reimbursement
Monthly work from home expense reimbursement
A 401k and Roth IRA provided by Betterment.
All full-time employees are eligible to participate in the plan after 1 month of employment.
Our client has a 100% match of the first 2% of deferred compensation to eligible employees.
Unlimited planned vacation days
Each quarter everyone in the company takes 1 day off
A dedicated focus and environment to help you develop into a great engineer.