GithubHelp home page GithubHelp logo

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.

Jan Florian Dietrich's Projects

animated-webcontent icon animated-webcontent

A shootout of different approaches to displaying short animated content on the web, animated-gifs vs. spriting vs. web video

blazy icon blazy

bLazy is a lightweight lazy loading and multi-serving image script. It's written in JavaScript why it doesn't have any dependencies for 3rd party libraries like jQuery. bLazy is working in all modern browser including IE7+.

cookiecutter-js-support icon cookiecutter-js-support

A cookiecutter-template to scaffold the most basic of required files and folders I want in any project

countem icon countem

React Native tryout mixed with typescript for an app that counts arbitrary things

deep-merge icon deep-merge

A limited and opinionated deep-merge algorithm for data-only object-literals

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.