'I Open-Sourced My Thinking Process': Meet HackerNoon Writer & Test Automation Engineer Miki Szeles

Written by mszeles | Published 2022/04/26
Tech Story Tags: meet-the-writer | test-automation | writing | hackernoon-contributors | hackernoon-community | software-testing | automation-testing | thinking-and-thoughts

TLDRMiki Szeles is a software developer with more than 15 years of professional experience. He uses Selenide for E2E testing, Karate DSL for API testing, and Gatling for performance testing. He is an open-source contributor and has created multiple open-source projects on his GitHub. He has also started a Bounty Hunting Reward Program to get coffee for implementing any of them.via the TL;DR App

So let’s start! Tell us a bit about yourself. For example, name, profession, and personal interests.

Hi!

I am Miki Szeles from Hungary, Budapest. I am a father, husband, and soon-to-be happy dog owner.

Being an agileish creativeish technicalish writer

I am an agileish creativeish technicalish writer. I am working with a team of 40 agileish creativeish thinkingish imaginary friends to ensure we provide the best immersive experience for you.

Being a software developer and test automation engineer

I am a software developer with more than 15 years of professional experience, during which I led the dev team for 8 years and the test team for 1 year.

Currently, I am working at one of the world’s best companies DMG MORI HEITEC Digital Kft. It is not just strong technically, but it is a human-centered company that cares about people.

I work as a Senior Software Engineer in Test (SDET). I use Selenide for E2E testing, Karate DSL for API testing, and Gatling for performance testing.

Since I started to use Karate for API testing and the Selenide framework for E2E testing, I would never use any other framework as they are superior to the other frameworks. If you are interested in the whys, just read my blog or drop me a message on LinkedIn!

Being an open-source contributor

In the last half-year, I became obsessed with open source. I have created multiple projects on my GitHub with which you can jumpstart your test automation project using Selenium, Selenide, Appium, Protractor (soon to be discontinued), Karate DSL, and RestAssured.

Most of them are based on Rahul Shetty’s excellent video courses, and the Karate is from Artem Bondar’s Udemy course.

From all my open source projects, I am most proud of the Selenideium Element Inspector Chrome Extension, with which you can generate all the relevant selectors for the most popular E2E frameworks (Selenide, Selenium, Playwright, Cypress, Squish, and TestCafe) in the form of complete copy-pastable lines of code with a single click on the web element.

161 testers are using this tool from all around the world by now, and based on my experience, I can assume all of them can save approximately 1 hour per day thanks to Selenideium Element Inspector.

I have even started the Selenideium Element Inspector Bounty Hunting Reward Program. You can earn coffees via buymeacoffe.com for contributions like submitting a bug fix, feature, refactor, or improvement request. You can also get coffee for implementing any of them and even posting about the Selenideium Element Inspector itself.

You can download it from the Chrome Web Store. Just click here to check it in the store!

Being open-source

I am a crazy person, so on the 1st of April, I open-sourced my whole life, and as I am doing it on Github, I also open-sourced my thinking process, my writing process, and my art creation process thanks to the commit history. Be warned you will not find the usual commit messages there. 😊

This is my legacy to my son Levi, my family, my friends, and everyone interested in the case the time comes or a tram goes through me.

Being an agileish superhero with the abilities of super thinking, super learning, and super memorization

I am an agileish superhero with superpowers of super thinking, learning, and memorization. During the last three decades of my life, I have experimented with almost all the memorization, learning, productivity, and time management techniques. By now, I have incorporated almost all of them into my life; which one I use always depends on the specific task.

I have started a Facebook Group called Agileish Superheroes and also my Youtube channel to show people how they can exponentially improve their memory, their learning, and everything else they are doing day by day by becoming an agileish superhero.

I share my experiences with memorization techniques like memory palaces, peg lists, associations, language learning, super learning, and speed reading by applying these techniques in real-time on various tasks.

Being a photographer

I am also a professional photographer with 8 years of experience specializing in event photography. I deliver quality images in any situation, even from shallow light environments. I am postprocessing all my pictures to make sure you really get quality content. I am communicating your message via my photos, and I am almost invisible so that I won’t disturb the event, and I always have a huge smile on my face. You can check my work on Facebook and Instagram. I am incredibly proud of my water droplet and Lindy Hop dance photographs.

Interesting! What was your latest Hackernoon Top story about?

My latest Hackernoon top story was about Selenide. A beautiful friendship started when I got to know Selenide 4 months ago.

Since then, I have helped another team in our company transition from Selenium to Selenide and

created the Selenide User Group on LinkedIn together with Andrei Solnstev, the developer of Selenide, in which we have connected 114 test automation engineers from all around the world.

Do you usually write on similar topics? If not, what do you usually write about?

Yes, I do.

It is essential to promote test automation engineering as most developers consider it inferior to software development which is entirely false as it is software development at its best.

Most full-stack developers work with 2 frameworks. One frontend framework like Angular and one backend framework like Spring.

I call myself a full-stack test automation engineer as I work with 3 frameworks:

  • Selenide - E2E testing automation framework
  • Karate DSL - API testing automation framework
  • Gatling - Performance testing framework

In addition to that:

  • I touch the frontend code to add missing IDs, so I do not have to bother the developers with that.

  • I will soon take part in developer code reviews to have a better understanding of the system,

    which enables me to write better tests.

So that is why I call myself a full-stack test automation engineer.

Clean code and maintainability are equally crucial for both production and test codes.

I have multiple articles about testing, which I will repost soon here on Hackernoon:

  • Selecting a Load And Performance Testing Framework - Gatling vs. Grafana k6
  • How Google Tests Software - What can we learn from Google? - A book extract By Miki Szeles
  • To Test, or Not to Test, That is Not The Question Reloaded - AKA Why You Should Replace Your Automated Tests With Manual Tests

I am also writing about:

  • Writing: Start writing now! Seriously!
  • Conferences, data science and AI: Would You Freak Out If You Could Talk To Dead People? - Miki Szeles's Report on Reinforce AI Conference
  • The Hungarian language: A Brief Introduction To The Hungarian Language 😊
  • How I became a detective to debug the internet: The Mystery Of The Supposedly Red ❤ Emoji AKA The Story Of How I Became A Software Developer Detective To Debug The Internet.
  • Refrigerator: The Mystery Of The Small But Cute Refrigerator On The 3rd Floor - My First 3 Months At DMG MORI HEITEC Digital Kft.
  • Marketing: Why You Always Have To Close Your Article With A Call To Action AKA A Brief Introduction To Hashnode Widgets By Miki Szeles
  • Lifehacks: How To Customize Your LinkedIn URL in 6 Easy Steps AKA How To Boost Your LinkedIn SEO AKA Lifehacks By Miki Szeles
  • (IT) Recruiting: How can you find a job in one round of interviews? AKA Perfectish Matchish Partnerish Opportunityish From Developerishish AKA The Great Refactoring.
  • Super learning: How You Can Become An Agileish Super Learner AKA How You Can Become A Super Thinker AKA The Proof Of Concept (POC)
  • Personal stories: The Story of How I Became a Pet Owner
  • Depression and Anxiety: How depression ruled my life for three decades AKA How Szilvia Kiss, my RED EQ trainer, exiled depression and anxiety from my life in one minute

Great! What is your usual writing routine like (if you have one?)

I started technical writing two and a half months ago.

I followed Ann Hadley’s advice to write the first ugly draft in the past month. As soon as you have something, you can iterate on that and make it better with each iteration.

By now, my writing style has completely changed for two reasons.

The first is that I started to work with an imaginary agileish creativeish technicalish writing team. Thanks to them, I can examine any problem/question from 40 different viewpoints, so basically, my writing is usually going the following way:

I bring a topic, and then I start to talk with my team, and even I do not even know what the outcome of the writing will be. The previously mentioned To Test, or Not to Test, That is Not The Question Reloaded - AKA Why You Should Replace Your Automated Tests With Manual Tests is an excellent example.

In the past, I had several iterations after writing an article. It took weeks to publish. I have collected feedback from colleagues and friends in multiple cycles as I was not confident enough.

By now, I have become an agile learner and writer too. I have a retro after each paragraph or after a few paragraphs. I collect what went well, what went wrong, and what I will do better in the next section (s).

Introducing agile in my everyday learning process completely changed my life. Thanks to the short feedback cycle, I am exponentially improving in whatever I do. I highly advise giving it a try.

So now, I am only doing 3 iterations of writing, then I publish, and then comes the following article, which is also an iteration.

During the first iteration, I write.

During the second iteration, I do the following:

  • Correct all spelling mistakes thanks to the suggestions of Grammarly, so I can publish articles with almost 0 errors (almost, as sometimes I decide to leave an error there intentionally).
  • Highlight the essential parts in bold in case it is a long article so readers can easily decide whether this article is for them or not.
  • Finish the unfinished topics which remained there due to my constantly ongoing associations.

The third iteration is consulting with Good Old Mother Grammarly Premium, which nowadays provides 500+ suggested changes to my longer articles to make my writing more varied and easily digestible.

I even wrote an article with the title How to write an article just about almost anything, but up till now, I have not published it. You can check the draft here if you are interested.

Being a writer in tech can be a challenge. It’s not often our main role, but an addition to another one. What is the biggest challenge you have when it comes to writing?

I do not see writing as a challenge. For me, it is a source of joy, motivation, and inspiration.

Writing is not my primary role, but I plan to become a freelancer. Not because I would have a problem with software development, but because I want a better balance between family time, writing and software development.

My biggest challenge is to keep the attention of my readers. Nowadays, I tend to write long articles with 15+ minutes of reading time, but I also have a 42-minute long piece.

We live in the short attention era in which people have little time to digest a tremendous amount of information, so they rarely spend 10+ minutes reading a single article.

Despite this, I am still trying to keep the attention of my readers. Here are my all-time stats (2,5 months) :

I do consider 48 seconds of session duration a good result. If we do the math:

19000 x (1 - 0,8633) x 48 / 60 / 60 = 34.63 hours of read time.

It is okayish. Okayish, as I usually put 1-20 hours into one article, which means up till now, I have written my articles much longer than they were read. Still, thanks to referencing my related writing very often and also submitting my articles to search engines, my already posted papers will produce more reading minutes overtime.

My reasoning behind the long article is that I’m not particularly eager to split up belonging topics into smaller chunks as I want to give the possibility to read them at once.

It is like the HBO vs. Netflix approach. HBO releases its series one by one, and Netflix releases a whole season at once.

I love experimenting, so thanks to this interview and a discussion with my team manager Ákos Piltmann, I came up with another idea:

I will make my upcoming articles a series, releasing them either the HBO way or the Netflix way. Either post them within a few minutes or wait one day before posting the next piece of the series. I will try both approaches.

My second most significant challenge is to decide whether to put more effort into a draft to make it an article that I can publish or write a new one as I continuously have new ideas.

What is the next thing you hope to achieve in your career?

Let me quote my expert’s MitDepends’ words: It depends.

It depends on the field.

  • Software development: I am developing an open-source brainwave to text application using an EEG device in my free time. This is the main focus at the moment.
  • Test automation: I am transitioning to an expert who helps teams introduce test automation or improve their current testing processes.
  • Learning: I am learning speed reading and PhotoReading, so if I could incorporate those techniques into my everyday life, I could become a super learner.
  • Experience sharing: I am doing public learning, so I share everything that I learn and amplify my thoughts so people can see how effective these techniques are and that everybody can learn these techniques. My goal is to help as many people as I can.

Wow, that’s admirable. Now, something more casual: What is your guilty pleasure of choice?

To quote one of my favorite cartoon characters Gombó Artúr: chocolates: round, square, long, short, spherical, flat, dense, holey, packed, naked, whole, half-eaten, sweet, bitter, tubular, hazelnut, milk, liqueur, yesteryear, this year and every other kind of chocolates made anywhere in the world.

Do you have a non-tech-related hobby? If yes, what is it?

I am playing go. I had been playing go around 10 years ago for a while. I was 12 kyu at that time.

Now I am trying to apply my agileish super learning techniques to advance in go.

Mostly I play against AI, the app called Crazy Stone, as I can have a very short feedback cycle thanks to the immediate answer of the computer. I just beat the 5 kyu AI the first time today, but I am aware that it is entirely different to play against human players.

I sometimes even play against myself, trying different tactics like being aggressive and defensive. This method is similar to how AI plays against itself to improve.

Soon I will upload all my go games to my open sourced life repository, and I will also share Mikaru’s advice on playing go.

Mikaru is the go expert on our team, he is a huge fan of anime and obsessed with ghosts, and he talks to imaginary friends just like me.

I am also playing online on KGS with the username mszeles. So in case you are playing go, then do not hesitate to contact me, it would be fun to play together.

What can the Hacker Noon community expect to read from you next?

I will post soon my writing mentioned above, “To Test, or Not to Test, That is Not The Question Reloaded - AKA Why You Should Replace Your Automated Tests With Manual Tests,” as it contains many controversial topics, which are the perfect opportunities to start conversations.

My teammate Nester will start his series regarding testing.

Nester is the son of NoSEO and the twin brother of Neveloper. These people are THE EXPERTS. They are the worst experts in the world, to be honest.

Thanks to this, they are invaluable as you have to do the exact opposite of what they are suggesting.

Or not.

Thanks for taking the time to join our “Meet the writer” series. It was a pleasure. Do you have any closing words?

Yes, I do.

I attended a 2-day long charismatic speaker course a few years ago, which was a life-transforming experience. Without that, I would not be here today.

Imre Bolya, the tutor, taught me many things regarding public speaking. Thanks to him, I realized there is a deeply buried storyteller in me. Nowadays, it is coming out more and more often.

Imi asked me a question on the last day, which inspired me to continuously think during the previous years. I was thinking about it sometimes less, sometimes more, but it was with me, and it will be with me till I die.

That is the question with which I close this article:

What would you say if the whole world listen to you for 5 minutes?


Written by mszeles | I am an enthusiastic software developer since my childhood. I work as an SDET using Karate DSL and Selenide.
Published by HackerNoon on 2022/04/26