About me
Short introduction
My name is Stefan Winkler, a software engineer and web developer with a diploma in information sciences and I currently live and work in Berlin.
I have been working as a web developer since 2008, collected a lot of valuable experience in the field over the years and decided to go freelance at the beginning of 2015.
Since mid-2018 I am a part-time employee at one of the most successful digital agencies in germany, but I am still looking for interesting smaller to medium-sized web projects for my ongoing freelancing endeavours.
The primary focus of my current freelance projects is in building HTML5/CSS3 websites with responsive design, customized JavaScript solutions and setting up and configuring Content Management Systems (and applying the front-end code I developed for them in the process).
Since the beginning of 2016 I also started creating single-page web applications via modern frontend frameworks / libraries ( so far I've worked with React, VueJS, Angular and Svelte).
My initial reasoning to start digging deeper into those technologies, even though classic CMS architectures were my bread and butter at that time, was the realization that familiarity with these frameworks/libraries would not only be a very important skill set to have at that time to have more options, but also that it will only ever grow in its importance as the web is no longer considered as just a platform to present editorial content but also as an environment capable of running full-fledged applications for all kinds of purposes.
As it turned out, that assessment was correct and working with these technologies ultimately led to me joining my current part-time employer, where my main focus is currently on frontend development for large-scale single-page applications at the enterprise level.
By now, things have evolved even further and we are moving fast in the direction of transitional web apps which combine the best individual strengths on the tried and true server-based approach with the interactive benefits of client-side solutions - meaning that the focus, which was placed too heavily on pure client-side solutions over the last couple of years, is now finally shifting back towards a more wholesome full-stack approach that combines the best of both worlds, but in a much moire future-proof manner.
As an extension to that trend, now ways of hosting also popped up: JAMstack, edge computing and cloud-based microservices are on the rise the frameworks targeting this new generation - like Next.js, Nuxt and especially SvelteKit, which seems to be the most future-proof one at the moment - are precisely tailored to support this as best as possible. That is why I am also shifting my focus in that direction, because it became once more apparent to me, that this next generation is just getting started. It may take a while until the classic agency model and big companies can fully adopt these technologies, because at the moment it is considered risky to be completely dependent on a non-trivial number of third parties, but as more solutions and possibilities pop up, hesitations will surely subside.
So it very much seems as if things will continue to be very interesting and I plan to remain along for the ride.
Skills and Experience
Content Management Systems
Expert knowledge:
- Contao
- Concrete5
Extensive Experience:
- Typo3
- WordPress
Also familiar with:
- Drupal
- Joomla
Programming, Script and Markup Languages
- CSS3
- HTML5
- XML
- JavaScript / TypeScript
- PHP
- Ruby
- C#
- SQL
Frameworks and Libraries
- React
- VueJS
- Svelte
- Angular
- jQuery
- Bootstrap
- Symfony
- Ruby on Rails
Past Endeavors
During my career I used work both as a full-stack developer as well as a dedicated front-end developer, specializing in responsive design and JavaScript development.
In the full-stack field I used to work with ASP.NET, the PHP-based MVC framework Symfony and Ruby on Rails during my early years. Combined with my front-end expertise in HTML5, CSS3 and JavaScript I was able to create holistic web applications where all parts of it integrated well within each other.
I would like to place a special emphasis to the time when I was able to collect the most (and also the most diverse) experience, which was my last job before I decided to go freelance. I used to work as a software developer (front- and backend) and technical project manager at a successful germen PSD-to-HTML service provider, where my field of work at one point covered alle IT-related tasks of the company, during a phase where our CTO retreated from his position to seek new challenges. A few months after that a new CEO with a technical background took charge of the company and took parts of the IT work upon himself, but a lot of tasks still remained in my responsibility.
In my time at that company I used to be, among other things:
- Lead developer (full stack) for the Ruby-on-Rails-based web portals of the company
- Author of the official guidelines and coding standards for the external teams of developers
- Main contact person for all technical problems of our clients
- Responsible for stepping in and fixing projects when it became apparent that the developer team tasked with them steered to far off course.
- Lead developer and project manager in one, for larger client projects which could not be passed to the external teams due to their inhernt complexity.
- Regular projekt manager for some of the normal projects, when the overall workload could not be handled by our project management team alone.
- Support for the QA department, especially when someone was needed to rate the quality of the code delived by an external team.
- JS developer, I created complex JavaScript plugins for the more complex client projects with very specialized requirements.
- Responsible for smaller administrative tasks, for example managing the access of employees, partner developers and clients to the company's web portal and managing employee user rights for accessing SaaS services the company subscribed to.
This time was filled with a lot of educational experiences, not only in terms of technical expertise but also in client communication and team coordination.