Senior Software Developers collaborate with Business and Quality Analysts, Designers, Project Managers and more to design software solutions that will create meaningful change for our clients. They listen thoughtfully to understand the context of a business problem and write clean and iterative code to deliver a powerful end result whilst consistently advocating for better engineering practices. By balancing strong opinions with a willingness to find the right answer, Senior Software Developers bring integrity to technology, ensuring all voices are heard.
For a team to thrive, it needs collaboration and room for healthy, respectful debate. Senior Developers are the technologists who cultivate this environment while driving teams toward delivering on an aspirational tech vision and acting as mentors for more junior-level consultants. You will leverage deep technical knowledge to solve complex business problems and proactively assess your team’s health, code quality and nonfunctional requirements.
Job responsibilities
Develop and maintain scalable backend components using Elixir and Phoenix, which are aligned with the principles of Clean Architecture and DDD.Design and structure complex solutions based on functional programming.Implement solid domain models and decoupled modules, maintaining a focus on maintainability and scalability.Collaborate with architects and other technical teams to ensure system integrity and alignment with best practices.Lead code reviews and promote best development practices, such as TDD and continuous integration.Guide junior team members in implementing Domain-Driven Design and architectural patterns.Experience developing with the functional programming paradigm and are capable of applying clean architecture principles and DDD to create robust and scalable solutions, we want to meet you.
Job Qualifications
Technical Skills
You have experience using one or more development languages (Java, Kotlin, JavaScript, TypeScript, Ruby, C#, etc.) with experience in Object-Oriented programming.You can skillfully write high-quality, well-tested code and you are comfortable with Object-Oriented programming.You are comfortable with Agile methodologies, such as Extreme Programming (XP), Scrum and/or Kanban.You have a good awareness of TDD, continuous integration and continuous delivery approaches/tools.Bonus points if you have working knowledge of cloud technology such as AWS, Azure, Kubernetes and Docker.
Professional Skills
You enjoy influencing others and always advocate for technical excellence while being open to change when needed.Presence in the external tech community: you willingly share your expertise with others via speaking engagements, contributions to open source, blogs and more.You’re resilient in ambiguous situations and can approach challenges from multiple perspectives.
Other things to know
Learning & Development
There is no one-size-fits-all career path at Thoughtworks: however you want to develop your career is entirely up to you. But we also balance autonomy with the strength of our cultivation culture. This means your career is supported by interactive tools, numerous development programs and teammates who want to help you grow. We see value in helping each other be our best and that extends to empowering our employees in their career journeys.
About Thoughtworks
Thoughtworks is a global technology consultancy that integrates strategy, design and engineering to drive digital innovation. For 30+ years, our clients have trusted our autonomous teams to build solutions that look past the obvious. Here, computer science grads come together with seasoned technologists, self-taught developers, midlife career changers and more to learn from and challenge each other. Career journeys flourish with the strength of our cultivation culture, which has won numerous awards around the world.
Join Thoughtworks and thrive. Together, our extra curiosity, innovation, passion and dedication overcomes ordinary.