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.
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.
PHP
I still maintain and develop projects with PHP, so yeah. Its great, but I prefer nowadays the NodeJS toolchain.
💻 Software Development
If it was not clear yet: I am a software developer. Constantly working on something and always trying to improve.
Continuous Integration
Test & build the application / service with one push. Experience with Jenkins & GitLab.
gRPC
Development of services with gRPC communication.
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.
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.
Continuous Deployment
(Re)Deploy the application / service with one push. Experience with Jenkins & GitLab.
Networking
I have a broad experience with network applications, which communicate with each other and such.
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.
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.
Grafana
I used Grafana in multiple projects to visualize metrics.
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 :)
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 👀)
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.
Effects
Basic FX but thats about it. I leave this for the experts, but for prototyping it is good enough
Drupal
I use Drupal (CMS) for some projects but nowadays try to develop my own solutions (at least for my own projects).
Legal
Due to my small business and other projects, I have to deal with legal inquiries and must ensure that my projects fulfill requirements.
Testing
I have a good feeling for what needs to be tested and due to my experience I know many common pitfalls.
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.
Embedded Devices
Agile SCRUM
The modern way to develop and finish projects.
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.
Docker
Most of my newer projects are containerized. Like this website, which runs in a docker container.
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."
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.
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 :)
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.
Unity
Game engine Unity is simply awesome and you can rapidly create a multi device project. C# <3
Responsive Design
All my modern projects are responsive and must work and look great on small to large devices.
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?).
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.
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.
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.
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.
SEO
Search Engine Optimization and all other fancy terms.
Mapping
During my modding times, I also did some mapping (creating game levels). Go take a look at it :)
Design
I can do design from websites, code design and whatnot. Design is a broad term :D
🎮 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.
Design Patterns
I use Singeltons everywhere... - just a joke! I try to implement basic structures and patterns where it makes sense.
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)
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
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).
CSS3
Making HTML look nice :D
Concept Design
I did some concept design, mostly for level design and some story.
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.
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.
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.
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.
Express.js Web Server
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
Angular
Development of web & app with Angular. I simply love it and you are currently browsing on an Angular made website.
SCSS
SASS / SCSS made my life easier, especially in CSS2 times. Variables, mixins, etc. - the programmers dream.
Presentation
I like to do presentations about my work or something else. You are watching my website and I hope you like this presentation :)
Asset Porting
I can port assets into GameEngines and also into existing Games (Modding).
Planning
I mostly work with Kanban and SCRUM. Over 10 years of experience with Jira made me a valuable person in this regard.
Python
Python is also something I know and use from time to time. Average knowledge is available.
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.
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...
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.
Bash
Bash scripting language and is a key element for administrating and automating my linux environments and backups.
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.
React
TypeScript
Finally proper typed JavaScript. TypeScript is finally the tool which made JS development so much more fun and less frustrating.
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.
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.
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.
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.
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
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 :)
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.
Schooling
I love to help others and teaching them new things is fun and also helps me to consolidate my knowledge.
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
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.
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.
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.
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.
Task Runner
Taskrunner are my friends. They help me to automate my workflows.
Texturing
I can do basic texturing, but I wouldn't brag about that much. :D
🤖 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.
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.