Denis Mită

Front-End Engineer

I build meticulously crafted products and captivating digital experiences from scratch, specifically tailored for the web.

Experience

2022-2023 Deepwaters
2021-2022 Minerva Gate
2017-2022 Blink
2016&2017 Google
2015-2017 CS Academy

About

Back in middle school, I discovered a passion for digital painting in Photoshop. However, as I entered high school, my interest in math led me to explore competitive programming. Fortunately, these two hobbies seamlessly merged into my career as a front-end engineer.
Since 2015, I've had the privilege of working with various start-ups and gaining valuable experience at a large corporation. I have contributed to projects involving distributed ledger protocols, web-wide identity and payments solutions, and crypto asset trading platforms.
I am passionate about the unknown future that web3, renewable energy and artificial intelligence will build. Nonetheless, my role as a front-end engineer remains industry agnostic, focused on crafting polished user interfaces, delivering seamless user experiences, and upholding high standards of product design and code quality.
As a fun fact, the translation of "Denis Mită" is "Denis Bribe", which is why I adopted the handle "dbribe".
Scroll to see detailed work experience

Software Engineer

Deepwaters
Jun 2022 - Jun 2023

I joined Deepwaters as their primary front-end engineer, and I implemented most of an off-chain trading platform, while also adding small features and offering maintenance for the company's website.

Working at Deepwaters was probably the best overall fit for my skills and what I enjoy doing, because I had the chance to implement from scratch an entire web app, and the product specs for it were very precise and consistent, so I could focus more on the code architecture and the overall quality of what I was building, rather than just shipping functionalities on top of a product that has long changed from its initial design phase.

Among the things I loved working at, I would include the pie chart and the price evolution chart. To me, charts are the intersection of data and geometry, making some of the most complex and unique widgets to interact with in an app, and pushing the boundaries of traditional web content which is lacking in these elements. Both of them were done using only SVGs and primitive HTML tags.

Another feature that was a blend of delight with a good amount of challenge was the amount input. It auto formats the number that you write, and doesn't allow you to bring the value into an invalid state by adding letters for example, or by setting the value to an empty string. Most of the logic doing this relies on the "input" event on an input, which allows you to intercept the value of an input after a user has done an action, but before it appears in the UI, so that you can reformat it manually before displaying it.

Lastly, I adapted the desktop view for a mobile screen size, which relied mostly on size reductions in fonts and margins, and changing the layout in general.

React.js
GraphQL
Next.js
Ethers.js
Figma
Web3

Technical Lead

Minerva Gate
Mar 2022 - Dec 2023

Working at Minerva Gate, I created and maintained multiple small projects. Some of them were internal, such as the recruitment section for our website, but most of them consisted of outsourced projects for different clients in different industries.

My technical work was still front-end centric, but I had more filler roles overall, including designing the workflow of the company, being a project manager for some of the apps we delivered, coaching junior developers, and interacting with external clients for different projects we were developing. Being in a smaller team, all of your skills are eventually get put to good use.

Even though I wouldn't say I had a compelling single thing that I worked on while being here, having uncorrelated small responsibilities was different, and I learned the workarounds of planning things efficiently in a small sized company, as well as the mentality of doing research on things that are out of your scope in order to improve work, as well as to propel the company forward.

Being also a stakeholder, my people network and personal skills and views had a bigger influence than in previous companies, and I learned that being at the forefront of a start-up comes with a lot of pressure, and if you don't have the knowledge, experience and the insights necessary to make a shift towards the right direction, you wouldn't be able to overcompensate with hard work and dedication necessarily.

React.js
Next.js
Figma
Django
Gatsby

Software Engineer Intern

Google
Sep - Nov 2016 & Jul - Sep 2017

I've had two internships at Google, both of them overlapping with the university vacation period in some way. The first one was at the Google Cloud team in Warsaw, Poland and the second one was at the Google Flights team in Zurich, Switzerland. In both of these internships my work was primarily front-end focused.

At Google Cloud I had two minor projects. The first one was pretty independent of the team's codebase, and it implied building a helper Chrome extension for the team. The extension served as a comprehensive tool for stats monitoring, enabling quick actions, and facilitating web inspection for the developers. The second one implied adding a small feature in the Kubernetes front-end using Angular.

At Google Flights I had to build the front-end for the price evolution chart in a tracked flight. Although I used Google Charts to integrate the chart, customizing it to the requested prototypes was a bit more challenging. One issue in particular was that in the designs the tooltips had a little tail. Since I could only style the tooltip but not add onto its render, I had to use pseudo-elements selectors to create a floating element that visually would serve as the tail.

During both of these experiences I learned that with great procedures, good code can scale. Even though your output is way smaller than at a startup, and you feel like a little cog in a big machine, the system takes care of the fact that progress is made. Another insight I learned is that on a huge product you need to take care of many little issues (at Google Flights, many of the UI bugs I encountered in the development process were due to right to left languages, for instance).

It's definitely not straight forward how to build and maintain huge projects, and I would say that experience is the primary indicator of a team's ability to do so.

Angular
JSX
Protobuf

Software Engineer & Problem Setter

CS Academy
Jun 2015 - Nov 2017

I joined CS Academy straight after I finished high school with zero previous experience as a software engineer. We were a team of competitive programmers who enjoyed algorithmic contests, and we gathered to build our own platform. I am glad to say it is still used today for various contests, including the Romanian national selection camps for the international competitions.

I settled and prepared some of the algorithmic tasks on the platform, and even built some widgets for a couple of them (and they were very fun to do). Later on, the platform partnered with IEEE to host their annual college-level 24h contests, and I've been part of the contest committee in 2017 and 2021.

Alongside the company's CTO I contributed to Stem JS, a JSX web front-end framework where I built and styled many primitive components: radio groups, tab areas and a collapsible section divider.

Regarding front-end development, I want to highlight a few components / widgets that were a bit different from the usual:

The workspace. We used Ace editor to create a multi-language code editor in browser, and we paired it up with a backend to build and run the code, and also display the errors / warnings on the frontend side in the editor by parsing and interpreting the build message.

The graph editor. We created an interactive preview of a graph that you describe in an input, or by drawing it manually. Initially we used D3, but then we rewrote it from scratch. It is a very much needed tool for people who participate in algorithmic competitions, so it totally fits the platform's scope.

The diff tool. Here I used an algorithm in O(N*D) complexity to find the differences in the 2 strings, then I computed the relevant text blocks, highlighted them, and drew the gutter curves using SVG curves.

Stem.js
Algorithms
Data Structures
D3
Ace