Position: Senior .NET Developer
Company: Ciklum
Experience required: 3y
English level: intermediate

**Description**
On behalf of Ciklum Digital, we are looking for a Senior .NET Developer to join our team on a full-time basis.

Ciklum is building a team to work on various projects which primary goal to improve and automate the customer’s business processes, reduce time and efforts, required for various operations.

**About project**:
Hundreds of companies, from startups to large enterprises, are choosing this client’s solutions and software over traditional solutions. Our client delivers unmatched simplicity, agility & value through their key values:

Client Driven – Customisation software and service, tailored to clients requirements to maximise their return on investment
Innovative – they develop highly flexible technology with smarter solutions to meet ever-changing needs
Team Focused – They are employee-owned. They are committed to better products, services and processes
Problem Solvers – They are not satisfied with the status quo and constantly strive to enhance their software and services
Process Driven – Using Agile and Scrum process tey provide training and structure to ensure that there is process behind everything they do

**What we are looking for**:

We specialize in the delivery of high quality web-based applications for participants and administrators for equity-based incentive and share plans. We are headquartered in Ireland and we also have a world class software development team located in Lisbon. We are looking for a C# .NET Software Engineer interested in working with the latest web application technology.

This is a varied role in a fast paced, agile/scrum environment. You will be required to work on your own initiative and produce robust, high quality code under the guidance of the other developers within the team. Ensure all QA procedures are satisfied in terms of process and documentation.

Develop new features within the application. Fix bugs assigned to you by the development manager. The software team produces high quality web applications for participants and administrators of Equity/Share plans, across multiple countries and languages. We use some of the latest Microsoft technologies, and aim to keep the team up-to-date with new technology releases.

**Responsibilities**
- Back-end development to meet customer’s business needs and implement components according to modern software development environment (cloud-based platforms, microservice architecture, etc.)
- Taking part in the decision-making process in design application architecture, solution development, architecture and code review
- Develop and review feature design documents and provide inputs/update to specifications for the solution
- Design and implement a set of various types of tests (unit, integration, functional, etc)
- Proactive position in solution development, processes improvements
- Working in an international distributed team in an Agile environment
- Communicate with PMs, engineers, Architects, QA and other colleagues and stakeholders
- Delivering the product roadmap and plannings
- To use high coding standards, software best practices and write highly testable, automatable and performant code over the whole SDLC

**Requirements**
- Experience in software development for more than 5 years

- Excellent knowledge in Computer Science, Computing Theory:
‣ Paradigm & Principles (OOP, SOLID, DDD, TDD, BDD)
‣ Database theory (RDBMS, NoSQL)
‣ Code testing practices
‣ Algorithms
‣ Data structures
‣ Architectural, Enterprise and Design Patterns
‣ Security patterns, Reverse engineering resistance, Common attacks types (OWASP)

- Understanding of network interactions:
‣ protocols
‣ conventions (e.g. REST, RPC)
‣ authentication and authorization flows
‣ standards and practices (e.g. oAuth, JWT)

- Excellent knowledge and experience in C# and .NET 5/4 (more than 3 years)

- Practical commercial experience with:
‣ REST API development, including Web API and Swagger (OpenAPI)
‣ .NET Framework, .NET Core, ASP.NET (Core, MVC 3/4/5, WebAPI) (more than 3 years)
‣ Experience in Test Frameworks such as Moq/xUnit (more than 2 years)
‣ ORM (e.g. Entity Framework, Dapper) (more than 2 years)
‣ Strong TSQL / SQL Server Knowledge
‣ RDBMS (e.g. MySQL/MariaDB, PostgreSQL)  (more than 4 years)
‣ Key-value storages (e.g. Redis, Memcached)
‣ Messaging systems (e.g. RabbitMQ, Azure ServiceBus, Apache Kafka, 
‣ Active MQ, AWS SQS, Google Pub/Sub)
‣ Web Servers
‣ Use of GIT in Development activity
‣ Cloud computing platforms (e.g. Microsoft Azure, AWS, Google Cloud Platform)
‣ Continuous Integration tools (e.g. Gitlab Pipeline, Jenkins, TeamCity, Bamboo)
‣ Builders
‣ Expert understanding of Design Patterns
‣ Extensive Software Analysis and Design experience
‣ Scrum Methodology – preferably with Agile Certification (CSM, PSM)
‣ Advanced knowledge of Identity and Access Management (IAM) Frameworks
‣ OAuth2 / OpenID / SSO via SAML 2.0

- Experience with:
‣ Troubleshooting, profiling and debugging applications
‣ Creation software architecture and design of complex applications, platforms, microservices solutions
‣ Agile software processes and technologies
‣ Code Review process
‣ Refactoring process
‣ Fluent or Upper-Intermediate English

**Desirable**
- Certifications on:
‣ Microsoft Certified Developer
‣ Cloud computing platforms (Microsoft Azure, AWS, GCP)

- Understanding of orchestration and containerisation (e.g. Kubernetes, Swarm)
- Knowledge in Deployment patterns
- JQuery / Ajax / Angular
- LINQ
- Elasticsearch
- HTML5 / JavaScript / CSS3
- OData
- UML Experience
- UI Design / UX
- Responsive Design
- Financial Information eXchange (FIX) Protocol experience
- Knowledge of caching technologies such as Redis
- Enterprise Library Blocks (Data, Caching)
- Deployment and configuration management tools like Docker

**Personal skills**
- Perform a broad range of complex technical or professional activities, in a variety of contexts
- Investigate, define and resolve complex issues
- Able to work in distributed cross-functional teams effectively
- Influence customers and team members on the project level
- May supervise others or make decisions which impact the work assigned to individuals or phases of projects
- Plan, schedule and monitor your own work (and of others where applicable) competently
- Have learning agility (readiness for challenge and being open to change)
- Confident Intermediate English (or higher) is a must

**What's in it for you**
- Career growth opportunities
- Realization of your innovative ideas in building new solutions and services
- Possibility to propose solutions on a project
- Friendly collaborative teams and enjoyable working environment
- Professional skills development and training programs
- Variety of knowledge sharing, training and self-development opportunities
- Learn different business domains
- Constant flow of new projects
- Dynamic and challenging tasks
- Projects from scratch
- Continuous self-improvement
- State of the art, cool, centrally located offices with warm atmosphere which creates really good working conditions
- Long-term employment with 20 working-days paid vacation and other social benefits