My Skills
I'm more than an average software developer.
Besides knowing many programming languages, I also do server administrating / infrastructure tasks (DevOps).
I can easily switch between device / application development and web development.
Working parallel on multiple projects at the same time without losing track is no problem, thanks to my great project & team management skills and experience with Atlassian toolstack and GitLab. Combined with continuous integration & deployment with monitoring ensures that everything stays up-2-date in the loop and with high availability.
In short: I'm a generalist with knowledge in various major areas. Always helpful to kickstart / prototype something or understand other areas / teams and eventually spot issues beyond the general scope.
Web Developer
Web Development is the reason you see this website right now. I do this for over 10 years now (am I getting old?).
Drupal
I use Drupal (CMS) for some projects but nowadays try to develop my own solutions (at least for my own projects).
User Interface
I love to create UI. Not the best UI / UX designer but sometimes I have to do the job myself when there is no expert doing it for me :)
Schooling
I love to help others and teaching them new things is fun and also helps me to consolidate my knowledge.
Grafana
I used Grafana in multiple projects to visualize metrics.
Mapping
During my modding times, I also did some mapping (creating game levels). Go take a look at it :)
Freelancer
I do contract based work and help companies achieve their goals. Due to my broad knowledge in many areas I can be used very flexible. Especially for code reviews, etc. it comes very handy.
Testing
I have a good feeling for what needs to be tested and due to my experience I know many common pitfalls.
WebSockets
Realtime applications are fun and web sockets are a good way to achieve this. I usually work with the superset of socket.io / engine.io
Bash
Bash scripting language and is a key element for administrating and automating my linux environments and backups.
React
Python
Python is also something I know and use from time to time. Average knowledge is available.
Asset Porting
I can port assets into GameEngines and also into existing Games (Modding).
💻 Software Development
If it was not clear yet: I am a software developer. Constantly working on something and always trying to improve.
Office Suite
Everyone should have these basic skills, but it is more than just opening a document and start typing. I know the office suite of microsoft and libre office, but also have a good feeling to write and maintain good documents.
GitLab
GitLab is simply awesome and I prefer it much more than the Atlassian toolstack, especially the installation and server maintenance is much easier. Of course it is missing some nice to have things but I try to work around it :)
Video Editing
I also do video editing. Not on an expert level but I get the job done for average videos. (cutting, basic effects / transitions, an eye for a good video)
gRPC
Development of services with gRPC communication.
Networking
I have a broad experience with network applications, which communicate with each other and such.
HTML5
I started with HTML4 and really ugly websites. HTML got me into all this trouble. Making content which is visible for everyone kick started a lot of synergies for me.
Embedded Devices
Effects
Basic FX but thats about it. I leave this for the experts, but for prototyping it is good enough
Gameplay Design
I'm not a good Gameplay Designer, mostly because I mainly focus on "what I love" and not general user. But from time to time I'm still forced to do it and can deliver at least a rough implementation, which will be further refined by feedback or true designers :)
Continuous Deployment
(Re)Deploy the application / service with one push. Experience with Jenkins & GitLab.
Project Management
I manage various projects (personal, team, open source) and could gather a lot of experience and knowhow over time. Its hard to estimate software workload and time and it requires a good team, discipline and openness to be in time and manage a project successfully.
Consulting
I have seen and went through a lot, so I can share my experience and try to explain in details my reasons. Helping and consulting my customers or co workers.
TypeScript
Finally proper typed JavaScript. TypeScript is finally the tool which made JS development so much more fun and less frustrating.
Legal
Due to my small business and other projects, I have to deal with legal inquiries and must ensure that my projects fulfill requirements.
Laravel
I started with Laravel too late and I am stuck with another framework, otherwise I would have loved to use it more. Nowadays I tend to use the NodeJS toolchain over PHP in general.
Express.js Web Server
Java
While I do not like Java, I actually did some programming with it. Dont ask me for advice and dont hire me for this language. And PLEASE do not mix Java and JavaScript together! They are not the same. (looking at you, annoying recruiter 👀)
PHP
I still maintain and develop projects with PHP, so yeah. Its great, but I prefer nowadays the NodeJS toolchain.
Customer Support
Part of my work is also to inform / explain and support B2B customers. Listening to demands and helping with decision making to improve the product.
Unit-Tests
Testing testing testing. I write my tests with Jest and try to maintain a good coverage. Honestly never made it to 100% but maybe one day.
App Developer
I can develop apps. Web, Desktop, Mobile, whatever. Whatever needs to be implemented, it will be done and run on the target platform.
jQuery
I do not know where we would be without jQuery. Of course I know and use it (for older projects).
Network Discovery
Development of services which can find each other in local networks.
GitHub
GitHub is just awesome and without it I would be lost. (same goes to NPM and such). I try to contribute a few bits back to make the open source world better.
Optimization
I do optimization to ensure my code runs fast. It is sometimes a time wasting task but must be done. :D Over time you try to avoid common pitfalls...
aws
Amazon Web Services, comes in handy if you don't want to play Server Admin yourself. I did a few projects which involved AWS but nothing in depth.
Monitoring
Monitoring is key to a healthy server infrastructure. I use check_mk and other monitoring tools to constantly keep an eye on my services. If something is not working as intended, the chance is pretty high that my phone will alert my shortly afterwards.
NestJS
Development of backend with NestJS. It is like Angular but only for backend. Plays nicely together and is an awesome combination. Some parts of my website are running with NestJS.
JavaScript
My first programming language and to the day, the No1 (with TypeScript). It runs everywhere (yeah yeah performance is not the best) but its so damn great.
Design Patterns
I use Singeltons everywhere... - just a joke! I try to implement basic structures and patterns where it makes sense.
Business Management
Due to my small business, I had to learn (and still do) how to run a business and what obligations, etc. are necessary.
🎮 GameDev
This has been my child hood dream. Games have influenced my life like no other media and one day, I will influence other people with my game.
Photoshop
I can work with Adobe Photoshop - I am not an expert but i can use the tool to get my tasks done or do quick fixes.
Angular
Development of web & app with Angular. I simply love it and you are currently browsing on an Angular made website.
Kubernetes
For some reason I got into Kubernetes and slowly migrate everything into it. Works well with my GitLab CI / CD to handle all my projects in the future.
SCSS
SASS / SCSS made my life easier, especially in CSS2 times. Variables, mixins, etc. - the programmers dream.
Concept Design
I did some concept design, mostly for level design and some story.
C#
With Unity I also had to learn C# and know it very well after all those years now. Not much of a .NET user, because for everything else I have my other programming languages, etc. but C# is my goto for GameDev (in Unity).
Docker
Most of my newer projects are containerized. Like this website, which runs in a docker container.
Responsive Design
All my modern projects are responsive and must work and look great on small to large devices.
🤖 Server Admin
Administration of servers and handle infrastructure. I started with a tiny server and now handle multiple servers with lots of services and tools, including Kubernetes.
Server Hosting
Setup and maintaining of servers is something I do for a long time now. It is fun and sometimes very frustrating but once everything works its rewarding :D
Web Design
I am probably not the best designer and rather have someone who does a design where I can make suggestions. But I do it myself too. But more important, I can bring the design to live and actually implement it. One key thing I remember from work was: "Alex is someone who keeps adjusting and working on it until it is perfect."
Unity
Game engine Unity is simply awesome and you can rapidly create a multi device project. C# <3
Tool Developer
(Internal) Tool writing has also been a thing of mine. Improving workflows or extending missing features - I am a problem solver so tool development is exactly my thing.
Automation
Programmers are lazy, so we like to automate things. It makes our life easier and allows us to produce the same content over and over again without messing something up. I of course try to automate and improve my workflows as well :D
E2E-Tests
Unfortunately the least focus on testing. I write my tests with cypress and did for one project even automated testing via BrowserStack on multiple browsers and devices. Wish I could spent more time on this.
SCM (git)
Git is used in all my projects, to ensure proper version control and access from everywhere. BitBucket (migrating away) and GitLab is used.
Design
I can do design from websites, code design and whatnot. Design is a broad term :D
GDPR
I have an eye about GDPR and try to warn ahead in case things might need some checking. I try to be GDPR friendly by design and also did a lot of GDPR related work and wrote custom logic for my projects.
REST API
I love to write APIs. Thats what makes the web so awesome, tiny interfaces to interact with. Never got into GraphQL yet, but eventually I find a project for it.
CSS3
Making HTML look nice :D
Continuous Integration
Test & build the application / service with one push. Experience with Jenkins & GitLab.
C++
After web development and game modding, I wanted to learn a "real programming" language. It was a journey with many ups and downs, but it helped me to understand much better programming as a self thought person. Nowadays I can say I am also a C++ programmer and could proof this already at work.
Planning
I mostly work with Kanban and SCRUM. Over 10 years of experience with Jira made me a valuable person in this regard.
Modding
Modding influenced a lot of my work and where I am right now. Thanks to UGX-Mods I could do and learn a lot due to a large user base and a great dev team. It got me into GameDev and allowed me to be an excellent software developer and improve myself as part as a hobby.
Agile SCRUM
The modern way to develop and finish projects.
Qt5
As a web developer, I like to create fast and nice UIs. When I started with C++, I thought writing UI is insane and used wxWidgets which was nice, but then I learned about and used Qt5 and my C++ life improved so much. I love it.
Backup
Backups are important. You learn this lesson either the hard way (like I did) or someone smart recommends it to you and helps you with the setup :D
Scripting
I can do scripting. It is like Programming but mostly tied with stricter limits. During my modding times, I did a lot of advanced scripting.
Documentation
Documentation is so important and a key to success. I learned this in my early years and keep documenting my code but also writing helpful documentation for user and other developers. Also for all my IT / Server tasks, documentation comes in very handy. Currently using Confluence but will most likely migrate soon to something other.
Node.js
JavaScript on the backend / server. LOVE IT!
WordPress
If I need a CMS, I nowadays choose WordPress. I do custom plugin development with node & react or create new web experiences with consulting, web design, development and site & content moderation.
Jenkins
During my work experience, I learned everything I need to know with Jenkins and even administered it. Writing groovy scripts and bring projects into the CI / CD toolchain - I made it all possible.
Task Runner
Taskrunner are my friends. They help me to automate my workflows.
Team Management
I always had influence in team management due to my knowledge in project management tools. Working together on something big and getting everyone on board and on track is part of my job. Learning from each other / together has always been a very valuable gem.
Presentation
I like to do presentations about my work or something else. You are watching my website and I hope you like this presentation :)
SEO
Search Engine Optimization and all other fancy terms.
Texturing
I can do basic texturing, but I wouldn't brag about that much. :D