Position: Trainee .Net Engineer
Company: Softserve
Category: .NET
Experience required: no_exp
English level: intermediate

**WE ARE
**The client has 4 products that are an important part of the ERP environments of many companies.  Those solutions are written on old technologies that lead to high-cost development, support and maintenance. We made the strategic decision to transit products to the cloud and move products to the new technology stack. Implementation of those changes would allow more flexibility of the products’ fragmentation and capability to customize solutions’ functionality for every given client. The client also acquired a third-party company, with intention of reusing existing programs and services for the new application.   

**Project Scope Details 
**
Major features of envisioned enterprise workflow automation solution: 

Configurable workflow engine 
Reusable adaptors for data capture 
Integration with enterprise systems 
Web-based user portal 
Data transformations 
Content distributions  


**What Software Engineer will do on the project  
**
Be part of up to 10 developers' team  
Contribute to estimation and scoping of projects  
Work in a team which follows fast agile process with short sprint release cycle  
Resolve development issues of low and medium complexity  
Work with different 3-rd party libraries  
Work under moderate supervision and schedule own time to correspond to the overall development plan    

**What is required to success on this position 
**
Beginning knowledge in .Net Core 
Strong Time-management skills  
Acceptable spoken/written English so you can express your ideas and communicate them to other people   
Analytical and troubleshooting skills  
Ability to work under pressure  
Initiative and pro-activity 

**Technologies Knowledge 
**
.NET Core 3.1 
EF Core (with Npgsql driver for Postgres database) 
DDD (Domain Driven Design) 
Unit/Integration testing with xUnit 

**What is not required, but would be appreciated 
**
PostgreSQL 
DI – built-in dependency injection 
Serilog (logging with predefined syncs for ELK) 
Polly (resilience & fault handling) 
Evolve (database migrations automation) 
GrapgQL 
Docker (container engine) 

**General skills and abilities 
**
Agile/Scrum experience 
Decision making 
Good analytical thinking 
Result orientation 
Detail orientation 
Flexibility 
Responsibility 

**Overall Technical Stack of the project 
**
Front-end (FE) :
The primary framework is Vue.js  
Additional libraries & components:  
Bootstrap 4 
Font Awesome 5 (icons set)  
Cypress (e2e FE testing framework)  
Angular Material theme (optional) 
ngrx/effects for API requests 
SASS/LESS, styles compilation & minification 
Toastr (non-blocking notifications)  
Moment (date/time conversion and formatting)  

Back-end (BE) :
The primary framework is .NET Core 3.1 (BE and WebAPI layer development)   

Additional technologies & libraries: 
 • EF Core (with Npgsql driver for Postgres database) 
 • DI – built-in dependency injection 
 • Serilog (logging with predefined syncs for ELK) 
 • Polly (resilience & fault handling) 
 • Evolve (database migrations automation) 
 • Docker (container engine)  

 Cloud 

The primary cloud selection is MS Azure for the delivery and deployment simplification. 
 Basing on the cloud provider selected, the following services would be used: 
 • AKS Cluster 
 • ACR Container Registry 
 • Azure Active Directory 
 • Analytics: Azure Stream Analytics 

Database: 
 PostgreSQL  
DevOps & monitoring :

Concerning the operational part, it was decided if Azure DevOps Services (i.e. cloud version) should be used for the CI/CD and Project tracking needs.  

Monitoring & logging: 

 • ELK stack (Elastic Search/Logstash/