Hi, I'm Hakan. I’m a software developer & architect with a passion for building quality software as effectively as possible.
I have over a decade of experience building software applications and served as lead developer on a number of large software projects. Please take a look at my LinkedIn profile for my work experience and a list my recommendations.
I'm available for new projects where I can add significant value, work with amazing people and build things that I'll be proud of.
Here are a few things that makes me tick and some ways that I can help your development team:
The following table contains a list of technologies, platforms and patterns that I’ve got hands-on experience with:
|Technology, Platform, Pattern (per category)|
||Windows, MacOS, Powershell, Bash|
||.NET, .NET Core, Node.js, Xamarin Android|
||ASP.NET MVC, ASP.NET Web API, ExpressJS, NancyFX|
||Ninject, Autofac, Simple Injector, Unity, LLBLGen, Entity Framework|
||Angular, Aurelia, Knockout.js|
||WebDriver, Protractor, NUnit, XUnit, Jasmine, Testem|
||Microsoft SQL Server, Azure SQL Database|
||Azure DocumentDb, AWS DynamoDb, MongoDb, Redis|
||Azure Blob Storage, AWS S3, Azure Table Storage|
||Cloud Services, App Services, Service Fabric|
||AWS EC2, Elastic Beanstalk|
||TFS, VSTS, AppVeyor, CircleCI, TravisCI|
||Component Based, N-Tier, Domain Driven Design|
||(Micro)Service Oriented, Message Bus, Event Driven|
I love writing code, so obviously, I'd also like writing code for you. I can work in a team, or by myself, as necessary; remote or on-site. These days, I prefer working with
- .NET (C#)
- .NET Core
- ASP.NET MVC
- Web API
- Polyglot Persistence: SQL, NOSQL, Blob, Key-Value, Graph
- Cloud platforms like Microsoft Azure, Amazon AWS
I love web programming, both front-end and back-end. I have a lot of experience with building and maintaining large SaaS systems that are scalable, resilient and highly available. In recent years, building software for cloud platforms has been a big part of my professional life - especially with Microsoft Azure.
Apart from my experience with hands-on coding and all the little details around doing that, I also have experience with system architecture. If you need help with the big picture, I may be able to help as well.
I like architectural discussions around resilience, scalability, idempotence, message passing, testability and tradeoffs between each layer of the test pyramid. One of the things that I'm finding interesting lately is the Reactive Manifesto.
I like looking at everything from an "it depends" perspective, and even more so when it comes to software architecture.
Getting automated testing right is crucial for anyone who wants to move faster without sacrificing quality.
I've written many types of tests (unit, component, integration, UI, end to end) and learned the pros and cons of each one of them by experience. Getting fast and correct feedback is the ultimate goal of testing.
I can help your team getting started with automated testing. I can also setup test frameworks for your projects. If you in fact want me to write tests for your projects, I'd also be happy to do so.
If you want me to review your code, I can gladly do that too. I particularly look for issues relating to readability, encapsulation, coupling, maintainability, etc.