# Skills

# Languages & Frameworks

Even though I have experience with a lot of languages, I will list only the ones I have used professionally, and I should be tested on.

For all the languages and frameworks listed below you should know that I am always up-to-date with the latest versions.

Other than popular forums I also use Reddit and Twitter where I follow people that post about the technologies bellow and that helps me stay up-to-date.

  • PHP
    • Laravel
      • I have used all the packages that the Laravel ecosystem has offered professionally
      • InertiaJS, Forge, Vapor, Nova, Cashier, Horizon, Passport, Socialite, Telescope, Valet, Homestead, Sail, Fortify, etc.
  • JS
    • VueJS
    • NuxtJS
    • ReactJS
    • ReactNative
  • C#
    • .NET

# API

A story shares an experience with the world. To me this is what APIs are.

I have learnt to deliver an API in 2 different ways:

  • Rest
  • GraphQL (Apollo)

I have been building APIs for the past 10 years, and I have the experience to document my APIs correctly so others can easily read them, but also structure them in a way for other developers to correctly use them.

# Clean code

During my 16 years of programming experience I have made a lot of mistakes! A LOT!

However, with the help of the points mentioned below I have managed to minimize my mistakes and write clean code.

The most important lesson I have learnt is not knowing design patterns or programming principles, but knowing WHEN it is suitable to use them.

  • Architectural Design
    • Knowing an MVC framework like Laravel is great, but maybe all you need for that idea of yours is a CMS like WordPress. Choose the right tool / architecture at the right time.
  • Design Patterns
    • Sounds great that you know how to use the Decorator pattern, but do you actually need it or are you adding some extra logic and files just because it looks cool.
  • Programming Principles
    • One example is the Single Responsibility Principle that states that, a class should only have one reason to change.

      It actually takes years to correctly grasp this principle. It sounds easy, but you too have a class that doesn't comply to this principle even after all these years!

  • Best Practices
    • Simply stay up-to-date with the ecosystem of the language-framework that you are using.

# Testing

My favorite and most important tool in my arsenal.

I have been using TDD for the past 7 years, but I don't always follow it as is defined. Sometimes I write my code before my tests, it always depends on how much I know about the problem that I am solving.

  • PHPUnit
  • Laravel Dusk

# UI

I have listed TailwindCSS first because it has changed the way I build UI and use CSS.

I started using it when it first came out and since then CSS frameworks don't make any sense to me anymore.

The amount of freedom I get from TailwindCSS is outstanding.

I am listing SASS, Bootstrap and Bulma even though I am a bit rusty on them, and I have not been updated with their latest versions since August 2020.

  • TailwindCSS
  • CSS
  • SASS
  • HTML5
  • Bootstrap
  • Bulma

# Team-oriented

Working with startups has helped me become a team-player and better communicate with my colleagues via the software listed below.

  • Agile
  • Git
    • Code review
    • Branches
    • Pull requests
  • Atlassian
    • Jira
    • Confluence
    • BitBucket
  • GitHub
  • GitLab
  • Microsoft Teams / Slack
Last Updated: 10/21/2021, 5:44:57 AM