one second

What I do

I am always looking for challenging projects ...

... particularly in the areas of web, "Big Data", and machine learning. Like the most engineers, I prefer greenfield projects, but I am also interested in helping you introducing new technologies in the brown field.

Consulting

You have an idea but you don’t know where to start? You have a prehistoric service and want to take advantage of modern technologies? You want to improve the performance of existing services? Furthermore I can help you to find the right project management tool, build systems, and tools to support continuous delivery and security development life-cycles (SDL)

Architecture

Software architecture is one of the most deciding parts in the software development process. Finding the best fitting architecture for your project is essential because wrong decisions will lead to longer development cycles and can cause exploding costs. Often start-ups give up before they published their service because they couldn't get it running in time. Finding the right architecture means finding an architecture (and also a development life-cycle) that allows you reducing the time to market while maintaining the necessary level of quality.

Implementation

When thinking about implementation the first thing that comes to most people's minds is software development, namely turning ideas into source code. Today many well known software development methods like Scrum and Extreme Programming exist. There is no "right" method since every project is different and therefore methods should be selected (or mixed) based on specific demands like the project budget and the size of the team. Also testing becomes more and more important today. As part of implementation I can help you write tests or build projects in a Test Driven Development approach.

Documentation

Documentation is essential to software development but often software projects suffer from missing documentation. In small teams that don't change in composition documentation might be less important. But as soon as your team grows, new team members should be able to get along by reading the project documentation. Documentation is more than just source code comments. It should also contains requirement definitions, iteration plans API docs as well as user manuals.

Knowing What Counts

Software products face many problems these days. This does not mean that such problems did not exist in the past. It simply means that we are aware of such performance indicators today. These problems can be broken down in 4 core problems that have the most impact on profitability. Maybe you will pay more attention to a specific problem. However, disregarding any one of the core problems will lead to loss of revenue in the long run.

Security

Nothing is so vital for your business like information security. Losing sensitive or confidential data means losing your business foundation or the trust of your customers which will lead to a loss of revenue. Even more importantly, not caring for security is grossly negligent. Security starts with the selection of the platform you will run you application on. Choosing the "right" technology can eliminate whole bug classes before writing a single line of code. I am not a security consultant. What I bring to the table is a good understanding of attack vectors ragarding ASP.Net web applications.

Reliability

Whatever can go wrong will go wrong. Software fails. If somebody is telling you their software is fail-safe they are lying. Depending on the effort you want to make and the level of reliability you want to achieve there are some approaches that can help to minimize the probability of software failure.
Software testing is not only good a tool for structuring source code (which, in my opinion is its major task), it also can also increase the reliability of your product. Important here is discipline and a good understanding of what can go wrong. 100% test coverage, however, is not a proof of correctness.
If you are looking for a more elaborated, academic way to provide reliability you might be interested in Design By Contract (DbC).

Scalability

While the growth of you business was predictable in the 90s, today it isn't. New marketing tools can lead to, literally, millions of new users. Over night. In a worst-case scenario you are not prepared to satisfy these requests and your impressive marketing campaign crumbles due to failure to deliver the product. Scaling does not only mean to scale up on times of high traffic. It also means to scaling down in times of low traffic and thereby reducing cost. If you achieve to perform scaling automatically you will maximize your efficiency and thereby your profit.

Performance

Nonperforming code causes slower execution. Slower execution means that you need to scale up to perform the same amount of computation. The same applies to unnecessary computation or file transfers. Optimizing applications for performance means eliminating the bottlenecks and employing techniques like caching, in-memory databases and realtime search.

Technologies

In terms of programing C# was my first love. I grew up- and have the most experience with it. I really appreciate its simplicity and the well documented class library. In contrast to many other runtime environments the CLR is available throughout the whole windows platform raging from .Net Micro Framework on embedded devices to complex server operating systems and the cloud. .Net provides memory management which does not only increases security but simplifies the development process drastically and makes it more efficient. Microsoft maintains the runtime and the languages which is a good thing since it keeps the .Net languages and its libraries consistent. Whenever you need documentation you will find it on MSDN.

What else?

I'm not a Microsoft evangelist. I would prefer any other technology over .Net if it performs- or integrates better. Writing real-time 3D applications in C# wouldn't make sense (I've tried that with XNA) and machine learning and data mining programs are easier to write in Python for instance. If it comes to search, Java is a more appropriate choice. The same applies to MapReduce-Jobs. Whatever you have in mind, I am sure I can help you.

  • HTML 5
  • CSS 3
  • JavaScript 6
  • AngularJS
  • Ubuntu
  • Bootstrap
  • Windows 8
  • Windows Azure
  • Git
  • Visual Studio
  • AngularJS

About Me

Who I am

Robert Tezli

Robert Tezli
Software Engineer

Robert is freelancer who was born and still lives in Berlin. His primarily competence is everything you can achieve with C# on the Windows platform which includes classical desktop applications and Windows Store apps as well as web applications on-premise and in the cloud. Robert is not a Windows evangelist. If it is required (or more practical) he sticks with other platforms like Linux or other languages like Node.js. His work can be described as highly practical and solution-oriented. He sees himself as an engineer in a classical sense. Even though he accepts software philosophy as an essential part of software engineering he does not see himself in that role.

Skills alphabetically

Platforms

  • FreeBSD

    3.0 / 10
  • Linux (Debian based)

    4.0 / 10
  • Windows NT

    8.0 / 10
  • Windows 8

    7.0 / 10
  • Windows Azure

    8.0 / 10
  • Windows Phone

    7.0 / 10

Languages

  • C#

    9.0 / 10
  • C / C++

    4.0 / 10
  • HLSL

    5.0 / 10
  • HTML / CSS

    8.0 / 10
  • Java

    4.0 / 10
  • JavaScript

    7.0 / 10
  • Shell (Bash)

    3.0 / 10
  • SQL / TSQL

    5.0 / 10
  • XAML

    8.0 / 10
  • XML

    8.0 / 10

Frameworks

  • AngularJS

    7.0 / 10
  • ASP.NET MVC / Razor

    9.0 / 10
  • ASP.NET Web API

    9.0 / 10
  • Bootstrap

    8.0 / 10
  • DirectX

    2.0 / 10
  • Entity Framework

    4.0 / 10
  • jQuery

    7.0 / 10
  • LINQ to SQL

    9.0 / 10
  • Lucene.Net

    7.0 / 10
  • Node.js

    6.0 / 10
  • NUnit

    7.0 / 10
  • Reactive Extensions

    4.0 / 10
  • SignalR

    9.0 / 10
  • WebGL

    2.0 / 10
  • WCF

    4.0 / 10
  • WPF / MVVM

    7.0 / 10
  • XNA

    6.0 / 10

Tools

  • Adobe Illustrator

    6.0 / 10
  • Adobe Photoshop

    8.0 / 10
  • Autodesk Maya

    3.0 / 10
  • Git

    8.0 / 10
  • Jetbrains ReSharper

    5.0 / 10
  • MS Expression Blend

    7.0 / 10
  • MS SQL Management Studio Express

    8.0 / 10
  • MS Visual Studio

    9.0 / 10
  • npm

    4.0 / 10
  • Nuget

    6.0 / 10
  • Subversion

    7.0 / 10

Contact