DONN FELKER

Lessons Learned From the Software Industry

  • Home
  • About
  • Caster.IO
  • Fragmented Podcast
  • A Newsletter For Maximizing Your Life
  • Contact

Connect

  • GitHub
  • Instagram
  • LinkedIn
  • RSS
  • Twitter

Powered by Genesis

What Gets Measured, Gets Managed

December 10, 2020 by Donn Felker

I used to just fly by the seat of my pants on everything. If I felt OK about something, then all good. If it felt bad, then time to look into it. I bet you have done the same thing many times.

​You manage a ton of things in your life …​

Yourself, your family, your finances, your business, your pets, your projects at work, etc.

Face it, there’s a lot going on.​

How do you know how well you’re doing in each one of these areas?

Like most people you probably follow you “gut feeling”.

  • How do you feel about X?
  • How do you feel about Y?
  • Are you doing good?
  • How’s your gut feel?
  • Does your intuition tell you everything is Ok?

Do you have a feeling inside of you knowing that you could do better?

​I know I have.​

I suspect that the latter half is where you fall – you could do better at X, Y, or Z.

But really… deep down … you know that you’re doing “Ok”, but you’re not really sure how well you’re doing and you know that you could probably do a lot better.

This is where the phrase …

What gets measured, gets managed.

… comes into play.​

In other words, when we keep track of something with measurable statistics we can then manage how well we’re doing with that one thing.

 

What types of things could be measured?

In business, this might be your MRR (monthly recurring revenue) or your Customer Churn (how many people are leaving) or it could simply be your site visitors or session length on your site.​

If you’re like me, and you write, you may want to increase the speed in which you type. In that case, you may decide to keep track of how many words you type per minute or hour. So you might keep that in a spreadsheet so you can calculate how fast you move.

One of the two most popular things in the world that get measured is body weight and money.

You wake up and drag your feet to the bathroom. Look in the mirror and pat your stomach. You then wonder how much you weigh while thinking:

“Hmm, this doesn’t look right. I wonder how much I weigh?”

You hop on the scale.

You’re now ‘measuring’.

You look at your bank account or a budgeting app and ask “How much money do I have”?

You’re ‘measuring’ again.​

What happens to these things when you constantly measure them?​

You manage them.

If you measure your weight, and you realize that you’re weighing more than normal, you’re going to start managing it. You will probably change what you eat, exercise more, etc.

That might lead you to measure other things, like caloric intake. Before you know it you’re on the AppStore looking up a calorie tracker and installing it on our phone so you can start “measuring” the food that you eat.​

Why? So you can manage it.

Why? So you can manage your weight.​

As you can see …

What gets measured, gets managed.

The same principle applies to finances.​

You look at your bank account and think:

“Where did all the money go?” … or something similar.

It’s at that point when you start tracking your spending. You’re measuring again.

You install a budgeting app like YNAB or Mint and start tracking your expenses, how much you spend, and then you can see where all of your money is going.

You’re now “managing” your finances.​

What gets measured, gets managed.​

When you don’t measure something, you’ll find it much harder to manage it.

For example, do you manage how many miles/km’s per gallon/liter your vehicle gets?

You probably don’t.

Some people do. Some people really want to know their fuel mileage.

Me though? I don’t care. Maybe you don’t either, who knows.

However, if for some reason you noticed that you were filling up your car with fuel more often you’d probably ask yourself “Why?” You’d then try to measure what’s going on.

Are you driving more? Are you harder on the gas?

If nothing has changed, you’ll then want to start measuring to figure out what’s going on.

You’ll then start to measure, so you can manage.

​

Measure What you Want to Manage

Anytime anything in your life feels completely out of control or even marginally out of control … well …

​This is a good time to start measuring some things.​

It’s also a good time to measure things if you just want to get a better handle on them too.​

Things I measure so I can manage them …

I measure the following things in my personal life:

  • Daily Sleep Time and Patterns (using this app)
  • Every Single Workout (including walks)
  • Water intake (I drink a minimum of a gallon a day)
  • Moods (using a mood tracker)
  • Finances (using YNAB)
  • Blood Levels (blood panels twice a year starting this year)
  • The time I meditate per day and aggregate (using a timer app)
  • Words I write per timed session (as I’m writing this doing this using Scrivener)
  • Kids School Assignments (using Google Classroom)
  • My kids’ device screen time (via ScreenTime on iOS and Family Management on PS4)​

In my business life, I keep track of other things like:

  • Number of tickets completed (Jira)
  • Things to be done (Jira)
  • MRR/Churn/Active users/MAU/etc (using Baremetrics)
  • Hours worked (using Harvest)
  • etc.

All of these things are measured and due to that all of them are getting managed in one way or another.

I also have periodic management tools that are used on occasion.

For example, during the coronavirus pandemic, many doctors have started treating patients over “telemedicine” (video chat). I have a digital thermometer as well as a pulse oximeter. I can now give the doctors the measurements that they need to help them make more informed decisions to manage my children’s health.

What gets measured, gets managed.​

When we don’t measure, we don’t manage.​

How to measure creative endeavors

Measuring is simple for things like caloric intake and finances. It’s very simple. The inputs are easy to follow, the outputs are easy to see and you can adjust.

With creative endeavors, it’s much different. You have to track things differently and each creative endeavor requires a different method.

I’ll cover two examples here:

  • Measuring Writing
  • Measuring Coding/Side Hustle​

 

Measuring Writing

For example, with writing, I realized over time that the biggest challenge is just getting the initial draft done. After that it’s editing, and cleaning it up. I find that editing takes more time because I’m reorganizing my thoughts, but at least the thoughts are down. I can then just tweak and edit the things that area already there.

However, that was a dilemma.

How can I measure this so I can improve it (manage it)?

Just introspecting itself is a form of measuring. Upon doing so I determined that my problem was that I was editing the same time I was typing. Fixing spelling mistakes is ok, but I’d re-write the same paragraph 5-10 times before I moved not o the next one.​

That was a problem. My solution was to just write and edit later.

I still needed something to focus on, so I decided to focus on how many “Words Per Hour” I was writing.​

A higher Words Per Hour (WPH) rate does not indicate that what I’m writing will be good, but it does provide me a metric that I can manage. I picked this up from this book — “How to Write 5,000 Words Per Hour”

For example, if I start editing while I’m writing my WPH will plummet. Why? I’m rewriting the same thing over and over and over and not creating new content.

When I don’t edit when I write my WPH skyrockets. At this time of writing, I’m averaging about 3,500 – 4,000 words per hour. Meaning that if I write for an hour at this pace I’ll put down 3,500 to 4,000 words per hour. My goal is to get to 5,000 WPH.

Again, this doesn’t mean that this content will be good. However, my goal is to get the content on paper (to be honest, a digital document of some sort – I use Scrivener or Google Docs) and then edit later.

Since measuring this on a day to day basis I’ve written nearly 25,000 words in the last couple of weeks. I’m averaging about 1500-2500 words a day. An average business book ranges anywhere from 40,000 – 60,000 words.

Yes, I know, not all of the words will be used for the book (in fact, many will be cut out during editing), but this goes to show, that measuring something does help you manage it. Prior to trying to improve my WPH, I was barely getting out a blog post every few months and I’d be lucky if that had 1000 words in it.

Writing is one thing … but say you want to measure something like coding for a new side project you’re doing. How do you measure that?

How to Measure Side Hustles … even if you’re bad at it

Many times we want to develop something or be creative. This could be a side project that requires a software engineer to do some coding. It could require a creative person who is an artist to create more art or write.

The first thing you have to identify is what you want to improve. With writing, I wanted to improve the aspect of getting my first draft done. That means getting the words onto a document. That boiled down to WPH.​

For a creative project such as art, you might want to be able to finish a painting faster. So you need a way to measure how much of the painting is complete.

This could be getting the base layer down first, then the outline.​

Maybe that takes you a long time.

You measure it and want to improve the speed at which you do it.

Perhaps you want to increase the number of sketches you get done in an hour because that’s how you generate ideas for the final pairing that you want to do. You don’t care how long the painting takes, but you do want to improve the idea generation phase.

You have to find what you want to improve first. If you don’t know, then you’ll need to dig in and ask yourself some higher-level questions like:

  • Why do I want to improve this?
  • What does this mean to me?
  • Why is this important?

Keep asking Why.

You can follow the “5 Why’s” method.​

Keep asking yourself “Why”, 5 times until you get to the root why which usually happens around the 5^th^ time you ask the “Why” question.

Let me give you an example:

If I want to improve the idea generation portion of my art projects, in other words, I want to be able to generate ideas faster so I can then decide what to paint more efficiently, then I would ask myself this …

  • Why does creating ideas faster matter?
  • Why does deciding what to paint sooner matter?
  • Why does focusing on canvas matter more than sketches?
  • Why do art shows matter?
  • Why does it matter to get your name out there in the public as an artist?

This is a completely made up, hypothetical example of the five why’s, and you could go even deeper by asking “more why’s”, but now you get the point.

It drives home the point of why you are doing something. It gets to the root cause, the underlying reason you’re doing what you’re doing.

The root cause doesn’t have to be financial reward, fame, or anything like that. It can simply be a personal goal. The goal is to simply identify the root cause so you can see if it’s worth measuring.

One last tip…

If you want to start managing your goals with a common framework, you can use the S.M.A.R.T. goal framework.

A S.M.A.R.T. goal is …

  • Specific (can’t be general, has to
  • Measurable (has to be a way to measure it)
  • Achievable (something you can actually do in the given time frame)
  • Relevant (to your mission in life/big goals)
  • Time-bound (has to have a period when it ends)

If a goal fits within the S.M.A.R.T. framework and you manage it (track it in regard to your time but achievable goal) there is a good chance you’ll get it done.

The Final Word

The next time you find yourself at a crossroads or wondering how or why something is or is not happening — ask yourself if there is something you can measure.​

If so, start measuring it.​

It will be a pain at first, but after a while, it becomes a habit and the data you get out of it will help you make more informed decisions so that you can improve you life in any number of ways.

If you can measure it, you’ll manage it.

 

Photo by Miguel A. Amutio on Unsplash

Filed Under: Business, Development, Health

You Are Not Your Creations

November 10, 2020 by Donn Felker

You Are Not Your Creations

He said “Ok, we don’t need that feature anymore, you can delete it.”

I had just built the feature two months ago. I spent nearly 2 months building it. I had poured all of my heart into building this feature. It was a masterpiece.

Or so I thought …​

Wait … now I’m supposed to delete it? What?

Why?

To be honest, I didn’t know at the time.

.. but I do know one thing though, it pissed me off. It felt like a gut punch.

This happened around 2011 when I was working for Groupon.

After thinking about it for an hour or so I decided to approach the product owner who told me to delete the feature and ask him why. It went something like this:

“Why would we delete this perfectly good feature? The feature great, there are no bugs, it was really technically challenging and I implemented in a way that was very elegant. It seems silly to throw it away, we just shipped it less than a month ago. Why would we do that?”

The product manager looked at me, lifted his chin and then dropped it down towards his chest like he understood the problem, slowly nodding in partial agreement, lips tightly pressed together …

He then explained to me that the feature that I had built was a new experiment that Groupon wanted to try. We tried, it, the customers did not respond to it as well as another flow.

In short, we had two features that did the same thing and mine was not the best for the business.

It was then I realized that I was emotionally attached to my work, and I should not have been.​

How did we know my feature didn’t do well?

We A/B tested the two features against each other.

Again, my feature didn’t do that well in regards to conversions vs a similar feature that did the same thing.​

Not because my code was bad.

Not because my code was wrong.

Not because anything I had done.

We thought the customers would prefer this new experience.

We were wrong.​

Therefore, my feature was no longer needed.

I eventually deleted the code. However, I do keep a repository of code snippets around (I use Quiver) just in case I want to do something like that again. In the end though, the code was deleted from the app.

​

Recognizing that you are not your creations …

Once I understood that I was too emotionally attached to my creation it ended up being a defining moment of my career.

It was then I understood that I should remove emotional attachment to the things I create.

In this case, the code was a tool.

We use tools to build (and repair) things.

The thing I built did not perform its job. It doesn’t mean it wasn’t good, it just wasn’t as profitable as another very similar thing we had already built.

In software, things change. They have to.​

We make assumptions about what we think the users will want, but the only real way to know for sure is to test them. We do that with A/B testing frameworks, watching conversions, funnel drop off rates, watching revenue, sign ups, etc. Its all metrics.​

Remember … “What Gets Measured, Gets Managed” ….

A Mindset Shift

One thing that helped me move on from this emotional attachment is to realize everything we’re creating (especially in software) is temporary. Sure, you might create a cabinet or some art or something in the physical world, but even that is temporary.​

If, for example, you are fond of a specific ceramic cup, remind yourself that it is only ceramic cups in general of which you are fond. Then, if it breaks, you will not be disturbed. – Epictetus

In other words, the thing we’re grown an attachment to might can be gone at any second. If we assume its temporary, then we enjoy it right now, for what it is.

The same thing is happening with my code.

The same thing can happen to your creation, your art, your design, your writing, etc. It can leave or vanish at any time.

Very similarly, the same thing happened when Viktor Frankl had his manuscript taken from him when he entered the Auschwitz concentration camp in World War II.

It was his life work … all taken from him. He let go of that attachment, focused on what was in front of him, and then made that his purpose at the time. Later, after he was free, he ended up re-writing the book which eventually became “A Mans Search for Meaning” (I highly recommend reading it).

Where am I going with this?

Now, when I create something I don’t get attached to it.

In fact, I find solace in deleting more that I create.​

Why do I find enjoyment in deleting over creating?

Because it means that I’m simplifying.

Think about it …

Remember the last time you cleaned your desk?

Remember how good that felt? Look at all the open desk space in front of you.

You probably felt like you could breath, you could stretch out. Nothing was encumbering you anymore. No more distractions. No more “stuff” everywhere.

What you did was delete the stuff from your desk. Sure, you may have just put it back where it belonged, organized, etc, but you get the point.

Creation can be and should be very enthralling and captivating for you. In fact, I find great joy in creating.

However, when I’m done I let it go.

I’m happy about what I created, but then done with it and onto the next thing.​

It is what it is.​

Once you can let go of your emotional attachments to your creations that you’ll find you’re free of anything that happens to them … and that is a freeing feeling unlike any other.

​

“If you are distressed by anything external, the pain is not due to the thing itself, but to your estimate of it; and this you have the power to revoke at any moment.” ― Marcus Aurelius, Meditations

 

Photo by Markus Spiske on Unsplash

Filed Under: Business, Development, Marketing

Why Mobile is Not the Future …

November 2, 2020 by Donn Felker

Why Mobile is Not The Future - Donn Felker

That’s right, I don’t feel that mobile apps are the future. I’ve been saying this for years.

As someone who has spent the last decade plus working solely in the mobile space on Android, this is a hard realization to accept. Hell, I’ve even written books about mobile development and how to make apps. Some of my businesses surround this topic and the majority of my consulting business is mobile … so why am I saying this? Have I lost it?

Before you make any snap judgements about my prediction, please hear me out…

Let me ask you this…

What app CAN YOU NOT live without on your phone?​

You might say “Instagram”, “TikTok” or “Twitter”, “Email”, or something similar …

Wrong.

The web browser. ​

Why?

It’s the ultimate integration platform.

When you don’t have an app installed, what happens? You’re taken to a url in a browser and you interact with the website in which the url points to.

What if you don’t have a browser installed? Your phone, as a data device, is nearly useless. Sure, you can use some apps. But now let’s take the web views out of those apps. My guess is that over 60-80% of them will fail – if not more.

I bet that one of the most popular apps on your phone is your Email App.

For the sake of simplicity I’m going to assume you use Gmail.

Did you know that Gmail App is mainly a WebView?

It’s true.

Open any email in the Gmail App and zoom in (two finger pinch to expand) and you’ll notice it zooms in (try it on this one if you’re reading this in the Gmail mobile app). The zoom you see is the WebView in action. I’ve spoken to the folks who work on this app at Google and they were the ones that told me it was mainly a WebView. I was shocked at first. 🤯. Literally blew my mind a few years back.

One of the most popular apps in the world … is a WebView. Sure, there are some native components, but … the main component … is a WebView.

Think about it. Almost every app I work with has some web view in it somewhere. Take the web views away (and browsers) and BOOM, things don’t work.

However, don’t be dismayed.​

Android and iOS will have highly valuable purposes for the foreseeable future, though.

Many apps are far better as native apps. Such as media apps like video and audio editors. Social media apps like Facebook, Instagram, Twitter, TikTok and more. Maps and Games will need to be native as well and some other apps will too. It really depends on the use case.

​

The Next 10 Years …

I predict that in the next 10 years we will see a surge of web applications and web technology that enable us to run near native or faster than current native technology in our mobile and desktop browsers.

Many are going to say “everyone has been saying this for years and it hasn’t happened, it’s not going to happen.”

How do you know that? In my opinion, the writing is on the wall.

How will the web take over?

Browsers will get faster and better at what they do. They’ll have more features, etc. Data speeds are going to increase and it will be easier to download more data/web apps quickly.

Things like web assembly will have frameworks written for them in high level languages that we can easily code to (or new high level languages will be created). The devices will expose more of their native technology to the browser so developers can easily access it (more bluetooth, location, sensors, etc).

Eventually, storage, photos and system services and interactions will seem native on a web browser more-so than they already are.

It’s just how it will be.

When that happens, many apps will only need to be written once. For the browser, on the web.

HTML, JavaScript and CSS are cross-platform by default. They target the web browser that runs everywhere already.

Ultimately what will happen is … the browser will become the platform. ​

This is already happening and has been for years. ​

Look at Chromebooks. They run one thing …. CHROME. It’s a web browser in a laptop form.

If you have kids, you probably have a Chromebook or two at home right now for their schooling.

The writing is on the wall folks, I’m just reading it to you.​

Does that mean you should stop doing Android or iOS development today?

Not at all.

We’re not there yet. We’re not even in the infancy. We’re in the prenatal stage of this right now.

Things are still forming. We’re not sure what it’s going to look like, but we need to be aware of what’s going to be birthed in the future.

My gut and my bet is that the web will be the future.

Discuss this on Twitter

—

PS: I’m not telling you to abandon what you’re doing now if you’re a mobile developer. I just want you to be aware of the changes on the horizon that I’m seeing. If you’re interested in web development I advise you dive into a framework you find interesting. Such as Ruby on Rails, Python, Node.js (with Express), ASP.NET, Ktor (Kotlin based), or anything for that matter. Just tinker around with it. Build something with it. Having the skillset now will only help you in the future.

Did you know that you can write web applications with the Kotlin Programming language? I have a FREE 9+ hour course on the Kotlin Programming Language here. Its 100% FREE. Learn Kotlin and then dive into any number of Kotlin based web frameworks and you’ll be able to start with the web real easily.

Lastly, if you like content like this and want to receive it before anyone else does sign up for my email newsletter below. I send this content out to my newsletter a week to two weeks before it goes live on my site.

Filed Under: Business, Development, Mobile

Freehold Township Logo

October 6, 2020 by Donn Felker

I was looking for a vector version of the Freehold Township logo, but I couldn’t find one … so I made one.

Feel free to download and use it as you need to.

Freehold Township Logo PNG

Download [png] [jpg] [ai] [svg]

Filed Under: Misc

Code Comments

October 25, 2019 by Donn Felker

Code Comments

When it’s it appropriate to comment code?

I follow a simple set of rules:

  1. If the code is confusing – I try to refactor the code so that it’s not confusing anymore.
  2. If a refactoring is not possible, I document the “why”, not the “how”. The “how” is already documented: that’s the code.

The “why” explains WHY the code exists and perhaps some important and relevant details that might not be evident to future maintainers.

How do I know if I should provide a “why”?

I ask myself this question:

In six months will I be able to understand this code in 30 seconds?

If there is any doubt in my mind then I know that I need to provide a comment for that chunk of code.

Why 30 seconds?

The majority of my time as a developer will be spent reading and deciphering existing code. I need to be able to do this as quickly as possible to be efficient. If a comment helps me grok something quickly due to some weird edge-case complexity, then the comment is worth its weight in gold.

Filed Under: Development

Next Page »
Fragmented - A Software Developer Podcast

Projects / Apps

Caster.IO
Fragmented Podcast
American Express Android
Aaptiv
AndroidJobs.IO
Groupon
MyFitnessPal
Poynt

Books

  • Android Developer Tools
  • Android App Dev For Dummies V2 (V1)
  • Android Tablet App Dev for Dummies

Categories

  • Book
  • Business
  • Development
  • Health
  • Marketing
  • Misc
  • Mobile
  • Podcast
  • Screencasts
  • Uncategorized