Description
On behalf of Ciklum Digital , Ciklum is 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.
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 practicesAlgorithmsData structuresArchitectural, Enterprise and Design PatternsSecurity patterns, Reverse engineering resistance, Common attacks types (OWASP)
Understanding of network interactions : protocolsconventions (e.g. REST, RPC)authentication and authorization flowsstandards and practices (e.g. oAuth, JWT)
Excellent knowledge and experience in C# and .NET (more than 3 years)
Practical commercial experience with : REST API development.NET Framework, .NET Core, ASP.NET (Core, MVC, WebAPI) (more than 3 years)Testing frameworks (e.
g. e.g. NUnit, XUnit, MSTest) (more than 2 years)ORM (e.g. Entity Framework, Dapper) (more than 2 years)RDBMS (e.g. SQL Server, MySQL / MariaDB, PostgreSQL) (more than 3 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 ServersVersion control systems (GIT)Cloud computing platforms (e.
g. Microsoft Azure, AWS, Google Cloud Platform)DockerContinuous Integration tools (e.g. Gitlab Pipeline, Jenkins, TeamCity, Bamboo)Builders
Experience with : Troubleshooting, profiling and debugging applicationsCreation software architecture and design of complex applications, platforms, microservices solutionsAgile software processes and technologiesCode Review processRefactoring process
Fluent or Upper-Intermediate English
Desirable
Certifications on : Microsoft Certified DeveloperCloud computing platforms (Microsoft Azure, AWS, GCP)
Understanding of orchestration and containerisation (e.g. Kubernetes, Swarm)
Knowledge in Deployment patterns
Practical commercial experience with : Serverless architectureIntegration with 3rd party solutionsNoSQL (e.g. MongoDB, ElasticSearch, CouchDB)Experience with Search Engines (e.
g. ElasticSearch, Azure Search, Apache Solr)Provisioning tools (e.g. Terraform, Ansible)Quality tools (e.g. SonarQube)
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