Google Photos DevRel

Summer of 2023 I did my first trip to Okinawa - the birthplace of karate!

This has been my childhood dream since I was 8! Although it was a struggle due to a typhoon, which also interrupted my grading for nidan, I managed to get my second degree black belt under Higaonna Sensei. In the grading commitee there were also Terauchi Sensei, Uehara Sensei, Yonesato Sensei, Joseph Tait Sensei. Grateful to Mirko Sensei for supporting me in the process and Tierney for being next to me...and being my bunkai partner! :)

Google Photos DevRel

In the summer of 2023 I took the lead for Google Photos at Google.

I expanded my scope leading multiple teams at Google - Angular DevRel, docs, product, and Google Photos DevRel. With more scope comes more responsibility :-).


Head of Product for Angular

November 2022 I became the product lead for Angular.

While still leading DevRel and documentation, my role expanded to thinking about what we should be building to make developers successful. I also joined the PM team for Wiz, an internal JavaScript framework powering Search, Photos, and more. I'm truly excited about this role. Being in a developer product it'll help me grow my communication, business, and technical skills further.


Summar of 2022 I gave my TEDx talk - "Open Source as an Equalizer."

Open source gave me an equal start and allowed me to grow in my career. I wanted to share this message and enable other people to follow this path if they don't have access to top colleges or resources.


Established Bazel DevRel

When I joined Google I was assigned to work on Angular and exploring how we can build apps at scale with Bazel.

After spending couple of months and connecting with clients from startups and enterprises we found the sweet spot for Bazel for web developers. The applications of the build tool though span well beyond Web. The Bazel team needed outreach and advocacy support. Working with the Bazel PM we identified top activities for DevRel and establish the team.

Promo at Google

After about three years at Google I got recognized for my work and took a more strategic role.

The recognition came from my efforts on improving the debugging experience in Angular and the Web, leading the DevRel team and growing it, contributing to the implementation of Core Web Vitals, developing tools and educational materials around performance and productivity, and driving cross-team collaborations.

Release of Angular DevTools

On I/O 2021 my team released Angular DevTools. That was a project I had the opportunity to lead from end-to-end starting with analysis of user feedback and requirements, to development, and later rollout.

Angular DevTools went through a lot of phases! Early validation, development of the team, cross-collaboration across the organization at Google, integration within the Google I/O 2021 online experience, accessibility and UX audit, etc. I feel so grateful I had the opportunity to work with so many fascinating, talented, and smart people along the way. Angular DevTools hit 20k downloads in 2 days after I/O. After the first month it received over 50k downloads.

Predictive Prefetching Pipeline

One of my highlights from I/O 2021 was the chance to work on a pipeline for predictive prefetching with the TensorFlow team.

After identifying the opportunity for predictive prefetching with Guess.js and building a solution in our partnership with TensorFlow we developed a sophisticated pipeline that receives data from Google Analytics, pipes to to TFX via BigQuery, generates a TensorFlow model that we can late use in TensorFlow.js to prefetch resources in any Angular (or not) application. You can read more about our work on the official TensorFlow blog.

For I/O 2021 I also worked on TensorFlow.js bindings for Angular that allow developers to use machine learning in the browser declaratively and efficiently!


Medal from the National Karate Cup

That's mostly a sentimental cookie in the jar. My very first karate competition was in kata around 1998-1999. Back then I was 8 years old and my kata was far from great as you can imagine :). That was one of my last kata competitions as well, since I switched to kumite soon afterwards. The reason was mostly that I did not feel prepared and my technique was not great.

Since then, I had the opportunity to train with some karate legends such as shihan Gosei Yamaguchi and sensei Buchwald in the Bay Area, California. 22 years after my first tournament, there was another karate competition in Veliko Tarnovo so I decided to join! I ended up getting the third place and I was 0.2 points away from the second. I also got a bronze and a silver medals in team kumite and kata, but that was due to my awesome teammates. It was a lot of fun to go back to the place where my karate adventures started :).

Angular Technical Lead & Manager

June 2020 I became the technical lead and manager for Angular DevRel. Feeling very humbled and honored to be working with such a passionate group of smart people.

ng-conf keynote

After speaking on ng-conf for the first time in 2015, in April 2020 I gave the closing keynote of the event. I spoke about the status of "Angular's SSR, prerendering, and deployment".

This event was particularly important to me being part of the Angular community over the past 8 years. In my talk, I shared personal story about my passion for the Web and invited one of our most prominent partners on the virtual stage :).

Forbes 30 under 30

On the 4th of January, Forbes Bulgaria published an article called "Beautiful Code" about my story, including me in their selection "30 under 30" for 2019.

I received this honor because of the successful acquisition of Rhyme.com by Coursera which attracted the EdTech giant to Bulgaria and my influential open-source projects and articles.


Codelyzer with 1m downloads a week

The popularity of Codelyzer kept growing and it turned out to be the de facto standard for analyzing Angular apps.

In September 2019, it hit 1 million downloads per week and 51 million downloads since published!

Rhyme acquired by Coursera

A little over a year after I announced Rhyme on ng-conf, the company got acquired by Coursera.

Thanks to the acquisition, Coursera expanded in Sofia, working with a talented engineering team that I built. This event is a big win for the emerging tech community in Bulgaria. I hope more tech giants discover the potential that this part of the world has!

Speaker at Google I/O

May 2019 I gave my first talk on Google I/O! The topic of my presentation was "Faster Web Navigation with Predictive Prefetching".

In my talk I explained how to use predictive prefetching of JavaScript using Guess.js. Together with my talk, I was also staffing at the "Performance Budgets" booth in the Web Sandbox. I had fantastic several days on the event, brainstorming on different challenging problems with hundreds of engineers from all around the world.


Joined Google

Working for a couple of years on different startups I noticed that I started spending more and more time building tools for developers, speaking on conferences, and writing technical content.

This is why I decided to pursue my passion and start working full-time on open source frameworks and tooling. I interviewed with Google and joined the Angular team. You can read more about this in the following article.

Announcement of Guess.js on Google I/O

After my initial research on "Machine Learning-Driven Bundling. The Future of JavaScript Tooling.", I had a conversation with Addy Osmani and it turned out that we're both working on solving similar problems.

Together with Addy, Kyle, and Katie, we decided to join forces under the project Guess.js.

On 9th of May 2018, Addy Osmani shared Guess.js during Google I/O 2018. His talk can be found here.

Release of Revive

I found a gap in the Go ecosystem. They didn't have a fast, extensible framework for static analysis so I decided to fill it.

In February 2018 I released revive. It is currently one of the most popular linters and frameworks for static code analysis for Go. It's used by Grafana, TIDB, etcd, Atlassian, and many other companies and projects. It's one of the recommended linters in VSCode.

Release of Rhyme.com

On ng-conf 2018, during my session "Optimizing an Angular Application", I had the opportunity to share with the world the product that our team has been working on since early 2017.

During the conference, another workshop for Bazel by a Google engineer used Rhyme.com to let their attendees practice along.

In these two sessions, over 250 people were using Rhyme to solidify their engineering skills!

Data-Driven Bundling

In March I shared my research on topic "Machine Learning-Driven JavaScript Bundling".

The article includes an extensive research in the area, a novel approach for achieving data-driven bundling on low level of granularity by using static analysis, and a working prototype with the state of the art Web tooling.

The techniques include data-driven prefetching and data-driven chunk clustering. A few weeks after I published my article, I had the opportunity to present the research in Oxford, UK during Render 2018.


"Switching to Angular" got published

A day before my birthday, on the 1st of November 2017, the third edition of my book "Switching to Angular" got published!

It incorporated the latest changes introduced by Angular version 5 and incorporated additional improvements such as introduction to structural typing, alignment to the new StaticInjector API and many others.

I am very thankful to the Angular team for their assistance during the alignment to the latest changes introduced to the framework. They are a constant inspiration!

Two awards from the President of the Republic of Bulgaria

On 10th of October 2017, I became the first laureate, in the history of the national award "John Atanasoff" of the President of the Republic of Bulgaria, who has been awarded in two different categories in one year.

President Rumen Radev awarded me with a diploma for the award "John Atanasoff", which is given to young scientists and professionals with contributions with global impact to the development of computer science and software engineering.

The second award, that the President awarded me with, is for the development of a project with wide social impact.

A few of the listed achievements are my contributions to open source software, books that I authored, presentations on major international conferences, and influential publications.

codelyzer with 1,000,000 monthly downloads

Early 2016, I started a project for static analysis of Angular applications. Some of my core motivations were an automatic verification of the assignments of my students in the class "Advanced JavaScript" at Sofia University, and automatic, static enforcement of the practices from the Angular style guide I worked on.

Later, the Angular team introduced codelyzer to the Angular CLI. In the same time I implemented a few more crucial modules related to templates and styles analysis.

Late September 2016, codelyzer hit 1,000,000 monthly downloads!

Co-founder & CTO at Rhyme

In 2013, I got hired as a contractor to work on the web application for a Silicon Valley startup called Brownie Points. Since then, we built a few more MVPs and a new version of the Brownie Points app. Unfortunately, the business model of Brownie Points cracked because of restrictions set by policies of the Apple's App Store.

At that time, I got a few amazing offers from the best technology companies in the Valley. This put me at a crossroad:

  • Work with the smartest people in the Valley having a safe job
  • ...or go into the unknown and work on a startup

After we stopped working on Brownie Points, we bootstrapped another idea we had over the years. Because of my high involvement from the beginning and the critical, high-quality modules of the product I developed, in both the front-end and the back-end, I joined as a co-founder and the CTO.

Organizer of Angular San Francisco

During ng-conf 2017, the Angular team invited me to join as an organizer of Angular SF.

Since then I have the privilege to talk with a lot of smart engineers and the DevRel teams of many organizations which are hosting our events.

Presented "Mad Science with the Angular Compiler"

In the beginning of 2017, I applied for a talk on ng-conf, called "Mad Science with the Angular Compiler". At the time I wrote the proposal I didn't have a clear idea of what my presentation is going to be about. I had some blurry thoughts about compilers, visual UI builders for VSCode, and others.

A few weeks before my talk I got a few fun ideas:

  • Tool for automatic migrations between Angular versions
  • Tool for reverse engineering of Angular applications
  • VR visualizer of an Angular application

I implemented these ideas and presented them on the conference, together with an overview of how compilers works. The feedback from my talk was great and the tools got widely adopted by the community.

"Getting Started with Angular" got published

Because of the success of my book "Switching to Angular 2", Packt Publishing contacted me to work on the second edition, which incorporates the latest changes that the Angular team introduced to the framework.

In February 2017, the second edition of my book was released.


Presented "Scalable Application Architecture"

In the product that I was working on - Brownie Points, we decided to go...very bleeding edge. We developed the front end in 25k lines of TypeScript and Angular, while Angular was still in beta.

At the beginning of the product's development, I came up with a scalable architecture which allowed us to perform efficient and coherent state management.

The talk about my "Scalable Application Architecture" I presented on ng-be and FDConf.

Moved to Silicon Valley

That was a big step. Especially after initial inconveniences regarding my bank account and accommodation...leaving everything back home kept me quite nostalgic.

On the other hand, I was looking forward for what North California has to offer.

Got H-1B Visa

Not long after I got my invitation to join the Angular team, I received my H-1B visa. This gave me work permission in the United States, so I headed up to Silicon Valley!

Unfortunately, this blocked me from continuing my work with the Angular team because of administrative restrictions, however, it didn't stop me from supporting the Angular community as an external contributor.

Joined the Angular Team

Because of my implementation of a Service Worker for automatic generation of Application Shell and all other listed contributions below (book, blogging, speaking, open source contributions), I got invited from Google to join as a member of the Angular team.

There are no words capable of describing my excitement when I got the invitation...Thanks to this I got the opportunity to work with some of the smartest people I know.

Became Google Developer Expert

Because of my consistent contributions to Angular and related projects, my frequent talks on international conferences, a popular blog, published book and other achievements, Jeff Cross from the Angular team invited me to join as a Google Developer Expert.

I really appreciated the invitation and went through the process as quickly as possible. Although that was an amazing recognition from Google, I got even more thrilled by the opportunity to join the Angular organization on GitHub as a member with write access to the mobile-toolkit repository. This gave me the opportunity to create value with a bigger reach!

Got the Google Peer Bonus

Because of my contributions to the Angular core, Angular mobile toolkit, Angular style guide, and the Angular CLI I got nominated for the Google Peer Bonus.

This is a recognition from Google to people who have significant contributions to open source project with high social impact. I got the honor to be one of the two developers nominated for Angular.

Presented at ng-conf

After I joined the Angular style guide team and had the opportunity to work with Igor Minar, John Papa, and Ward Bell, and codelyzer got traction in the community, I was invited to speak on ng-conf 2016.

That was my first talk in front of more than 1,500 people!

During my presentation I officially announced codelyzer for the first time.

My first book got published

Because of my activities in the AngularJS community and my popular blog posts, Packt Publishing invited me to write a book about Angular. I was thrilled when they told me that Miško Hevery has agreed to be my technical reviewer. That was an amazing honor for me since I'm following his work even before he created AngularJS.

March, 2016, we published "Switching to Angular 2". Later this year, "Switching to Angular 2" turned into one of the bestsellers of Packt!


Graduated MSc software engineering

In 2015, I graduated my MSc in Software Engineering from Sofia University. For my last class, I developed a programming language with a distributed front-end and call stack.

My thesis was on topic "Remote Access to Physical and Virtual Machines" and was related to modules from what we later called Rhyme.com.

Started "Angular Seed"

Because of my contributions to the AngularJS community, I was looking forward to trying Angular. I even included it as part of the program of "Advanced JavaScript" at Sofia University. I was looking for a reliable starter project which will help me handle the entire tooling overhead.

Unfortunately, such starter project didn't exist back then so I created one and called it Angular Seed. To the project joined the amazing contributor Ludvoic Henin, who did a stunning job on the core architecture. Months after that, I used Angular Seed for "Advanced JavaScript" and my book "Switching to Angular 2".


Gave my first international talk

I did a research in the area of implementation of immutable data structures and their practical applications in the development of user interface. Later based on my results I published a few posts. Inspired by the research, I applied for a talk at ng-vegas and I got accepted!

It was such an honor for me to travel all the way from Sofia to Las Vegas in order to present my findings!

Wrote "Angular in Patterns"

AngularJS was the most well-designed JavaScript framework back in 2014. In my class for object-oriented design and design patterns, I worked on an article which explains the individual design patterns and their practical applications in AngularJS.

Later, worldwide contributors translated the document to French, Japanese, Russian, and Chinese.


Wrote "AngularJS Style Guide"

In late 2013, I noticed that a lot of different tech communities had very well established best practices for software development. Unfortunately, at that time, in JavaScript, we had nothing but coding style guides.

A few hours after that, I wrote the first draft of the AngularJS style guide. Later, it got translated to 13 different languages and got over 75 external contributors! Now the project has over 5k stars on GitHub.

Weeks after that, my AngularJS style guide inspired the development of a few others.

Graduated my BSc

In 2013, I graduated my BSc degree from the Department of Mathematics and Computer Science at Sofia University. I got the highest grade in my class and the highest score for my MSc admission examination.


TA and part-time Lecturer

My professors invited me to join as a teaching assistant in the classes "Analysis and Design of Software Projects", "Programming with ASP.NET" and later as a part-time lecturer and expert in the class "Advanced JavaScript".

It was a great experience to explain in deep details the tools I was working with on a daily basis. I found it fascinating to connect concepts from the theoretical computer science to the wild JavaScript ecosystem.


Founded SofiaJS

In Sofia that time, there were user groups for Java and .NET but when I was looking for a JavaScript community I wasn't able to find one. I wanted to meet like-minded people who I can chat with.

That's why in October 2012, I organized the first SofiaJS meetup at initLab, the local hackerspace in Sofia. There were maybe...40 people? That was a huge success for me. I was so happy I can chat about what I do and exchange ideas with others.

Until then, I organized tens of events either by myself or with the help of the other co-organizers, especially Mihail Mateev (the most prominent MVP in Bulgaria) and Georgi Serev!


Award in web programming

In high school, I was taking apart in National competitions in software development. According to the rules, students had to develop a complete software project on whatever topic we want and present it in front of a jury from Sofia University.

For one of these competitions, I developed a CMS system from scratch (yes, not even jQuery) with intensive Ajax usage (yes, Ajax was a big deal back then...we used workaround the lack of wide support for XMLHttpRequest with hidden iframes). I was a laureate in a few competitions and my CMS system was used for the official website of my high school.

Graduated with honors

Later this year, I was awarded a plaque and announced as leader of the course because of my achievements in information technologies, astronomy, and physics, martial arts, tennis, and mathematics.


National Karate champion

In 2008, just before I got my black belt in karate, I became the National champion of Bulgaria in Kumite (sparing).

There is no better feeling than hearing "We Are The Champions" by Queen while getting my gold medal. This championship gave me the opportunity to train with the National Karate team as preparation for the European championship.

University admission from a programming competition

As the laureate of a National Programming competition, I got grade 5.5 as admission score for BSc degree at Sofia University.

From other competitions I got excellent grade for admission in 4 other universities.


My first web application

In 2007 I got introduced to Web development by my high school teacher Svilen Dimitrov. He provided an incredible support helping me to understand the basics of JavaScript, MySQL, PHP, and Flash.

A few weeks after that, I developed my first website for the TV show "Perfect Strangers". Later, I developed a few more web applications for collecting data from observations of meteor showers.

About the same time I developed a few more games with Visual Basic and C++.


My first program

Well, although I developed my first "Space Invaders" game a bit earlier using different tools (drawing the graphics myself on MS Paint), I wrote my first real program in Pascal.

It was one of these simple "Hello World!" programs. I was amazed that I was able to write instructions to control a machine.


Physics and astronomy

I was fascinated by the space. I had my old Russian telescope reflector from the brand "Alkor". I used to spend almost every clear night observing the sky, writing down my observations in a notebook.

That's how I got introduced to our local Astronomy school in Troyan where I met one of the most dedicated teachers - Nadka Dankova. She was helping me with the preparation for the National astronomy competitions I was participating in.