Senior Full Stack (.Net) Developer for Ciklum Digital

Islamabad, Pakistan

Apply

Ciklum is a Software Engineering and Solutions Company. Our 3,000+ IT professionals are located in the offices and delivery centres in Ukraine, Belarus, Poland and Spain.

As Ciklum employee, you'll have the unique possibility to communicate directly with the client when working in Extended Teams. Besides, Ciklum is the place to make your tech ideas tangible. The Vital Signs Monitor for the Children’s Cardiac Center as well as Smart Defibrillator, the winner of the US IoT World Hackathon, are among the cool things Ciklumers have developed.

Ciklum is a technology partner for Google, Intel, Micron, and hundreds of world-known companies. We are looking forward to seeing you as a part of our team!

Read more about the client

Description

On behalf of the Ciklum Digital, Ciklum is looking for a Senior .Net Developer to join the Islamabad team on a full-time basis.

You will join a highly motivated team and will be working on a modern solution for our existing client. We are looking for technology experts who want to make an impact on new business by applying best practices and taking ownership.

Responsibilities

  • Back-end development of new functionality using .Net Core
  • Front-end development using Angular 8 and above
  • Create and maintain modern interfaces according to unit standards.
  • Participating in code and architectural reviews, documenting architecture
  • Communicating with stakeholders: PMs, developers, architects, QA engineers and other colleagues
  • Proactive position in solution development, processes improvements
  • Delivering the product roadmap and planning for the future
  • Handle complex problems that might arise during solution development and provide field support with creative and rapid solutions
  • Ensure that the highest coding standards are met and write highly testable, automatable and performant code over the whole SDLC

Requirements

  • More than 5 years of experience in commercial software development
  • Excellent knowledge of computer science and computing theory:
    • OOP, DDD, SOLID, TDD, BDD
    • Database theory (RDBMS, NoSQL)
    • Algorithms and data structures
    • Design, architectural and enterprise patterns
  • Understanding of network protocols and conventions (e.g. HTTP, REST), authentication and authorization flows and practices
  • Excellent knowledge and experience with C# and .NET
  • Excellent knowledge and experience of .Net core
    • Authentication and Authorization
    • Entity framework
    • ASP.NET Core Middleware
    • Routing
    • Web API
    • Dependency injection 
  • Good understanding of 
    • HTML/CSS. Preprocessors, Methodologies
    • JavaScript. Core, Performance, Security
    • Application state management
    • Package management, Module bundling;
    • CI/CD 
    • oAuth, JWT
    • HTTP, REST API
    • Angular (Components, Routing, Services, Forms, Testing, Performance, Pipes, Directives, HttpClient)
    • TypeScript
    • RxJS
    • Patterns (Observable, Decorator)
    • State management (NgRx);
  • Commercial experience with: 
    • .NET Framework,  ASP.NET (Core, MVC, WebAPI)
    • ORM (e.g. Entity Framework, Dapper)
    • LINQ
    • Influx DB
    • RDBMS (especially SQL Server)
    • Messaging systems (e.g. RabbitMQ, ServiceBus)
    • Cloud providers (e.g. Azure)
    • Testing frameworks (e.g. NUnit, XUnit, MSTest)
    • Continuous Integration (e.g. TeamCity, GitLab, Jenkins)
    • Web Servers
    • Version control systems (e.g. GIT) 
    • Containerization and orchestration (Docker, Kubernetes)

Desirable

  • Experience with .Net Core development targeting deployment on Linux
  • Experience with grafana
  • Experience with NoSQL (e.g. Mongodb, DynamoDB)
  • Experience with Search Engines (e.g. ElasticSearch, Azure Search)
  • Experience with REST API development for mobile application
  • Experience with integration with 3rd party solutions
  • Knowledge of key-value storages (e.g. Redis, Memcached)

Personal skills

  • A curious mind and willingness to work with the client in a consultative manner to find areas to improve
  • Good analytical skills
  • Good team player motivated to develop and solve complex tasks
  • Self-motivated, self-disciplined and result-oriented
  • Strong attention to details and accuracy

What's in it for you

  • Close cooperation with the client
  • A constant flow of new projects
  • Dynamic and challenging tasks
  • Ability to influence project technologies
  • Projects from scratch
  • Team of professionals: learn from colleagues and gain recognition of your skills
  • European management style
  • Continuous self-improvement

Client video presentation