Senior Software Developer - Expert
About Value Chain Factory
At Value Chain Factory, we foster a vibrant and inclusive culture where creativity thrives. Our team is driven by collaboration, innovation, and a shared passion for excellence. We believe in empowering our employees to take initiative and contribute their unique perspectives. With flexible work arrangements, ongoing professional development, and a commitment to work-life balance, we create an environment where everyone can grow and succeed together. Join us and be part of a community that values diversity, encourages open communication, and celebrates achievements!
About the Job
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.
Skills
Core technical skills
- Strong development and coding skills. Elixir, including OTP concepts (GenServer, supervision trees), concurrency, and fault tolerance patterns are an added advantage.
- Experience building web applications using VueJS, NuxtJs or Ruby; (Phoenix LiveView is a plus), REST/GraphQL APIs, and background job processing.
- Strong relational database skills: data modeling, SQL, performance tuning, indexing, migrations, and ORM usage (e.g., Ecto, ActiveRecord).
- Solid understanding of software architecture: modular design, scalability, resiliency, security-by-design, and maintainability.
Testing, quality, and reliability
- Testing mindset and strong experience with automated tests (unit/integration), mocking/stubbing, and regression coverage.
- Debugging and troubleshooting skills across application, database, and infrastructure layers.
- Familiarity with observability practices: logs, metrics, tracing, alerting, and incident response patterns.
Engineering tools and delivery
- Proficiency with Git workflows, Kanban management, code review practices, CI/CD pipelines, and deployment approaches.
- Comfortable working with containerization and common environments (Linux servers, cloud hosting, reverse proxies, etc.).
- Ability to write and maintain technical documentation: design docs, runbooks, specs, and API documentation.
Product and collaboration skills
- Strong ability to analyze requirements, ask clarifying questions, and convert them into implementable solutions.
- Ability to collaborate with UX/UI teams and deliver interactive, user-friendly applications.
- Clear communication and stakeholder alignment, especially on trade-offs, risks, and delivery timelines.
Competencies
Leadership and ownership
- Demonstrated leadership: taking ownership of outcomes, guiding technical direction, and mentoring team members.
- High accountability and strong delivery discipline—able to plan work, hit milestones, and manage priorities.
Analytical and problem-solving
- Strong systems thinking: can break down complex problems, identify root causes, and design robust fixes.
- Ability to interpret complex technical information and communicate it clearly.
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.
Added advantages
- Exposure to multiple languages or stacks beyond Elixir (e.g., JavaScript/TypeScript, Go, Python, Java).
- Experience with performance optimization, distributed systems patterns, or high-availability deployments.
- Familiarity with UI frameworks/toolkits and delivering polished user experiences.
- Prior experience in regulated environments or working with formal standards and documentation requirements.