wtorek, 28 lutego 2017

Astronauts exists. I've just meet one

In 2001 Joel Spolsky has wrote his great blog post about Software Astronauts. I have readed it in 2006, some times heard about astronauts in conferences but never meet any one in my professional life. Up to day. 

The best describe of "typical astronaut" we can find in legendary speak of Wojciech Seliga in Confitura 2012 (java concefence) in 7.45-9.00 (minute) link to his speach

Our astronaut:
- is old 
- excessive opinion about himself
- don't like to write code
- don't understand business domain (this is real scary)
- don't understand our company culture
- don't understand product that we are making (he treats it like another CRUD but we are not making CRUD app)
- all the time talk about the abstraction
- all the time talk about breaking changes in current architecture
- try to fix problems that don't exists
- making conflicts in team

Epilogue: that developer worked in our team about 2 weeks and had been moved to other team with different team leader. That team wants him to implement functionality of some basic control. Instead of that, after a week he don't show his code but came up with L4 (sick leave). 

czwartek, 23 lutego 2017

.NET Standard Library (Portable library)

About few months ago me and my team have started new project in .net core. We wanted to use the newest technology that is on market (in .net world). After few months we discovered, that not every component in .net ecosystem is written in ".net core way". For example EntityFramework (at this moment there is version EF.core) or WCF (at this moment we still need to use .net 4.6.2).

In one project we have library (.dll) that was used by:
a) .net 4.6.2 solutions (WCF)
b) .net core solutions (our main Web App, tests, and others)

First we used .net core library, after that we have changed to .net 4.6.2 library (and git have problems with branch changes old/new library). But in situations, when we need to use some library in both, .net core and .net 4.6.2 solution there is better way. It's called .NET STANDARD LIBRARY.

.NET STANDARD LIBRARY is a new library type project (.dll) that can be used in many different project types in example: .net 4.6.2, .net core, mobile applications. It have some limitations, but in general this is a big step in good direction.


There is good blog post in MSDN -> https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/

If you newer heard about .net standard library you should read about it.