Full-Stack

Full-Stack Portfolio Projects Contact

Portfolio

Skills

This is an overview of the programming languages I have experience with.

C
C++
C#
Java
JavaScript
Python
Visual Basic

Desktop & Mobile

These are the languages that can be used for desktop and mobile development.

C#
C#
Expert
C# is an allrounder language. It can be used on many platforms like Windows, Linux, Mac, Android, iOS and web applications.
The .NET framework can be used in C# applications on Windows. The open source and cross-platform equivalent is .NET core, which is a lightweight alternative to .NET framework.
C++
C++
Experienced
C++ is a more low-level language than C#. It is an advancement to the language C.
There also exists a .NET framework for C++ on Windows. For Linux and Mac there is Qt.
Unreal Engine 4 uses C++ for the game logic.
C
C
Experienced
C is widely used in low-level applications. For example, the Arduino platform can be programmed in C. It is the origin of C# and C++.

Front-End web languages

These are the languages that can be used in the front-end of a web application.

HTML
HTML
Expert
HTML is the basic language that's used mainly for websites but can also be included in desktop apps. It defines the structure of the site.
CSS
CSS
Expert
CSS stands for Cascading Style Sheet and is the style language that is used besides HTML. In CSS is the design of the web page defined.
JS
JavaScript
Experienced
JavaScript is a programming language that can be used in a website. It gets executed by the browsers and so the website can be enhanced.
It possibilities reach from basic input validations to complex games, drag-and drop scenarios and more.

Back-End web languages

These are the languages that can be used in the back-end of a web application.

ASP.NET
ASP.NET C#
Expert
ASP.NET is a framework for building web applications. It is a faster alternative to e.g. PHP because it is precompiled.
It is possible to include ASP.NET in different languages. The most popular is C# but it can also be used in Visual Basic or J#.
Gunicorn
Gunicorn
Basic knowledge
Gunicorn is a web server that can be used with the Python language.
Combined with other frameworks like Python-Flask it is a powerful tool to create web applications.
Java
Java
Experienced
Java is a programming language that can be used in the back-end of an application. Frameworks like Spring and JSP are a widely accepted way of building a web application in Java.
Java is also used in Android App developing, where it is the native language. It is also possible to create desktop applications in Java with frameworks like Swing.
PHP
PHP
Basic knowledge
PHP is a relatively easy programming language for writing web applications. PHP is specialized for managing text, pictures and other media.
SQL
SQL (MySQL & MS SQL)
Experienced
SQL is the language that is used in database systems like MySQL and Microsoft SQL Server. Stored procedures can be used for repetitive tasks, which are written in SQL.
Accessing a database in popular programming languages can often be done through frameworks but knowing SQL and stored procedures still has advantages in terms of speed and reliability.

SysOps

These languages and tools are ensuring the optimal operation of an application.

LXD
LXD container management system
Experienced
LXD is a container management system that can be used on Linux machines. A container is like a virtual machine, but it uses the same kernel as the host and because of this it is much faster than a virtual machine.
NGINX
NGINX web server
Expert
NGINX is a powerful and fast web server that can be used for serving web applications. The speed comes from its multi-architecture
Another use of NGINX is the reverse-proxy and cache part. This means that certificate management gets easier and can be easily automated with tools like certbot.
Redis
Redis cache server
Basic knowledge
Redis is a caching solution for dynamic web services. It can store requested data and serve them if they haven't changed in the meantime. This improves the overall response time immensely.
Apache
Apache web server
Experienced
Apache is a widely established web server. It is older and not so fast as NGINX, but it is a rock-solid solution for web applications who need sophisticated features.
#!
Linux & Windows Shell (BASH & PowerShell)
Experienced
The "Bourne Again Shell" or for short BASH is the default shell in nearly all Linux distributions and MacOS. BASH can be used for everyday work on servers and desktop systems, but the language can also be used to write scripts to automate things.

PowerShell on the other hand is only available on Windows. It can be used for everyday work as well but is not so flexible as BASH.
The Windows Command (CMD) is the predecessor of PowerShell and is still widely used by people.
PowerShell and CMD can both be used to create scripts on Windows.
Git
Git
Experienced
Git is a developer tool that can manage codebases. It is a powerful tool that can save multiple versions of source code and ensures the availability of the code.

Other

Here are the tools listed that are not directly related to programming.

Unreal
Unreal Engine 4
Basic knowledge
Unreal Engine 4 is a game engine for creating graphically stunning games.
3D models, lights, materials and more can be imported from Blender or another CAD software which can then be set up in the game scene.
The game logic can be written in C++ or Unreal Engines own blueprint language.
In contrast to Blender is Unreal Engine 4 more professional and laid out for real time rendering instead of prerendering.
Moho
Moho Animation Studio
Experienced
Moho is an animation program which can animate 2D objects. There can be done a lot with Moho, for example:
Character parts can be imported as vector or raster images and rigged to be ready for animation.
A dynamic scenery can be created by adding movement to multiple background layers.
Blender
Blender
Basic knowledge
Blender is an allrounder application and it is an established 3D modeling tool. It can also be used to create 3D and 2D animations or games.
The possibilities in Blender are nearly endless since all the objects can be modified with Python scripts.
Inkscape
Inkscape
Experienced
Inkscape is a vector editor. It can be used to create logos and other elements that can be used in other processes.
In Inkscape one can export an SVG or a rendered rasterized image e.g. for use in a web application.

Projects

If you search for an application I worked on you can find all of them on the Projects page.

Me on StackOverflow

You can check out my two StackOverflow profiles too.