Skip to main content

Author: markozivanovic

Virtual coffee with strangers

Do you want to try out a slightly different approach to meeting new people, sharing some knowledge, and learning something new yourself?

Start having virtual coffees with strangers as I do!

TL;DR – I maintain a Calendly link where people can book a 30-minute video chat with me (almost) every week. Here’s the link: https://calendly.com/marko-zivanovic/virtual-coffee

But why? I love meeting new people! I love going to meetups and conferences! That was all good until we all got locked down. So, I had to find another way to do it. We’re roaming free again, but I decided to keep my virtual coffee slots. I never could’ve known the encounters would be so rewarding!

Here are some stats:

  • I met with 73 people since I started sharing my Calendly link
  • We shared 49 cups of coffee, 14 beers, and 10 glasses of wine 🙂
  • 11 people asked me to comment on their CVs (I started counting it because I noticed it’s becoming a pattern 🙂
  • I met with 5 people in person after we had the virtual coffee

So, if you think you’d enjoy it – give it a go! I promise it’s fun!

I’d also like to invite you to book a virtual coffee with me:

https://calendly.com/marko-zivanovic/virtual-coffee.

You don’t have to be a stranger. Let’s catch up on the last 10 years we didn’t see each other! 🙂

You’re not dumb, the prerequisites are bullshit

There’s a chapter you can find in almost all technical books you’ll ever open. I hate it with a burning passion. It’s the chapter titled “Who this book is for,” usually found in the book’s preface.

Authors (actually publishers) use that chapter to list the skills you should have to keep up with the book contents. More often than not, it’s misleading, downplays the expertise you need to have, and it sets the bar unrealistically low.

But why do they do it? To try and sell more books, of course. If you can broaden your target demographic, chances are you’ll sell more copies of the book. In the end, it’s hard to prove that it’s misleading because experience is subjective. What’s the difference between being a novice and an intermediate Java developer? It’s open to anyone’s interpretation. That’s the beauty of the scheme.

Once, in what is now a distant past, I was gullible enough to believe the contents of that chapter. I would usually skim through the book’s first pages to find the prerequisites needed to follow the text. I would buy the book, happily breeze through the first few chapters, and I would get that nice rush you get when you learn new stuff.

Then, I would come to a chapter that made no sense to me at all. It’s like the author went from some basic arithmetic to a deep dive into complex topics on the mysteries of the universe. At that point, I would get frustrated. I would ask myself if I’m dumb. Stubborn as I am, I would spend hours reading other sources on the subject and then return to the book to prove that I could master the topic and finish the freaking thing.

I don’t think it should be like that. It would help if you were honest about the level of knowledge that your readers should have before explaining some concepts to them. Dear publishers, rethink how you’re writing the “Who this book is for” chapter. You may lose some readers, but the ones you’ll get will be grateful for not feeding them bullshit.

My collection of fun & interesting hacking/coding movies and literature

I was interviewing for a job recently, and I got asked what got me into coding. It’s not the first time I got asked that same question, and it’s one of my favorites. I love to see the person’s reaction who asks me the question when I tell them the answer.

It’s the movie Hackers from 1995! I’m not joking. That’s the movie that made me fall in love with computers, coding, and hacking.

Many people consider it cheesy, but I don’t care. I watched it probably twenty times, if not more. I watch it any time I find myself feeling down and unmotivated. It reminds me of those first days, that initial spark. Just like you would reminisce about a beautiful beginning of a past love affair when you feel lonely and unloved.

I’m always on the lookout for some good hacking/coding fiction. It doesn’t have to be fiction; it can even be a good documentary. The main point is to find something that I can read, watch or listen to that will motivate, inspire or excite me about my craft when I need a pick me up.

So, without further ado, here are some of my favorite movies and books that are part of my “My crime is that of curiosity” collection. Yep, I called it after the line in the essay called The Conscience of a Hacker. Of course, my favorite movie of all time references it. 🙂

Feature Films

Documentaries

TV Shows

Books

Disclaimer: The last one is my shameless plug. I don’t think it deserves to be listed with the greats, but this is my little blog, so I gave myself a pass! 🙂

What’s your favorite hacking or coding related movie or book? Do you have anything newer to recommend?

My development philosophy

I was reading a book by Ashley Davis on bootstrapping microservices*, and at the beginning of the book, the author sums up his philosophy of development as:

  • Iterate
  • Keep it working
  • Move from simple to complex

Fair enough! That sounds like a reasonable dev philosophy. Even if I found something in there I dislike, I can’t argue with the man. It’s his philosophy, and it’s his right for it to be whatever he likes it to be!

Reading those three bullet points made me realize that I don’t have a development philosophy, and I’ve been developing for over a decade! It’s time for me to sum up my dev philosophy!

My development philosophy summed up, v0.0.1:

  • Explore and prepare
  • Break down the complexity to micro implementable chunks
  • Develop with end-users in mind
  • Optimize and iterate
  • Keep shipping

1) Explore and prepare

I’m not the one to jump into the codebase without reading the manual first. Based on my anecdotes, that makes me a minority. People usually jump right into the code and figure out the bigger picture afterward. I prefer to have the big picture (if possible) before I start changing things.

2) Break down the complexity to micro implementable chunks

Decomposition is my key to handling complex systems. It’s a no-brainer, but it’s fascinating how often people forget about it when they take on a problem. I always try to break things down to the smallest possible unit of work when I’m working on a project.

3) Develop with end-users in mind

It’s easy to forget when writing software that actual people will use it. Often, you want to finish the damn thing as quickly as you can and continue with your life. In the end, it’s all about your fellow human beings. That mantra makes me a better developer, or I’d like to think so.

4) Optimize and iterate

I nearly didn’t add this one because it’s so obvious and implied for most developers. I did choose to add it because it’s one of the biggest and arguably the most important parts of the development process.

5) Keep shipping

Unless it’s something done for the pure enjoyment of doing it, software should be shipped and used. Perfect is the enemy of good. Waiting for all the stars to align to publish your code is rarely a good thing to do. Ship early, ship often.

What’s your philosophy, if you have one?

Bootstrapping Microservices with Docker, Kubernetes, and Terraform by Ashley Davis

The downward spiral of digital beggars

There’s a really annoying trend on social networks, where people will post an update only to ask for more followers, or likes (or whatever the term for upping the imaginary reputation number is).

I use Twitter, so I see it daily there. Tweets are always written in a form similar to the following:

  1. I need one more follower to 1000, please, please help me out guys!
  2. Arrgh, my current number of followers is messing with my OCD! Can you do something about it, pleeeeaseeee?
  3. Monthly follower goal: +10k. Let’s do it! #hustle

By doing a quick internet search, I found there’s an existing definition of a digital beggar in the Urban Dictionary. This is the definition, written by ‘Anti Digital Beggars’:


dig·it·al beg·gar dij-i-tl beg-er

Function: noun

  1. a person who asks for free stuff, swag and even meals on the internet, usually over public social media sites like Twitter or Facebook. Usually shameless and feels he/she has a right to ask
  2. a blogger/twitter-er who demands to get invites to all the events organized around his/her area – regardless of whether he/she can make it or not

This definition was added to the Urban Dictionary in 2010. How things have changed… Ten years ago, people were digitally begging for shirts, mouse pads, and events where they could eat and drink.

Now, I can understand that. Using the internet to modernize the begging process, and make it more “21st century”. That I can make sense of. Asking for food and shelter, which was done for thousands of years, only now it’s digital.

What I can’t make sense of is begging for a like or a follow. It goes against the whole point of those indicators; it’s spam, and it’s hugely distasteful. It also feels so cheap, and totally not something worth begging for.

  1. People tend to gravitate toward good and/or interesting content. That kind of content sells itself. Share what you do, even ask your friends to help you out, but don’t beg!
  2. Building an online following without having anything to say is wasted energy. If you need to beg for more followers, it means you’re probably doing something in the wrong order.

Note: I didn’t go through my entire public online history, but I’ve asked for retweets and/or shares on a few occasions. Privately, I did the same.

I believe there’s a fine line between asking your friends to help you make something you care about more visible, and begging for likes and followers when its only purpose is embellishing the social stats.