Do you know
askblue?
We were born in 2013, and we provide services in the field of information technology.
We are looking for a Senior Software Engineer (AI) to join our company in one of our projects, in Lisbon.
Tasks:
- Be comfortable with experimentation; be willing to approach a problem in multiple ways via rapid prototyping;
- Writing clean, maintainable code using .NET C#, along with other modern tools such as Kafka and PostgreSQL. Contributing to the foundational good of their technology area and engineering overall, helping to define patterns and canonical examples, plus paying down tech debt and ensuring the best security options are taken.Consistently delivering code that sets the standard for quality and maintainability by following coding best practices, using patterns wherever possible, coding for extensibility, and writing in supportability (i.e. logging, monitoring, profiling tools, etc.);
- Regularly delivering high-quality, working software as part of the team. Being able to complete any well-defined story on their team's backlog, as well as new projects and initiatives from scratch. Managing open-ended problems and ambiguity in tasks and stories by proactively and sometimes independently resolving blockers;
- Building a deep, expert understanding of the team’s codebase. Having a deep understanding of the team's codebase and specialized expertise in many relevant technical areas for the team (e.g. data migrations, deployments, or specific modules or workflows). Demonstrating proficiency in all relevant technical skills and being able to move quickly. Maintaining awareness of industry trends and tools, and suggesting appropriate use cases within the team;
- Providing highly insightful, comprehensive code reviews with an eye towards bigger-picture concepts. Writing highly insightful, comprehensive code reviews with an eye towards bigger-picture concepts like backwards incompatible changes, new dependencies, and potential performance issues;
- Ensuring documentation exists for all critical systems and creating it when it does not. Writing technical guides that are available internally and widely used by other Engineers;
- Monitoring dashboards/alerts and responding to incidents with the appropriate level of urgency. Coordinating the team to ensure effective logging, alerting, and monitoring are in place for all the components for which they are responsible. Proactively addressing recurring production issues;
- Driving technical decision-making, expertly identifying trade-offs and risks and considering organization-wide technical alignment. Executing pragmatically and consistently delivering high- quality, non-disruptive, customer-facing, and highly available releases. Debating teammates and other technical stakeholders about technical tradeoffs and decisions. Using analytics and product understanding to inform decisions and measure impact;
- Effectively diagnosing the root cause of complex bugs and providing a fix along with an automated regression test. Debugging issues throughout the stack, codebase, application, or system in various environments, finding and reporting the root cause or a viable workaround in a timely manner. Investigating production support issues raised by customers and providing workarounds or bug write-ups as a result;
- Leading specifications and refinement of technical improvements. Elevating testing practices;
- Mentoring, coaching, and empowering other Engineers by sharing knowledge through demos and presentations. Coaching the team to improve their agility. Mitigating risk by breaking down stories and pushing for smaller, more frequent releases. Being able to explain the technical challenges within their area of expertise to non-technical audiences on every story during refinements. Exercising empathy for their internal and external users and stakeholders. Helping to define team-level processes;
- Making well-reasoned design decisions, identifying potential issues, trade-offs, risks, and the appropriate level of abstraction. Demonstrating a deep understanding of the Product’s entire architecture, systematically thinking through potential design impacts on other teams and Enhesa. Having a deep understanding of how the system is used by dependent services and applications in terms of customer interactions, common workflows, pain points, and metrics.
Understanding and helping evolve the technical vision of the product or service.
Requirements:
- Education: Bachelor’s (or equivalent) degree in Computer Science or a related field;
- Experience: 5+ years of experience as a software engineer;
- Advanced (6+ years) C#.NET experience and expertise;
- Understanding of how to apply microservice architectures successfully, with knowledge of multiple patterns and techniques and the trade-offs of each;
- Experience with Front-End technologies like Angular or Node.js is a plus;
- Experience with event-driven architectures and event streaming/messaging tools like Kafka (preferred), RabbitMQ, etc., is a plus;
- Experience using databases - PostgreSQL, Redis, Elasticsearch, etc. Understanding which database is best deployed, depending on the use case;
- Accustomed to working in environments with CI/CD pipelines used for deploying applications;
- Proven ability to identify opportunities for best practice improvements within the team and share knowledge to address them;
- Ability to tackle highly complex technical problems independently;
- Track record of quickly learning about complex architectures and codebases;
- Experience working in an Agile environment;
- Technical leadership experience, including mentoring other Engineers;
- Excellent communication skills, ability to communicate clearly and effectively, adjusting style depending on the audience. Being an expert at communicating complex technical concepts to non-technical audiences in a concise manner, appreciating both the need for a shared understanding and the need to move quickly. Ability to identify risks and swiftly communicate them to the appropriate stakeholders;
- Showing initiative in tackling problems, executing pragmatically and making data-driven decisions;
- Fluency in English, Portuguese is a plus.
Work Arrangement:
- Hybrid (On-site 2x per week)
Offer:
If you are interested in the opportunity, upload your C.V. or send it to bernardo.carvalho@askblue.com with the reference #16788892 in the subject.
askblue - Where Business meets Technology