I like building good software.
What's good software, you ask?
It's software that does what its users need it to do - no more, no less. This means that its specification was created with the user in mind. It means that its code fulfils this specification and the number of bugs in it is minimal. It means that the software can scale effortlessly if it needs to. And if it has a user interface, it's a pretty one.
Good software can be changed and extended easily, without any fear of breaking it in the process. Its code can be quickly understood by anyone new on the team.
How do you make good software?
You let its specification evolve in an agile process and get feedback from your users. You create an architecture which divides the system into units that make sense, such as micro-services. You write Clean Code, and you use both object-oriented and functional programming appropriately. You write tests. You do code reviews.
I can help with these things. I'm experienced in agile techniques like Scrum and Continuous Deployment, I can design scalable architectures, and I'm a Clean Code enthusiast. I like both object-oriented and functional programming.
I started getting into programming when I was about 8, and it's been my profession since before I started university. Since then, I've worked on projects of all sizes. I'm very experienced in JVM languages (Java, Scala, Kotlin), though lately I've been working a lot with C# and Python. I've done a lot of web development (HTML, CSS, JavaScript, TypeScript). I speak fluent English and German. My Spanish is at an intermediate level (approx. C1).