Danny van Deutekom

Not Your Average Software Developer

A full-stack software developer with over 20 years of experience.

I have maintained, developed and launched multiple projects from scratch, carrying the development of its’ backend and frontend codebases.

My current toolset includes JavaScript & TypeScript (Node.js as well), PHPReact, Redux, Angular, AWS, Docker and all the other various frameworks, libraries and technologies related to them.

Agile Development

80%

Cloud Computing

75%

Coding Languages

95%

Cryptography

80%

Databases

85%

Data Structures

70%
Development

Backend

In backend development, my current stack involves Node.js, NestJS, and PHP.

Nearly every app I have launched in the past had the backend done also by me. In order to improve the development speed, performance and reliability, I have changed languages and frameworks already multiple times, from PHP to Node.js; configured servers using just the shell, then Ansible, and now Docker and Kubernetes.

The lessons I learned while doing all these apps will be useful for me forever, no matter what framework I will use in the next project.

What I can do for you at that side is:

  • lead development of backends in Node.js/PHP;
  • splitting the backend into separate domains and microservices;
  • cooperation with and creation of APIs (like REST, GraphQL, SOAP), remote data synchronizations, cloud servers, asynchronous workers;
  • using different types of databases (like PostgreSQL, MySQL, SQL Server, Elasticsearch, CouchDB, Redis);
  • dividing the servers into different machine nodes / docker containers; database sharding; load balancing;
  • refactoring existing applications, by improving code readability, separating concerns into separate functions/classes/modules, taking the business logic out from your request/response layer into separate modules (DDD), and moving the app architecture into an event-based one;
  • writing unit and e2e tests.
Web Development

Frontend

I specialize in applications written in both React and Angular. Recently I became also a huge fan of one-way data flow and Redux-like architecture and also typed languages, e.g. TypeScript.

My current experience and skills in frontend includes:

  • lead TypeScript/JavaScript development: bootstraping, refactoring, improving the structure, reliability, build setup;
  • full integration of frontend development using tools like Webpack with features like automatic code reload, code minifications, multiple environments support, CI/CD, Storybook components library, automated testing of accessibility, server-side render and visual snapshots;
  • good sense of design and UX;
  • huge experience in almost all of the JS ecosystems, by having used in the past many libraries like Next.js, React, Redux, Redux-Observable, RxJS, Angular, Ionic Framework, Backbone, jQuery, Lodash/Underscore and many else.
Mobile Development

Apps

In mobile development, my current stack involves iOS, iPadOS and tvOS. I also have experience with native frameworks such as ReactNative and Flutter.

My current experience and skills in mobile development includes:

  • lead Swift/ObjectiveC development: bootstraping, refactoring, improving the structure, reliability, build setup, and deployment;
  • huge experience in the Xcode ecosystem;
  • good sense of design and UX of the mobile environment;
  • experience with native frameworks such as ReactNative and Flutter in order to support both iOS and Android.
Other

DevSecOps, UI/UX, and more

During my time I have created and released tens of services, apps, and websites.

Thus, not only I have coded their backend and frontend codebases, but often I also had to care about other things needed in a successful web application project:

  • good planning of UI and thinking how it affects the UX;
  • consistency in design and typography;
  • Search Engine Optimization;
  • launching, deployment and monitoring the app after the release;
  • recruiting, onboarding and mentoring team members;
  • in cases where a good Project Manager was missing, fulfilling his role, in order to save the project from losing time on unneeded things.

Contact Me

Let’s work together!

If your initial thought is that I can’t be the best in everything, it’s okay. Send the design job to someone else, and I will take care of all the code development, or whatever other role you see me best in.

In cases when you already have an existing team, but you would still use some help, contact me as well. I’ll fit in very quickly, I promise.