The Senior Software Developer will be in charge of designing, developing and installing software solutions. He/She will also focus in gathering user requirements, defining system functionality and writing code. In addition the senior Software Developer will lead team (s) that will build high-quality, innovative and fully performing softwares that comply with coding standards.
Job Description
Software delivery and SDLC ownership
- Own end-to-end delivery across the Software Development Life Cycle (requirements → design → build → test → deploy → support).
- Translate business/user requirements into clear technical specifications, solution designs, and implementation plans.
- Produce and maintain flowcharts, sequence diagrams, architecture notes, and technical documentation for both new and existing modules.
- Estimate effort, define milestones, and execute work in line with project plans and Value8 Group standards.
System design and architecture
- Design scalable, fault-tolerant, secure software solutions with clear boundaries and maintainable module structure.
- Make architectural decisions around performance, reliability, observability, and maintainability (including trade-offs and risks).
- Integrate software components into complete systems (APIs, services, background jobs, data stores, third-party integrations).
Development and code quality
- Write clean, testable, well-structured code (primarily Elixir), ensuring compatibility, stability, and maintainability.
- Conduct code reviews, enforce coding standards, and mentor developers on best practices.
- Implement automated testing (unit, integration, regression) and ensure high confidence releases.
- Maintain CI/CD workflows and deployment readiness for production environments.
Verification, QA, and operational excellence
- Develop software verification plans and contribute to quality assurance procedures (test strategy, QA sign-off criteria, release checklists).
- Troubleshoot, debug, optimize, and upgrade existing systems (performance tuning, stability improvements, defect fixes).
- Deploy programs, monitor outcomes, and incorporate user feedback into iterative improvements.
- Ensure systems remain updated with relevant enhancements, security patches, and latest features.
Collaboration and stakeholder management
- Work closely with UX designers, systems analysts, product owners, and other engineers to align solutions to user needs.
- Support cross-functional collaboration with marketing/sales and client-facing teams where technical input is needed.
- Communicate technical decisions clearly to both technical and non-technical stakeholders.
Leadership and team enablement
- Lead development teams by setting technical direction, prioritizing work, and ensuring high delivery standards.
- Mentor junior/mid-level developers through pairing, reviews, technical coaching, and structured feedback.
- Contribute to process improvement: engineering standards, documentation culture, release discipline, and incident learning.
Quality and attention to detail
- Meticulous approach to coding, testing, documentation, and release readiness.
- Strong appreciation for maintainability and long-term system health (not just “shipping fast”).
Professional collaboration
- Works effectively with cross-functional teams and thrives in environments requiring frequent coordination.
- Proactive in proposing improvements to product and engineering processes.
Qualifications
Education
- Bachelor’s degree in Computer Science, Information Technology, Software Engineering, or a related discipline (or equivalent practical experience).
Experience
- 4+ years of professional software development experience, with senior-level responsibilities such as mentoring, code reviews, technical ownership, or leading modules/projects.
- Proven track record designing and delivering interactive web applications (Phoenix, Vue.js, Nuxt.js, or equivalent).
- Hands-on experience with relational databases and production-grade data modeling and SQL.