Hire me

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.

To get in touch, drop me an email or send me a tweet @hakant. I'll be happy to talk to you or answer your questions.

Here are a few things that makes me tick and some ways that I can help your development team:

Skills

The following table contains a list of technologies, platforms and patterns that I’ve got hands-­on experience with:

Technology, Platform, Pattern (per category)
Languages C#, Javascript, TypeScript
Environments Windows, MacOS, Powershell, Bash
Main Platforms .NET, .NET Core, Node.js, Xamarin Android
Backend Frameworks ASP.NET MVC, ASP.NET Web API, ExpressJS, NancyFX
IoC, ORM Ninject, Autofac, Simple Injector, Unity, LLBLGen, Entity Framework
Frontend Frameworks Angular, Aurelia, Knockout.js
Testing WebDriver, Protractor, NUnit, XUnit, Jasmine, Testem
SQL Microsoft SQL Server, Azure SQL Database
NoSQL Azure DocumentDb, AWS DynamoDb, MongoDb, Redis
Other Storage Azure Blob Storage, AWS S3, Azure Table Storage
Cloud - Azure Cloud Services, App Services, Service Fabric
Cloud - AWS AWS EC2, Elastic Beanstalk
CI, CD Pipelines TFS, VSTS, AppVeyor, CircleCI, TravisCI
Architecture [1] Component Based, N-Tier, Domain Driven Design
Architecture [2] (Micro)Service Oriented, Message Bus, Event Driven

Software Development

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

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.

Software Architecture

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.

Automated Testing

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.

Code Reviews

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.