Skip to content
View luhmann's full-sized avatar
Block or Report

Block or report luhmann

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
luhmann/README.md

I am a freelance software engineer/consultant. My main focus is Frontend Development but software is about making promises to your users and keeping them. This may start in the frontend, but you will need the whole stack to achieve that. I am happy to help motivated teams with the whole experience. I am not looking for permanent positions.

These are some of the technologies I have worked with in the past 15 years: Typescript, Javascript, CSS, HTML. React, VueJS, Angular, Svelte and ecosystems. RxJs, GraphQL, Apollo, Relay. Node, Express, Fastify, Serverless. Jest, Cypress, Selenium. Elm, ReScript/Reason, ClojureScript. Elixir/Erlang and ecosystems. Kotlin, Scala, Java, Spring and ecosystems. Python, Flask, Django. PHP, Symfony, Zend. Postgres, MySQL, Mongo. Kubernetes, Docker. AWS, Google Cloud Platform, Azure.

I also believe that technologies do not matter much. The tools you choose should be adequate to solve the problems you encounter, but nowadays they all are. There are very few right and wrongs, almost everything is a tradeoff.

Pragmatism, Empathy and Caring are the most important values.

Unblocking your fellow programmers, product owners and project managers is the most important daily task you can do.

Complexity is the cause of all frustrations in programming. It cannot be evaded, but avoided. Most often it's a sign that things are not yet fully understood.

Maintaining software is no lesser task than writing software, it is giving love to what makes you money right now.

Communication is unlikely, time-consuming and can be frustrating. It is what you should try hardest to get right.

Things can be known and understood.

Knowledge needs to be pulled-in, it is almost never handed to you.

The weird edge cases you encounter are not deficiencies of your tools, but expressions of human idiosyncrasy. You should embrace them.

If you want something to change, the best way is a PR.

Having fast feedback loops is the most important thing to get right first. This means comprehensive tests, fast builds, frequent releases, a working solution for test data and testing environments, linting, static types, automatic formatting. Also POs, UX specialists, QA engineers and OPs guys that are always happy to talk to you.

Do TDD when you can say exactly what you want upfront, but accept, that you seldom can.

Document. Think READMEs instead of wikis. Keep them next to your code. Document decisions instead of implementations. Make it really easy to get started. Accept that true understanding cannot be gained from text.

The omnipresence of software means that it guides and thus limits in a very real way what people can say or do. It is your responsibility to enable them to achieve what they want. They will gladly pay you money for it. They most often will not know what they want until they see it. This should not be a cause for frustration, but iteration - preferably with solid metrics.

If you are interested in hiring me, you can contact me through my website. Link is in the sidebar.

Pinned

  1. hired hired Public

    A time-tracking-app written with mobx, react, typescript and firebase

    TypeScript 9 1

  2. reason-beer reason-beer Public

    What brew goes with your food? A simple beer-paring app written in ReasonML.

    JavaScript 5

  3. photography-portfolio photography-portfolio Public

    Private photography portfolio built using GatsbyJs

    JavaScript 1

  4. stuck stuck Public

    VueJs Application to remember your last played songs on Spotify

    JavaScript 1 1

  5. evernote-to-raindrop-exporter evernote-to-raindrop-exporter Public

    Export your Evernote-Notes that contain a url (usually added by the Evernote Webclipper) to raindrop.io.

    TypeScript 10 1

  6. svelte-speedtest svelte-speedtest Public archive

    Provides a setup that can measure the actual internet-speed of your connection as opposed to what you should get per contract

    TypeScript 1