About me
Razvan Tanase
Fullstack Developer -
GitHubrazvan@razshare.devI'm Raz, I write software for a living as a fullstack developer.
I make use of all sorts of tools and programming languages in order to achieve my goals, ranging from front-end and back-end languages to systems languages.However, there are a few languages that I particularly enjoy writing in.
Linux
My development environment of choice is Linux.
It's not just a preference, I genuinely think there is no better environment to develop in.Distros Familiarity UBUNTUPRIMARYHIGH ALPINESECONDARYMEDIUM Open Source
I'm an open source maintainer.
Open source software and code has helped me a great deal over the years, so I think it's only natural to give back to the community.
So I take some time of my weekends to contribute to and maintain open source projects.
Projects Home SVELTEKIT SSEMAINTAINERGitHub SVELTE LIQUID SWIPEMAINTAINERGitHub CATPAWMAINTAINERGitHub SVELTE SERVER SESSIONMAINTAINERGitHub PSALM - VSCODECONTRIBUTORGitHub Svelte
I like to use Svelte a lot.
As the man himself said - yes, Svelte is a JavaScript framework... but it's also a language.I like to think of Svelte as a DSL.
In the same way that SQL is a language specifically designed to manage and aggregate data in a relational database, Svelte is a language that describes user interfaces.
I use Svelte to build any type of interactive single page application or server side rendered website.
I've tried them all over the years, Angular, Vue, React, Solid.
For me it's a no brainer, I only reach out to something other than svelte if I'm jumping in an already existing project that doesn't use Svelte.
There is nothing that comes even close to Svelte's ease of use and simplicity.This portfolio itself is built with Svelte!Framework Familiarity SVELTEKITPRIMARYHIGH Php
Sql
I use SQL to read and manage my data.
I prefer not to use ORMs.
Whenever I do use an ORM, it's because a project specifically requires it.
Whenever that happens, I try to limit the N:N and N:1 relations I describe through the ORM itself.
The only safe relations (I think) to describe through an ORM are 1:1 and 1:N relations.
You might wonder: `How do you list things?`
And the answer is raw joins.
Over the years I've come to the conclusion that ORMs simply do a horrible job at joining tables.
It's just too much of a headache. I rather aggregate my data myself and disable any eager fetch.Dialect Familiarity MYSQLPRIMARYHIGH SQLSERVERSECONDARYMEDIUM JavaScript / TypeScript
For better or worse, JavaScript is the language of the web as of today, and it deserves the spot.
Generally speaking I can write any type of JavaScript, from Angular to Vue and Svelte.
Static analysis is a must for me while writing JavaScript, which implies TypeScript.
Although I love what TypeScript brings to JavaScript, I've grown a bit distant from TypeScript and I've embraced JSDoc completely.
There are many reasons as to why I decided to stop promoting/writing TypeScript, but the main reason would be faster build times.
Runtime Familiarity BUNPRIMARYHIGH NODESECONDARYHIGH DENOSECONDARYMEDIUM Java
Java is one of the first languages I've ever learned.
Although many despise it for it's boilerplate-y nature, the huge standard library makes up for everything in my eyes.And on top of that the community libraries are also limitless.
Whenever it doubt, always go Java.When in comes specifically to web development, my frameworks of choice is Quarkus or Spring Boot.
VM Familiarity GRAALPRIMARYHIGH HOTSPOTSECONDARYHIGH Css
I like writing raw CSS and SCSS.
But I also like Tailwind CSS, so it is often the case that I mix the two.
I usually start up with Tailwind and gradually add any raw CSS that Tailwind can't express in a simple manner.
One such example would be detailed management of grids and grid areas, which I like to use a lot for layouts.
More often than not I reach out for SCSS for convenience, but I have no issues writing traditional CSS.
Framework Familiarity TAILWINDPRIMARYHIGH MATERIALIZESECONDARYHIGH PICOSECONDARYMEDIUM BOOTSTRAPSECONDARYMEDIUM Zig
Zig is an imperative, general-purpose, statically typed, compiled system programming language designed by Andrew Kelley.
It is intended as a successor to the language C.Zig is my language of choice when it comes to systems programming.
It is simple, reliable and can build for any target you can think of from any target you can think of.Are you running Linux and you need to build for Windows? No problem, Zig does it.
Are you running Windows instead and want to build for Linux? Zig can do it.