Oct 13, 2021
Imke Feldmann is among the first few to have recognized the incredible value and potential of this thing called Power Pivot in Excel (which was the precursor to Power BI). And did she ever run with it, launching quite the successful solo consultancy and training service! She exemplifies the helpful nature of the data community through her blog, The BIccountant, where she shares her amazing Microsoft BI tool knowledge.
Her background is in Finance and Accounting, but you'll quickly realize she knows a great deal more than just Finance and Accounting!
Contact Imke:
References in this Episode:
MS Power BI Idea - Customizable Ribbon - Please Upvote :)
MS Power BI Idea - Speed Up PQ By Breaking Refresh Chain - Please Upvote :)
Episode Timeline:
Episode Transcript:
Rob Collie (00:00:00):
Hello friends. Today's guest is Imke Feldmann. We've been working
for a long time, nearly a year to arrange the schedules to get her
on the show, and I'm so glad that we finally managed to do it. For
a moment, imagine that it's 2010, 2011, that era. During that
timeframe, I felt not quite alone, but a member of a very slowly
growing and small community of people who had glimpsed what Power
Pivot could do. And for those of you who don't know what Power
Pivot is, and that was the version of Power BI, the first version
that was embedded only in Excel. And at the time, the way the
community grew, we'll use a metaphor for this. Imagine that the
community was a map of the world and the map is all dark, but
slowly, you'd see these little dim lights lighting up like one over
here in the UK, one in the Southwest corner of the United States,
very faintly.
Rob Collie (00:00:51):
And these would be people who were just becoming aware of this
thing, this Power Pivot thing, and you'd watch them. They'd sort of
show up on the radar, very tentatively at first kind of dipping
their toe, and then that light would get brighter, and brighter,
and brighter over time, as they really leaned in, and they learned
more and more, and they became more adept at it. And this was the
way things went for a long time. And then in 2011, out of nowhere
in Germany on the map, this light comes on at full intensity,
brightly declaring itself as super talented and powerful. And that
was what it felt like to come across Imke Feldmann.
Rob Collie (00:01:27):
Like all of our guests, there's a little bit of that accidental
path in her career, but also a tremendous sense of being
deliberate. When this stuff crossed her radar, she appreciated it
immediately. And I didn't know this until this conversation, but
she quit her corporate job in 2013, the same year that I founded P3
as a real company, and became a freelancer. So for eight plus
years, she has been a full time Power BI professional. There truly
aren't that many people who can say that in the world. Our
conversation predictably wandered. At one point, we got pretty deep
into the notion of M and Power Query and it's screaming need for
more buttons on its ribbon. And Imke has some fantastic ideas on
how they should be addressing that.
Rob Collie (00:02:14):
We also, of course, naturally talked about the differences between
remaining a solo freelancer as she has, in contrast to the path
that I chose, which is scaling up a consulting practice business.
Along the way we reprised the old and completely pointless debate
of DAX versus M, I even try to get Tom hooked on M as his new
obsession. We'll see how well that goes. Most importantly though,
it was just a tremendous pleasure to finally get to talk to Imke at
length for the first time after all these years, we literally
crossed paths 10 years ago. So it was a conversation 10 years in
the making compress down to an hour and change. I hope you enjoy it
as much as we did, so let's get into it.
Announcer (00:02:56):
Ladies and gentlemen, may I have your attention, please?
Announcer (00:03:00):
This is The Raw Data by P3 Adaptive podcast, with your host Rod
Collie, and your cohost Thomas LaRock. Find out what the experts at
P3 Adaptive can do for your business. Just go to P3adaptive.com.
Raw Data by P3 Adaptive is data with the human element.
Rob Collie (00:03:24):
Welcome to the show Imke Feldmann. How are you today?
Imke Feldmann (00:03:27):
Thank you, Rob. Great. It's a great day here over in Germany.
Rob Collie (00:03:30):
We have been talking about doing this for the better part of a
year. So I'm glad that we're landing the guest, Imke is here. I
really appreciate you doing this. So why don't we start with the
basics. What are you up to these days? What do you do for a
living?
Imke Feldmann (00:03:48):
I have people building great Power BI solutions these days.
Rob Collie (00:03:55):
Ah, yes.
Imke Feldmann (00:03:55):
That's how I fill my days.
Rob Collie (00:03:58):
I hear that that's a good business.
Imke Feldmann (00:03:58):
Yeah, it is.
Rob Collie (00:04:03):
So, and your website is?
Imke Feldmann (00:04:06):
Thebiaccountant.com.
Rob Collie (00:04:07):
Is that what you are on Twitter as well?
Imke Feldmann (00:04:08):
Yes. That's also my Twitter handle theBIccountant without an A in
the middle. I just replaced the A from accountant with a BI.
Rob Collie (00:04:17):
There you go.
Imke Feldmann (00:04:18):
Yeah.
Rob Collie (00:04:18):
That's right. So that means that I'm going to make a tremendous
leap here, wait till you see these powers of observation and
deduction. You must have an accounting background?
Imke Feldmann (00:04:29):
I do, yes.
Rob Collie (00:04:30):
See you look at that. That's why I make the money. Okay, let's
start there, was accounting your first career out of school?
Imke Feldmann (00:04:39):
Yes. I went to university and studied some economics or business
stuff there, they'll know it's translated into English. And then I
worked as a business controller. After that, I took over a job to
lead a bookkeeping departments or to work with an area where the
numbers came from basically. And then after that, I worked as the
finance director, where I was responsible for a whole bunch of
areas, controlling bookkeeping, IT, HR, and production. So that was
quite a job with a broad range of responsibilities.
Rob Collie (00:05:18):
So you mentioned, kind of slipped IT into that list, right?
Imke Feldmann (00:05:23):
Yeah.
Rob Collie (00:05:23):
There's all these things in that list of responsibilities that all
seemed they belong together, right? Bookkeeping, accounting,
control or finance, IT. We've run into this before, with actually a
number of people, that a lot of times the accounting or finance
function in a company kind of wins the job of IT by default.
Imke Feldmann (00:05:45):
Yeah. It seems quite common in Germany, at least I would say.
Rob Collie (00:05:48):
I get multiple examples, but one that I can absolutely point to is
Trevor Hardy from the Canadian Football League, he is in
accounting, accounting and finance. And just by default, well,
that's close to computers.
Imke Feldmann (00:06:00):
Yes.
Rob Collie (00:06:01):
And so it just kind of pulls the IT function in. Now is that true
at really large organizations in Germany or is it a mid market
thing?
Imke Feldmann (00:06:09):
No I would say a mid market thing.
Rob Collie (00:06:12):
That's true here too. So when there isn't an IT org yet it ends up
being, oftentimes it falls to the finance and accounting function.
Hey, that's familiar. It's kind of funny when you think about it,
but it's familiar. And isn't finance itself pretty different from
accounting? How much of a leap is that? What was that transition
like for you taking over the finance function as well? We tend to
talk about these things, at least in the US, is like almost like
completely separate functions at times.
Imke Feldmann (00:06:43):
It depends, but at least it had something to do with my former
education, which wasn't the case with IT. So, I mean, of course on
a certain management level, you are responsible for things that
you're not necessarily familiar with in detail. You just have to
manage the people that know the details and do the jobs for you. So
that was not too big an issue I must admit.
Rob Collie (00:07:10):
My first job out of school was Microsoft, an organization of that
size, I was hyper specialized in terms of what I did. At this
company at P, we are nowhere near that scale, and there's a lot
more of that multiple hat wearing. I've definitely been getting
used to that over the last decade, the first decade plus of my
career, not so much.
Imke Feldmann (00:07:31):
Yeah. That's interesting because I basically went completely the
other way around. I see myself now as working as a technical
specialist and as a freelancer, I don't have to manage any
employees anymore.
Rob Collie (00:07:47):
Well, so now you wear all the hats?
Imke Feldmann (00:07:49):
Yes. In a certain way, yes.
Rob Collie (00:07:51):
Okay. There's no HR department necessarily, right, so it's just
you. But marketing, sales, delivery, everything.
Imke Feldmann (00:08:01):
Yep, that's true. Yep. And when I first started, I tried to do
everything by myself, but the test changed as well. So in the past
I started to outsource more things, but to external companies, not
internal staff.
Rob Collie (00:08:17):
So you're talking about outsourcing certain functions in your
current business, is that correct?
Imke Feldmann (00:08:22):
Yes, yes.
Rob Collie (00:08:22):
So it's interesting, right? Even that comes with tremendous risk
when you delegate a certain function to an outside party whose
incentives and interests they are never going to be 100% aligned
with yours. Even we have been taken for a ride multiple times by
third-party consulting firms that we've hired to perform certain
functions for us.
Imke Feldmann (00:08:46):
Oh, no I don't outsource and your services that I directly provide
to my clients.
Rob Collie (00:08:49):
Oh, no, no.
Imke Feldmann (00:08:50):
No.
Rob Collie (00:08:50):
No, we don't either. But I'm saying for example, our Salesforce
implementation for instance-
Imke Feldmann (00:08:56):
Okay, mm-hmm (affirmative).
Rob Collie (00:08:57):
... Has been a tremendous money sink for us over the years. Where
we're at is good, but the ROI on that spend has been pretty poor.
It's really easy to throw a bunch of money at that and it just
grinds and grinds and grinds. And so this contrast that I'm getting
around to is really important because that's not what it's like to
be a good Power BI consultant, right? You're not that kind of risk
for your clients. But if you go out and hire out some sort of IT
related services for example, like Salesforce development, we're
exposed to that same sort of drag you out into the deep water and
drown you business model, that's not how we operate. I'm pretty
sure that's not how you operate either. And so anyway, when you
start talking about outsourcing, I just thought, oh, we should
probably talk about that. Have you outsourced anything for your own
sort of back office?
Imke Feldmann (00:09:52):
Back office stuff, yeah. My blog, WordPress stuff, or computer
stuff in the background. So security [inaudible 00:09:59] the stuff
and things like that, things that are not my core, I hire
consultants to help me out with things that I would formally
Google, spend hours Googling with.
Rob Collie (00:10:09):
Yes.
Imke Feldmann (00:10:10):
Now I just hire consultants to do that. Or for example, for Power
Automate, this is something that I wanted to learn and I saw the
big potential for clients. And there I also did private training
basically, or coaching, or how you called it, hire specialists.
Rob Collie (00:10:27):
To kind of getting you going?
Imke Feldmann (00:10:29):
Exactly, exactly.
Rob Collie (00:10:30):
And those things that you've outsourced for your back office, have
there been any that felt like what I described you end up deep in
the spend and deepen the project going, "What's going on here?"
Imke Feldmann (00:10:41):
I'm usually looking for freelancers on that. And I made quiet good
experiences with it, I must say.
Rob Collie (00:10:49):
Well done. Well done. All right. So let's rewind a bit, we'll get
to the point where you're in charge of the finance department,
which of course includes IT.
Imke Feldmann (00:10:58):
Not necessarily so. I felt quite sad for the guys who I had to
manage because I said, "Well, I'm really sorry, but you will hear a
lot of questions from me, especially at the beginning of our
journey," because I had to learn so much in order to be a good
manager for them. So that was quite different situation compared to
the management roles in finance that I had before, because there I
had the impression that I knew something, but IT was basically
blank.
Rob Collie (00:11:30):
I would imagine that that experience turned out to be very
important, the good cross pollination, the exposure to the IT
function and sort of like seeing it from their side of the table,
how valuable is that turned out to be for your career?
Imke Feldmann (00:11:45):
I think it was a good learning and really interesting experience
for me just to feel comfortable with saying that I have no clue and
ask the people how things work and just feel relaxed about not
being the expert in a certain area and just be open to ask, to get
a general understanding of things.
Rob Collie (00:12:09):
That's definitely the way to do it, is to be honest and transparent
and ask all the questions you need to do. It's easier said than
done. I think a lot of people feel the need to bluff in those sorts
of situations. And that usually comes back to haunt them, not
always.
Imke Feldmann (00:12:25):
No, that's true.
Rob Collie (00:12:27):
Some people do get away with it, which is a little sad. So at what
point did you discover Power BI?
Imke Feldmann (00:12:35):
I didn't discover Power BI, I discovered Power Pivot, for your blog
of course.
Rob Collie (00:12:41):
Oh, really?
Imke Feldmann (00:12:43):
Yes, yes, yes, yes. I think it was in, must be 2011, something like
that.
Rob Collie (00:12:50):
Early, yeah.
Imke Feldmann (00:12:51):
Yeah. Quite early. When I was building a multidimensional cube with
a freelancer for our finance department, then I was just searching
a bit what is possible, how we should approach this and things like
that. So we started with multi-dimensional cube because that was
something where I could find literature about and also find experts
who could have me building that. But when doing so, I really liked
the whole experience and it was a really excellent project that I
liked very much. And so I just searched around in the internet and
tried to find out what's going on in that area. And this is where I
discovered your blog.
Rob Collie (00:13:35):
I have no idea. First of all, I had no idea that my old blog was
where you first crossed paths with this.
Imke Feldmann (00:13:42):
I think [inaudible 00:13:43].
Rob Collie (00:13:44):
And secondly, I had no idea that it was that early. I mean, I
remember when you showed up on the radar, Scott [inaudible
00:13:51] had discovered your blog and said, "Hey, Rob, have you
seen this? Have you seen what she is doing? She is amazing." That
wasn't 2011, that was a little bit later. I don't remember when
but...
Imke Feldmann (00:14:06):
No, I think we've met first. I think we met on the Mr. XR Forum on
some crazy stuff I did there. I cannot even remember what that was,
but I started blogging in 2015 and we definitely met before.
Rob Collie (00:14:21):
That's what it was. It was the forums. And Scott was the one that
had stumbled upon what you were doing there and brought my
attention to it. I was like, whoa. It was like...
Imke Feldmann (00:14:34):
That last really some crazy stuff. I think I was moving data models
from one Excel file to another or something like that. Some crazy
stuff with [inaudible 00:14:43] and so on.
Rob Collie (00:14:44):
You obviously remember a better than I do. But I just remember
being jaw dropped, blown away, impressed, by what you were doing.
And the thing is the world of Power Pivot interest at that point in
time still seems so small. The community still seems so small that
for you to emerge on our radar fully formed, already blowing our
minds, that was the first thing we ever heard from you. That was a
real outlier because usually the way the curve of awareness went
with other members of the community is that like, you'd see
something modest from them. And you'd sorta like witnessed their
upward trajectory as they developed. Of course, you've continued to
improve and learn and all of that since then. But as far as our
experience of it, it was you just showed up already at the graduate
level, just like where did she come from? So cool. So you said that
you enjoyed the multi-dimensional cube project?
Imke Feldmann (00:15:43):
Mm-hmm (affirmative). Yes. I don't know MDX, but I totally enjoyed
the project. So being able to build a reporting solution for my own
company, basically then for the company I worked for, and doing it
live with a consultant with a freelancer on my hand, discussing how
things should look like and just seeing the thing form before my
eyes and grow. And this was just such an enjoyable experience for
me.
Rob Collie (00:16:11):
So the thing that's striking about that for me is, there's no doubt
that the multi-dimensional product from Microsoft was a valuable
product. It did good things. But I never have heard someone say
that they really enjoyed the implementation process as a client,
right?
Imke Feldmann (00:16:31):
Okay.
Rob Collie (00:16:31):
You had a freelancer doing the work. So something you said there
really jumped out at me, it was, sort of like doing the project
live. So the way that this worked traditionally, at least in the
US, is the consultant would interview you about your requirements
and write a big long requirements document and then disappear and
go build a whole bunch of stuff and come back and show it to you,
and it's completely not what anyone expected. It's almost like
you're on completely different planets. Obviously, if you'd had
that experience, you would not be saying that you enjoyed it. So
there had to be something different about the way that you and that
freelancer interacted. Do you remember what the workflow was
like?
Imke Feldmann (00:17:16):
What we did is that we often met together and just looked at where
we're at and what the next steps should be. And we definitely had
specific targets in mind. So there were some reports that I had
defined as a target, and around these reports I was aware that we
needed something that a proper data model, because I also knew that
I wanted to have some sort of a general set up that could be
carried from Excel as well. So I knew about cube functions, and I
knew that on one hand I needed these reports that had formerly been
within our ERP system. Also, I wanted them to be in a separate
solution that was under my control and independent from the ERP
system. And on the other hand, I wanted some more. So I wanted the
flexibility to be able to vary this data and for certain other
purposes in the controlling department as well. So basically being
able to do ad hoc analysis on it.
Imke Feldmann (00:18:23):
And we met often and I showed a certain interest in how the table
logic was created. So I knew that the MDX was over my head at the
time, but I showed a very strong interest in which table are
created, how they relate to each other, and that was quite unusual.
At least this is what the [inaudible 00:18:47] the freelancer told
me.
Rob Collie (00:18:49):
I bet.
Imke Feldmann (00:18:50):
He said that he doesn't see that very often that clients showed
this sort of interest.
Rob Collie (00:18:56):
Did he say, "Yeah. You really seem to be having fun with this. Most
of my clients don't enjoy this." You said that you met very often,
so were there times where he was writing MDX while you were in the
room?
Imke Feldmann (00:19:10):
Sometimes yes, because I said, "Well, can we switch this a bit or
make some changes?" And sometimes he said, "Well, I can try adjust
now." Because he came over for one day or half a day, and then we
spoke things through and defined further things. And if we were
finishing early, he would just stay and do some coding there. But
apart from that, he would work from home and do the big stuff.
Rob Collie (00:19:37):
OLAP originally it stands for online analytical processing, where
online meant not batch, right? It meant you could ask a question
and get the answer while you were still sitting there.
Imke Feldmann (00:19:51):
Okay. Oh, really?
Rob Collie (00:19:53):
That's what online meant.
Imke Feldmann (00:19:54):
It's interesting.
Rob Collie (00:19:56):
It basically meant almost like real time. It's a cousin of real
time, that's what online meant at that point, as opposed to offline
where you write a query and submit it and come back next week
right? So that's what the online and OLAP comes from.
Imke Feldmann (00:20:12):
Oh, interesting.
Rob Collie (00:20:13):
We would pick a different terminology of OLAP were it invented
today. So something interesting about, it sounds like your
experience, and I did not anticipate drilling into your experience
with multi-dimensional on this conversation, but I think it's
really important is that at least some portion of that project that
you sponsored and implemented with the freelancer, at least some
portion of the work was similarly performed online. Meaning the two
of you were sort of in real time communication as things evolved.
And the old model and the vast majority of multidimensional
solutions that have ever been built in the world, the MDX powered
solutions, were built and an offline model, where the majority of
the communication supposedly takes place in the form of a
requirements document.
Rob Collie (00:21:05):
And that was a deeply, deeply, deeply flawed approach to the
problem, that just doesn't actually work. So I guess it's not
surprising to me that the one time I've ever heard someone say they
really enjoyed that multi-dimensional project, that at least a
portion of that multidimensional project was sort of almost like
real-time collaboratively performed rather than completely
asynchronous, right? I guess we want to be really geeky, we could
say it was a synchronous model of communication as opposed to an
asynchronous one. And Power BI really facilitates that kind of
interaction.
Imke Feldmann (00:21:41):
Absolutely.
Rob Collie (00:21:42):
The reason why the MDX multi-dimensional model worked the way it
did, or there was two reasons, one is a legitimate one on one of
them is more cynical. So the legitimate reason is, is that it
required reprocessing of the cube for every change, it's just too
slow, right? The stakeholder, the business stakeholder doesn't
typically have the time or the patience to sit there while the
code's being written, because it's so long between even just
implementing a formula change sometimes would be, well, we need to
wait an hour. And so the attention span of the business person
can't be held for good reason there, right? And so that sort of
drove it into an asynchronous model.
Rob Collie (00:22:23):
The other reason is, is that that is asynchronous model turned out
to be a really good business model for the consultants, because the
fact that it didn't work meant that every project lasted forever.
And so that's the cynical reason. But Power BI is not long delays.
You change the measure formula, or you add an extra relationship,
or heck even bringing in a new table, just a brand new table, bring
it in, it wasn't even in the model, now it's in the model. End to
end that can sometimes be measured in minutes or even seconds. And
so you can retain engaged collaborative interest. Now it's not like
you're always doing that, right? There's still room for offline
asynchronous work in our business, but really critical portions of
it can be performed the other way. And I think that makes a huge
difference.
Imke Feldmann (00:23:13):
Yep. And that's what I like about it. So it's so great to be able
to have, as a consultant, to perform really relatively large tasks
without any further involvement of other people. Which, I mean,
honestly, I don't call myself a team worker, not because I don't
love other people also, but teamwork means you have to communicate
with other people, make sure that they know what you're working on.
So there are so many interfaces that have to be maintained if
you're working with other people. And so I really laugh the way I
work currently being able to deliver full solutions as a one woman
show consultant. That is really a pleasure for me. That's really my
preferred way of work, I must say. Because I can really focus on
the things that have to be done and I'm able to deliver value in a
relatively short time for the clients.
Rob Collie (00:24:14):
That's a really interesting concept. There are certain kinds of
problems in which collaboration, a team collaboration is absolutely
necessary. The magic of collaboration sometimes can beat problems
that no individual could ever beat. At the same time though,
there's this other dynamic, right, where having a team working on a
problem is actually a real liability because the communication
complexity between the people becomes the majority of the work.
Here's a really hyper simplified example. There used to be sort of
a three-person committee, if you will, that was running our company
P3, me and two other people.
Imke Feldmann (00:24:57):
Mm-hmm (affirmative).
Rob Collie (00:24:58):
And so all leadership decisions were essentially handled at that
level. Well, things change, people move on, right? And so we went
from a three person committee to a two person committee. We didn't
anticipate the two of us who stayed, right? We did not anticipate
how much simpler that was going to make things. We thought, just do
the math, right, it's going to be like, well, it's one less person
to get on the same page. So it's going to be a one-third reduction
in complexity. It was actually double that because we went from
having three pairs of communication, right, the triangle has three
sides, to a line that only has one side, right? So there was only
one linkage that needed to be maintained as opposed to three
geometrically, combinatorially, whatever we're going to say, right?
It just became-
Imke Feldmann (00:25:45):
Exponential.
Rob Collie (00:25:45):
... Exponetially simpler. And so for problems that can be soloed,
you have this amazing savings in efficiency, in clarity, even,
right?
Imke Feldmann (00:25:59):
Yup.
Rob Collie (00:25:59):
There's just so many advantages when you can execute as one person,
then there's the other examples like our company at our size now,
even ignoring the number of consultants that we need to do our
business, just the back office alone, we need the difference in
skills. We need the difference in talents and interests and
everything. We simply could not exist without that kind of
collaboration. However, when our consultants were working with a
client, usually it's essentially a one-on-one type of thing, right?
We don't typically put teams of consultants on the same project. We
might have multiple consultants working for the same client and
they might be building something that's somehow integrated, but
it's still very similar, I think to your model, when you actually
watch sort of the work being done, there's this amazing savings and
complexities.
Imke Feldmann (00:26:50):
Yup, that's true. Of course I have a network in the background. So
when big problems arise where I need brain input, of course, I have
a network, but it's not a former company.
Rob Collie (00:27:02):
And that's how we work too, right? We have all kinds of internal
Slack channels. For some reason we adopted Slack years ago before
Teams was really a thing. So Slack is sort of like our internal
social network. There's a lot of discussion of problems, and
solutions, and a lot of knowledge sharing, and people helping each
other out behind the scenes in that same way. Again, we do bring
multiple consultants into particularly large projects, but it's not
like there's three people working together on the same formula. In
Power BI, the things that you do in ETL, the things that you do in
power query are intimately interrelated with the data model and the
decks that you need to create. And imagine parceling that out to
three different people. You have one formula writer, one data
modeler, one ETL specialist, you would never ever get anywhere in
that kind of approach.
Imke Feldmann (00:28:00):
Not necessarily. I mean, the tax people are the person responsible
for the data model. He could write down his requirements. He could
define the tables basically. And then someone could try to get the
data from the sources. But of course, then you get some feedback
that the data isn't there or that the model has to be shaped in a
different way. So it has two sides to it. But that's interesting to
see that you have the same experience, that Power BI models or
solutions of a certain size that can very well be handled by one
person alone. And that really brings speed, and flexibility, and
agility to the whole development process I think.
Rob Collie (00:28:41):
You communicate with yourself at what's above giga? Peta, petabit?
you communicate with yourself at petabit speed and you communicate
with others through a noisy 2,400 baud modem that's constantly
breaking up. It's amazing what that can do for you sometimes. So
there comes a point in your journey where you decide to go
freelance.
Imke Feldmann (00:29:07):
Yup.
Rob Collie (00:29:08):
That's a courageous leap. When did that happen and what led you to
that conclusion?
Imke Feldmann (00:29:13):
I made the decision in 2012 already to do that.
Rob Collie (00:29:19):
Wow.
Imke Feldmann (00:29:20):
And I just saw the light. I just saw the light in Power Pivot and
then Power Query came along and I saw what Microsoft was after. And
as I said, I enjoyed the building of the cube, getting my hands
dirty, reading about the technologies behind it and so on. And this
was what I felt passionate about. And I also had the idea that I
needed some break from company politics. And so I just thought,
well, I give it a try. And if it doesn't work, I can find a job
after that or find a company where I work for at any time after
that. So I just tried it and it worked.
Rob Collie (00:30:05):
So you decided in 2012, did you make the break in 2012 as well?
Imke Feldmann (00:30:12):
I prepared it, and then I just in 2013, I started solo.
Rob Collie (00:30:18):
Okay. 2013 is also when we formally formed our company. For
2010-2013, it was a blog. I had other jobs. I had other clients
essentially, but I wasn't really hanging out the shingle so to
speak, as you know, we're not an actual business really until 2013.
And I guess it's not much accident that we both kind of did the
same thing about the same time, it's that demand was finally
sufficient I think in 2013 to support going solo. In 2012, there
weren't enough clients to even support one consultant. And so, oh,
that's great. And I think you really liked Power Query too, does M
speak to you?
Imke Feldmann (00:31:02):
Yes. Yes. Yeah.
Rob Collie (00:31:03):
It does, doesn't it?
Imke Feldmann (00:31:04):
I really prefer Power Query or M over DAX, I must admit. It has
been much more liable to me than DAX.
Rob Collie (00:31:15):
Oh, and I liked you so much before you said that. I'm team DAX all
the way.
Imke Feldmann (00:31:23):
I know. I know. I know. I mean, of course I love to use DAX as
well, but I really feel very, very strong about Power Query. And I
mean, I had such a great journey with it. I mean, it was really
[inaudible 00:31:35] work for me personally, that I did with it.
And it was just a great journey to understand how things work. I
mean, this has been the first coding language for me that I really
learned. And it was just a great journey to learn all the things
and starting to blog about it. And of course, I started basically
helping people in the forum, that's where I basically built my
knowledge about it, solving other people's problems. And this was
just a great journey. And Polar Query has always been good to me
than DAX.
Rob Collie (00:32:14):
This is really cool, right? So you fell in love with Power Pivot,
so DAX and data model, right? There was no Power Query.
Imke Feldmann (00:32:21):
Mm-hmm (affirmative)-, that's true.
Rob Collie (00:32:23):
Okay. And because we had no Power Query, there were many, many,
many things you couldn't do in Power Pivot unless your data source
was a database.
Imke Feldmann (00:32:30):
Yup.
Rob Collie (00:32:31):
Because you needed views created that gave you the right shape
tables, right? If your original data source didn't have a lookup
table, a dimension table, you had to make one. And how are you
going to make one without Power Query? It gets crazy, right? At
least unbelievable. So try to mentally travel back for a moment to
the point in time where you're willing to, and not just, it doesn't
sound like you were just willing to, you were eager to go solo to
become a freelancer, right, with just DAX and data modeling. And
then after that, this thing comes along that you light up when you
talk about. You didn't have this thing that you love, but you were
already in, that doesn't happen very often.
Imke Feldmann (00:33:18):
It could be that loved DAX at the beginning, but it just started to
disappoint me at sometimes.
Rob Collie (00:33:29):
Oh, okay.
Thomas LaRock (00:33:29):
It disappoints everyone.
Rob Collie (00:33:29):
I'm just devastated.
Imke Feldmann (00:33:35):
No, I mean, it's amazing what DAX can do, but I mean, we all know
it looks easy at the beginning, but then you can really get trapped
in certain situations.
Rob Collie (00:33:46):
Yeah. I described these two things is like the length and width of
a rectangle, Power Query and DAX. Take your pick, which one's the
width, which one's the length? I don't care. And then we ask which
one is more responsible for the area of the rectangle, right?
Neither. You can double the length of either of them and it doubles
the area of the rectangle. So it's really ironic that I'm so sort
of firmly on team DAX for a number of reasons. Number one, is that
I'm really not actually that good at it compared to the people
who've come along since. Like my book, for instance, I think, I
look at it as this is the 100 and maybe the 200 level course at
university, maybe the first in the second course, maybe, but it's
definitely not the third course. The thing that you take in your
third or fourth year of university, that's not covered in my book
in terms of DAX.
Rob Collie (00:34:44):
And basically every one of the consultants at our company is better
at DAX than I am. And that's great. That's really good. And the
other thing that's ironic about my love of DAX over M, is if these
two were in conflict, which they aren't.
Imke Feldmann (00:35:00):
No they are.
Rob Collie (00:35:02):
Is that I actually was trying for years to get a Power Query like
project started on the Excel team. I knew how much time was being
chewed up in the world just transforming data, not analyzing it
even, just getting things ready for analysis. It's just ungodly
amounts of time. And so I was obsessed with end-user ETL. When I
was on the Excel team, it was like a running joke, someone would
mention in a meeting, "Well, that's kind of like ETL," and other
people would go, "Oh no, no, don't say that in front of Rob, he's
going to get started and he won't shut up about it for the next 30
minutes." On the podcast with the Power Query team, I told them I'm
really glad that no one ever agreed to fund my project on the Excel
team because now that I see what Power Query is like I grossly
underestimated how much work needed to go into something like that.
And I'm glad that Microsoft isn't saddled with some old and
completely inadequate solution to the Power Query space, because
now that I've seen what the real thing looks like, I'm like, "Oh my
gosh, we would've never been able to pull that off."
Rob Collie (00:36:14):
So the thing that I was most obsessed with is the thing that now
that it's actually been built, for some reason, I just find M to
be, I don't know, there's like a reverse gravity there that pushes
me away.
Imke Feldmann (00:36:26):
What I actually would like to see is that there's less need to use
M in the Power Query product. So first, the only thing I was
dreaming about was finally to have a function library that can
easily be shipped from then, or that you can download from internet
or wherever, where you can use additional functions in your M code.
So this was the first thing that I was really passionate about and
thought that we should have such a thing in Power Query to be able
to make more cool things, or group steps together. But now what I
really think we should actually have and see in Power Query is the
ability to build our own ribbons and to the query editor.
Rob Collie (00:37:13):
Yes.
Imke Feldmann (00:37:13):
Like we have in an Excel. So this is something that in my eyes
would really bring a big push to the product and actually would
make so much sense for the people who start using these products. I
mean the whole Power platform can have so many benefits for finance
department, all departments, but I mean, I'm passionate about
finance departments. But have you counted how many low-code
languages are in there, if you include Power Apps and Power
Automate and all these things?
Rob Collie (00:37:50):
Low-code.
Imke Feldmann (00:37:50):
And honestly, in order to come up with any solution that makes
sense in a business environment, I would say in all of these
solutions, there is no way around the code at the end. I mean, you
get quite far with clicky, clicky, but I haven't seen solutions
where you get around the languages. And now imagine the typical
finance people who really they know the Excel formulas and some of
them might know VBA as well. And now their server uses new
low-code, no-code word, and just get your head around about five or
six new languages that you all have to know and learn in order to
get something useful and so on. So I think that's just not feasible
for people who have real jobs in the business to learn all
that.
Rob Collie (00:38:42):
Well, that's what you're here for, right? That's what your business
is for and that's what P3 is for.
Imke Feldmann (00:38:48):
We get them started and the products are great. And if there are
people in the companies who have a drive to learn things and take
the time they get their heads around it, but it could be easier. It
could be easier with things like that, where we could provide
additional user interfaces and just make it even easier for people
to build great solutions for them or adapt solutions that
consultants had build initially, but to maintain them by themselves
and make adjustments to them if needed.
Rob Collie (00:39:19):
So [inaudible 00:39:20] has an old joke where he says, when he's
doing a presentation or something, he says, "That's a good
question. And I define good question as a question I know the
answer to, right." And then he says, "But then a great question is
a question that is covered by the very next slide." So there's a
similar parallel joke to make here, which is that, that idea you
just talked about with the ribbons and everything, right? So if I
said, it's a smart idea, what I would mean is, again, this is a
joke, right? I would mean that that's an idea that I agree with and
have kind of already had. But if I say it's a brilliant idea-
Imke Feldmann (00:39:55):
Okay.
Rob Collie (00:39:56):
... Then it's an even better version of an idea that I've already
had that has never occurred to me. Your idea is a brilliant
idea.
Imke Feldmann (00:40:02):
Okay.
Rob Collie (00:40:06):
It goes beyond. So I have been advocating privately behind the
scenes with the Power Query team forever telling them that they
need about three or four more ribbon tabs. There's just way too
many commonly encountered problems for which you can imagine there
being a button for, and there's no button.
Imke Feldmann (00:40:28):
Exactly.
Rob Collie (00:40:29):
And it's like, I don't understand. I used to be on teams like that,
but I don't understand why they haven't gotten to this. Because it
seems so low hanging fruit. They've already built the engine,
they've built the language, right? The language can already handle
this, but you actually had two brilliant ideas in there that had
never occurred to me. First of all, I'm used to the idea that the
community can't contribute libraries of functions, they can't do
that for DAX.
Imke Feldmann (00:40:57):
Mm-hmm (affirmative).
Rob Collie (00:40:58):
That's not even like engineering possible for DAX. And the reason
for it is, is that the DAX engine is so heavily optimized in so
many ways that there'd be no way to plug in some new function
that's unpredictable in terms of what it needs to do. All of these
things, they're all inherently interrelated and they make changes
in the storage and the query engine to make this function work
better and vice versa, because it has to take advantage of the
index compression scheme and all of that kind of stuff. It's
actually not possible, is the wrong word, but it's actually orders
of magnitude more difficult, if not impossible to allow DAX to have
UDF, user-defined function type of feature.
Rob Collie (00:41:42):
I don't think Power Query is like that though. Maybe naively,
because again, I'm not on the internals team on the Power Query
side. But it does seem like a UDF capability is at least much more
feasible-
Imke Feldmann (00:41:53):
Absolutely.
Rob Collie (00:41:54):
... For Power Query, which does execute row by row essentially.
Other languages have this, right? One of the reasons that R is so
popular is not that R is so awesome, is that R has tremendous
libraries of commonly solved problems that you can just go grab off
the internet or off the shelf and plug into your solution.
Imke Feldmann (00:42:14):
I have my own library I've created. You can go to my GitHub and
you'll see 50, 60 custom M functions. You can package them in a
record and [inaudible 00:42:24] them as a library and your M code,
or you could even connect live to them and run them with an execute
statement. But this is too difficult, although it's just a couple
of clicks, but it's too difficult or at least intimidating for the
beginners, who really Power Query beginners who start with the
products, I think there's so much potential to make their life
easier. And that's not through some coding stuff, or I know this
function, I know that function, that's really can only come in my
eyes through user interface with buttons.
Rob Collie (00:42:59):
Yeah, I agree. And just as importantly for me, is that I might
actually come around and be like, just as much team Power Query as
team DAX. Honestly, my frustration is just the M language and just
my total lack of desire to learn it. [crosstalk 00:43:16]. It is
what it really comes down to. It's not about M, it's not about
Power Query, it's about me. Whereas again, I know the need that it
fills is massively important. So it's not that I think it's a bad
mission, I think it's like the mission in a lot of ways. I was
obsessed with it long before I ever crossed paths with business
intelligence, I was obsessed with data transformation, end user
data transformation. It's just a problem that's about as ubiquitous
as it gets. So let's make it happen. We agree, the two of us,
that's it, right? It's like we need to go provide a unified
front.
Imke Feldmann (00:43:52):
I think that that's an idea in the idea forum, I might send the
link that you can maybe post.
Rob Collie (00:43:56):
We want that thing up, voted to the moon. I'll even go figure out
what my sign in is on the ideas side.
Imke Feldmann (00:44:08):
Oh, good luck with it.
Rob Collie (00:44:09):
Which is absolutely impossible. I have no idea which of the 14
counts. And then I'll try to create a new one and it'll go, "Nah,
you're not allowed to. We know it's you, but we won't tell you who
it is, what your email address is." So I completely agree. So
there's so many problems. I always struggle to produce the list.
It's like I need to be writing down the list of things that are
crucial, but here's an example. Remove duplicates, but control
which duplicate you keep. That's a problem that can't be solved in
the GUI today.
Imke Feldmann (00:44:48):
And you need the intimidating type of buffer that you have to write
by hand around it, which is just pain.
Rob Collie (00:44:56):
Remove dups and don't care which one you keep. Okay, fine. That's a
great simple button. There should be an advanced section that
allows you to specify, oh, but before you keep the dups, sort by
this column or sort in the following manner.
Imke Feldmann (00:45:10):
Exactly.
Rob Collie (00:45:10):
And then keep the first one of each group. It's easy for us to say
outside the team, but apparently that is a, we just make a joke,
right? That's apparently a Manhattan project level of software to
add that extra button. Anyway, we'll get that.
Thomas LaRock (00:45:27):
That doesn't make sense to me though. I'm fascinated by all of your
conversation and you guys are a hundred miles away from me in a lot
of this stuff, but I could listen to it all day. But no, the fact
that Excel can't do the remove duplicates, except for like the
first of each one of something, that's a simple group by. In my
head, I sit there and go that's easily solvable because Excel and
DAX does such great stuff that I would never want to do in TSQL,
how the hell do we stumble across a thing that's been solved by
straight up SQL language that somehow can't get into an Excel?
Rob Collie (00:46:01):
Well, let's explain the problem very clearly and see if we're on
the same page as to what the problem is, but either way it'll be
valuable. So let's say you have a whole bunch of orders, a table
full of orders. That is a really wide Franken table. It's got
things like customer ID, customer address, customer phone number,
but also what product they ordered, and how much of it, and how
much it cost. Okay, and a date, a date of the order. All right. And
you've been given this table because the people that are
responsible for this system, they think that what you want is a
report and not a data source. And this is incredibly common. Okay.
So you need to extract a customer's dimension or lookup table out
of this. You need to create a customer's table so that you can
build a good star schema model. Okay. And Power Query is right
there to help you. Power Query will help you invent a customer's
look up table where one wasn't provided, and that's awesome.
Rob Collie (00:46:58):
Okay. So you say, okay, see customer ID this column. I want to
remove duplicates based on that column. Okay, great. But now it's
just that the order that the data came in from the report file or
the database or whatever that will determine which duplicate is
kept. What you really want to do of course is take the most recent
customer order of each customer ID because they've probably moved.
They may have changed phone numbers, whatever, right? You want
their most recent contact information. You don't want their contact
information for 15 years ago. And the M language allows you to
solve this problem essentially sort by date, and then keep the most
recent, but only if you get into the code manually, and as Imke
points out, it's not even if you go into the code, the things that
you would want to do, if you do a sort, you can add a sort step to
the Power Query with the buttons, with the GUI, and then you do the
remove duplicates and it ignores the source.
Imke Feldmann (00:47:59):
Yes.
Rob Collie (00:48:02):
The GUI almost tries to tell you that it's impossible, but if you
know about table dot buffer.
Imke Feldmann (00:48:07):
So the question is why do we have a sort command in Power Query
when it doesn't give the sort order? I mean, that is the question
to ask. But that's how it is.
Rob Collie (00:48:16):
It sorts the results. It sorts the results, it just doesn't sort
for the intermediate steps.
Imke Feldmann (00:48:20):
Why? No, that's quite technical. But would just be great if such a
common task could be done with buttons that is reliable at the end.
I fully agree.
Rob Collie (00:48:35):
So Tom, I think this one's really just an example of, again, I
truly think that M and Power Query, just like DAX and data
modeling, the Power BI data modeling, both of these things belong
in the software hall of fame of all time. It is amazing, Power
Query, M, is just ridiculously amazing. It's one of the best things
ever invented. Remember this is someone who's associated with being
a critic of it.
Imke Feldmann (00:49:04):
Yeah, you're making progress, it's great to see.
Rob Collie (00:49:07):
And yet I'm telling you that it's one of the top five things ever
invented probably. And I think there's a certain tendency when
you've done something that amazing to lose track of the last mile.
I think it's more of a human thing.
Imke Feldmann (00:49:19):
Maybe, but I mean, what I see is that they are investing quite a
lot in data flows, which makes a lot of sense as well in my
eyes.
Rob Collie (00:49:27):
All that really does though, as far as you and I are concerned,
Imke, is it makes it even more important that they solve this
problem. Because it's now exposed in two different usage
scenarios.
Imke Feldmann (00:49:37):
Yeah, you're right.
Rob Collie (00:49:39):
And I want my data flow to be able to control which duplicates are
kept too. So that's what I'm saying. There's all these big sort of
infrastructural technical challenges that do tend to draw
resources. And it's not a neglect thing.
Imke Feldmann (00:49:54):
No, no.
Rob Collie (00:49:54):
It isn't like a willful failure or anything like that, I don't want
to paint that kind of negative of a picture.
Imke Feldmann (00:49:59):
No.
Rob Collie (00:50:00):
It's just that out here in reality, the inability to do, even if we
just identified the top 10 things like this, addressing those top
10 things with GUI, with buttons, what have I think in the world,
maybe even a bigger impact than the entire data flows project,
right? Because you would expand the footprint of human beings that
are advocates of this stuff and then you go build data flows. You
don't have to think of it as either or, right? They should do both.
It's just that I think it's hard to appreciate the impact of those
10 buttons when you're on the software team. It's easier to
appreciate the impact of data flows, which is massive. I don't mean
to denigrate that. I think it's crazy good. It's just that this
other thing is of a similar magnitude in terms of benefit, but it's
harder to appreciate when you're on the software team. It's easier
to appreciate when you're out here in the trenches, living it every
single day. And every time I run into a problem like this, I have
to put my hand up and say to my own team, I have to say, "
Help."
Thomas LaRock (00:51:02):
So a casual observation I have is that you wish for there to exist
one tool that will handle all of your data janitorial needs. And
that tool doesn't necessarily exist because life is dirty, so is
your data and you're never going to anticipate everything possible.
Now, should that sorting functionality exist in that duplicates,
the scenario gave me? Yeah, probably. But there's always going to
be something next. And that's why I go to you and I say, the thing
that you've described to me is you need your data to be tidy so
that it can be consumed and used by a lot of these features that
we've talked about today. And in order to get to tidy data, there's
no necessarily one tool.
Thomas LaRock (00:51:48):
You're a big fan of the ETL, Rob. You know that, hey, maybe I need
to take the source data and run it through some Python scripts, or
some M, or something first before it goes to this next thing. And
that's the reality that we really have. What you're wishing for is
the one tool, the one button to rule it all. And that's going to
take a while before that ever comes around.
Rob Collie (00:52:09):
The thing is though, is that M is ridiculously complete.
Imke Feldmann (00:52:14):
Yeah.
Rob Collie (00:52:15):
You can do anything with it. And it's a language that's optimized
for data transformation. So I know you can do anything with C++
too, right? But this is a data crunching, data transformation,
specialized language that is really complete. And its UI is
woefully under serving the capabilities of the engine. And so I
suppose we could imagine and deliberately design a data
transformation scenario that maybe M couldn't do it.
Imke Feldmann (00:52:45):
No.
Rob Collie (00:52:46):
I think that'd be a very difficult challenge considering how good M
is.
Imke Feldmann (00:52:49):
I think in terms of logic, M can do anything, but in terms of
performance, there is some room for improvements. So because
there's a streaming semantic running in the background, and as long
as the stream runs through all the steps, if you have complex
queries, this can really slow things down. And currently there is
no button or command in the M language to cut the stream and say,
well, stop it here and buffer what you have calculated until here,
and then continue from there. So if you have really complex stuff
that would benefit from an intermediate buffer, then you can store
that in an Azure blob or CSV, or whatever. Specifically if you're
working with data flows, you can create some automatic processes
that would enable this kind of buffering.
Imke Feldmann (00:53:45):
And then you will see that the speed of the whole process that can
really increase dramatically because in some situations, the speed
in M drops exponentially. And these are occasions where a buffer
would really helped things, but we don't have it yet in the engine
of Power Query. So this was what really be something else that
would be fairly beneficial if we wouldn't have to make these
work-arounds through things.
Rob Collie (00:54:14):
Tom, that just occurred to me, I can't believe this is the first
time that this thought has crossed my mind. But I think that you
might fall into an abyss of love with M.
Thomas LaRock (00:54:28):
Well, I'm a huge James Bond fan, but...
Rob Collie (00:54:30):
Oh, no. I think you would really, really just dig it.
Thomas LaRock (00:54:38):
I don't think I have time to take on a new relationship at this
point. I'm still with Python and R, so I mean, I don't know. I'm
not going to disagree, I'm just, please don't start a new addiction
for me.
Rob Collie (00:54:51):
Think of the content though, that you could produce over time. The
M versus SQL versus Python treatises.
Thomas LaRock (00:54:59):
Cookbook.
Rob Collie (00:55:00):
You were made for this mission Tom.
Thomas LaRock (00:55:03):
Okay. So we'll have to talk later about it. You can sweet talk me.
You know I've let you sweet talk me into any [inaudible
00:55:08].
Rob Collie (00:55:08):
That's right, that's right. Come on, Tom. Get into M, you know that
thing that I have nothing but praise for, that I just love to
death, you need to do that.
Thomas LaRock (00:55:18):
For you. That's what you want to do, is you want to learn it but
[inaudible 00:55:21] through me.
Rob Collie (00:55:22):
Oh, that wouldn't work. I would be, "Oh yeah, well this is still
M."
Thomas LaRock (00:55:29):
You're going to be like, "Tom, where's your latest blog post on M
so I can read it and hate upon it even more?"
Rob Collie (00:55:37):
No, I would not read. Just as the first step.
Thomas LaRock (00:55:42):
I'm going to read it, but not leave a comment about how much I hate
it.
Rob Collie (00:55:45):
Let's go back to talking about how we did a bunch of big fat
Fisher-Price buttons for me to mash my thumbs in the UI. That's
what I need.
Thomas LaRock (00:55:54):
You know what? I'll do that. I'll open up VS code and I'll just
build this one big button, it's Rob's button.
Rob Collie (00:56:00):
Hey, you won't believe this, but I recently installed VS code.
Thomas LaRock (00:56:03):
I don't believe it, why?
Rob Collie (00:56:05):
Well, because I needed to edit, not even write, because I'm not
capable of it. I needed to edit an interface, add on customization
for World of Warcraft. And the only purpose of this World of
Warcraft add on interface modification was to allow me to drop
snarky comments into a particular channel of the conversation based
on the button that I press. I needed a menu of snarky comments to
drop at particular points in time. It's hard to type them out all
the time, right? So it's just like, now here we go. I dropped one
of those. I dropped one of those.
Thomas LaRock (00:56:37):
We got to get you a real job or something. You got way too much
time on your hands.
Rob Collie (00:56:42):
That was my number one contribution to the World of Warcraft Guild.
For a couple of months, there was the snarky rogue chat.
Thomas LaRock (00:56:48):
You know that is on brand.
Rob Collie (00:56:56):
It prefixed every comment in the chat with a prefix, you came from
rogue chat 9,000. So that people who aren't on the joke were like,
"Why is this guy, he's usually very quiet, become so obnoxious.
Look at the things he's saying." Anyway. So VS code. And that also
involved GitHub. Because my friend who wrote the stub, the shell of
this add on for me is a vice president at GitHub. So of course he
puts the code in GitHub and points me to it and then points me to
VS code, and I'm like, "Oh, you're making me work now? Okay. But
you wrote the shell for me, so okay. All right. I'll play ball." So
it doesn't sound like you regret your decision to go solo.
Imke Feldmann (00:57:40):
Absolutely.
Rob Collie (00:57:41):
You're not looking to go back to corporate life.
Imke Feldmann (00:57:43):
Absolutely not.
Rob Collie (00:57:44):
Not missing that. So what can you tell us about the last year or
two? What impact, if any, did COVID have on your business?
Imke Feldmann (00:57:52):
Business has grown especially the last year. So people needed more
reports than ever and solutions. So it really, I don't know whether
it was COVID effect or just the fact that Power BI is growing and
growing.
Rob Collie (00:58:07):
I'm sure it's both. So the dynamic we saw during 2020. So 2020
would be the, if you're going to have a year that was negatively
impacted by COVID, it would have been 2020. And what we saw in 2020
was that we were definitely not acquiring new clients. We weren't
making new relationships at nearly the rate we had been people
weren't taking risks on meeting a new BI firm. That wasn't
something that there was as much appetite for as there had been.
However, amongst the clients where we already had a good
relationship, we'd already been working with them for a while,
their needs for data work expanded as a result of COVID because it
did, it created all kinds of new problems and it invalidated so
many existing blueprints of tribal knowledge of how we run the
business. When reality changes, you need new maps, you need new
campuses.
Rob Collie (00:59:04):
And so on net, we ended up our overall business still grew modestly
over the course of 2020, year over year compared to 2019. But then
when the new clients started to become viable again, people started
looking, we're interested in making new relationships, 2021 has
been a very, very strong year of growth, not moderate, really kind
of crazy. How do you keep up with increased demand as a one person
shop?
Imke Feldmann (00:59:35):
Saying no.
Rob Collie (00:59:36):
You have to make your peace with saying no. At one point in my
history, I faced sort of the same thing and I decided not to say
no, and instead decided to grow the company. That brought an
enormous amount of risk and stress-
Imke Feldmann (00:59:55):
I can imagine.
Rob Collie (00:59:55):
... Into my life that I did not anticipate its magnitude. I'm sure
I anticipated it, but I didn't anticipate the magnitude of it. I'm
very grateful that I'd made that decision though, because where we
are today is incredible. That's a rocky transition. So today
everything runs like clockwork basically. We have a lot of growth
ahead of us that seems almost like it's just going to happen, we're
just going to keep growing for a long time. But we had to set the
table we had to build our organism as a company into a very
different form than what it had been when it was just me. And that
molting process it was very painful. I don't pretend that the
scaling decision is the right decision, it's very much a personal
one. I've certainly lived that. If the version of me that made the
decision to scale the company knew everything that was coming, it
would have been a much harder decision to make. You kind of have to
have a little bit of naive optimism even to make that leap.
Imke Feldmann (01:00:57):
I can imagine that once you get these things figured out and with
the dynamic that the product has, that has a good chance to get it
going into a very successful business, I believe.
Rob Collie (01:01:10):
Well, with your profile and with the growing demand for these sorts
of services, the percentage of no that you have to say is just
going to keep going up.
Imke Feldmann (01:01:20):
Yeah. But I made my decision and that's just fine.
Rob Collie (01:01:25):
I'm very supportive of that decision. I don't have any criticism of
it, again, especially knowing what I know now. But if there's going
to be come a point where you're going to be saying yes 1% of the
time, and the answer to that is ultimately, well, you just raise
your rates, which is also very difficult to do. In the end, it's
almost like an auction for your services. You need to run yourself
like Google. There's a 40 hour block of Imke time coming up for
availability. We'll just put it on eBay.
Imke Feldmann (01:01:59):
I mean, it's just nice to be able to choose with whom you work
with. That's just nice. And I earned enough money, so that's fine.
So I'm happy with that.
Rob Collie (01:02:12):
How do you choose who you work with? Is it mostly based on
industry? Is it mostly based on job function that you're helping?
Or is it more about the specific people? There's all kinds of
things that could... Let's say if I came to your website today, I
filled out your contact form, what are the things that I could say
in that contact for a message that would lead you to say no, versus
leads you to say maybe?
Imke Feldmann (01:02:37):
What I really like to do is to work with finance directors. So
basically not people exactly like me, but I like to see that the
managers approached me and they have an interest in the product
itself and also therefore an interest to push it into their
departments. So this is for me, a very, very good starting point
because it's an area I'm familiar with. I know that there's enough
critical support to get the decisions that have to be made and
maybe also push IT to help with certain things. This is really one
of my favorite set ups, I would say.
Rob Collie (01:03:19):
Yeah, we do a lot of work with finance departments as well. How
long does sort of your average relationship run with a client? How
long do you end up working with the same organization on
average?
Imke Feldmann (01:03:31):
That's hard to say, that's really completely different. It can be
the initial five days kickoff where we set up a PNL statement
connect all the finance data and they go along with that. And
basically, never hear again, or just occasionally hear again, "Can
you help me with this problem or that problem?" And it could also
be going on for years, basically with breaks in between of course,
but some customers, they come every now and then when they want to
expand things. Now I have a customer that I'm working on some hours
or even days ever week since over a year by now.
Rob Collie (01:04:15):
That sounds similar to my experience as a freelancer, when it was
just me, less similar to our business today, a little bit less. I
mean, I think it's still more similar than not. It's just that the
dial has moved a little bit.
Imke Feldmann (01:04:32):
So how long are your engagements then, usually?
Rob Collie (01:04:35):
Most of our engagements are, if we start out doing kind of that
kickoff you're talking about, we started like a project with
people, that tends to not be the end. We don't typically have
people just immediately vanish after that because that's usually
the point at which, I mean, they've got something working already,
very often after the first week or so of working with a client,
they've usually got some really amazing things built already at
that point. But at the same time, that's really just at the
beginning of the appetite. Usually there are things that are not
done even in that initial solution that even if they could figure
it out for themselves, which sometimes they could, once they've
seen what the possibilities are like, I'm sure you see this too.
This dynamic I'm going to describe is one that you're familiar
with.
Imke Feldmann (01:05:20):
Of course.
Rob Collie (01:05:21):
It's not about our business. It's about the technology and sort of
how it meets the people. Someone comes to us and they're almost by
definition, if they're going to hire us, they're in on the idea of
Power BI, they're in on the idea of the Power platform. But after
the first week of working with us, they're three times as in,
they're just so much more in than they even imagined they could be.
Because now they could see like, "Okay, this is real. We made all
of that progress in that amount of time. And the ROI on getting the
magical stuff up and running sooner is better to press the gas
pedal and get there faster, even if you could muddle your way
through it." Saving the cost of us helping them isn't a good
trade-off for them.
Imke Feldmann (01:06:08):
Yup, that's true.
Rob Collie (01:06:11):
And that was a hard thing for me to get my head around when I was a
solo practitioner, when I was a freelancer. I was almost trying to
not bill hours. I was like, "Now you can do this for yourself." I
was telling clients that they needed to do things for themselves
that they didn't want to do for themselves.
Thomas LaRock (01:06:29):
Right.
Rob Collie (01:06:29):
They're like, "No, we actually want you to." And so another luxury
that I had as a freelancer that we've had to grow out of as a
company, I'm really interested to hear what your thoughts are about
this. So when I was a freelancer and I had more demand for my
services than I had time, and I did live in that world for a while,
I had the luxury of not putting myself fully on their side of the
table, meaning they manage the project. If there was a need for
something, I wasn't going to do anything unless I was directly
asked for it, which is what you want from a consultant, you don't
want a consultant going off and doing all kinds of crazy work.
Imke Feldmann (01:07:08):
Exactly.
Rob Collie (01:07:10):
But there's a stronger version of this [inaudible 01:07:11] is that
I wouldn't even suggest anything beyond what they had asked me for.
And it wasn't that I had all kinds of ideas and I was withholding
them, I just wasn't doing that. I viewed myself as a service that
they came to with their demands and I would fulfill their demands
and then they would leave and they would come back when they needed
me, that's how I sort of defined my role. And what we've learned
over time is that that's actually a disservice to the client to not
help them sort of expand their picture of what's possible. We've
even had clients who started out working with me in the Rob a LA
carte model where I was just like a one-way interface, you came to
me and then I do work, right?
Rob Collie (01:07:53):
And as a company, we've had clients that started off in that mode
with me and then transitioned to other people. And again like that
cultural practice kind of got inherited to the company in the early
stages of our existence. And we've had clients, early clients,
who've been with us for years, come back to us later and say, "Hey,
it would have been better for us if you'd been a little bit more
proactive in terms of suggesting how we could improve our operation
in general." And we've heard that signal and we've transitioned,
we've absolutely transformed, but we are no longer the Rob style.
This is the lesson that we learned years ago and we've gone through
the learning curve and the process of getting better about being
better advisors.
Imke Feldmann (01:08:33):
What do you mean by that? What do your clients need in terms of
suggestions or improvements? Their basic finance processes?
Rob Collie (01:08:41):
I'll answer that with an example. And it will be a halfway factual
example that came from our history, but also I'll sort of halfway
fictionalize it to make it easier to understand.
Imke Feldmann (01:08:53):
Mm-hmm (affirmative).
Rob Collie (01:08:53):
This is a very truthy example. So let's say we were building
dashboards reports for a particular company for a long time. And we
knew that the way these dashboards, these reports were being used,
was to inform people on particular decisions that they need to
make, of course, right? But we know, because we've been part of
their culture and their team for so long, we know what that looks
like. We know that the person who's using this report, that role,
then turns around and goes to this other system, this other line of
business system and make certain adjustments, okay. This client
came back to us and said, "Hey, it would have been great if two
years earlier than when it came up, you had suggested that we start
doing some sort of Power Apps integration here, or Power Automate,
Flow, whatever, right, to make the action taking portion of that
process less clumsy." Now we never asked you P3 if there was
anything you could do there, okay?
Imke Feldmann (01:09:55):
Yes.
Rob Collie (01:09:56):
"But eventually we discovered on our own that that was a
possibility and we formed the goal to do it." This is an example
from like 2016, right? So this conversation happened like five
years ago, but it's still like three years into the history of the
company, right? And they said, "Look, if you had your eyes a little
bit wider open, and I'd been okay with this suggestion," in other
words, in some ways we are so, especially back then, we were so
obsessed with this idea of being the good guys, right? But we're
still like this. We don't do any work for a client that's not good
for the client. We don't suggest projects that will build revenue
just to build revenue. I think most consulting firms very much
still do. So this still makes people like us and yourself
different, right?
Rob Collie (01:10:42):
We were so obsessed with that principle that we wouldn't even
suggest things to the client that we're amazing for them. And so we
have learned our lesson there. We're not pushy, it's not like a
used car sales dealership or whatever, but we're much more
conscious of the entire ecosystem that's going on at the clients,
the bigger picture. And just because a client hasn't formed an idea
and asked us if we could do it, that's not the signal, right? We
should have our eyes open and be at least open people's eyes to
possibilities that would make things genuinely better for them,
whether they choose to do it or not, whether they choose to use us
to help them do it or not, doesn't matter, we've become better
advisors over the years.
Imke Feldmann (01:11:28):
I understand what you mean. That's one reason why I prefer to work
with finance directors or people in that area because I can ask
them these questions and can speak openly with them, and they sit
on the budget and they can then decide if they want to move in that
direction or not. And certainly Flow is a product that's helped me
a lot in these additional aspects in the past. So these Power
Automate things are really a great addition in them for many
finance tasks.
Rob Collie (01:12:00):
I think that's a really crucial difference. When you're working
with finance directors, you have legitimately walked in their
shoes. And so there's an authenticity there when you say, "Hey, I
would seriously consider paying some attention to this other
portion of your workflow that we could improve." Whereas I had been
a software engineer when I was solo, right? I had never been
anything. Software engineers weren't hiring me, right?
Imke Feldmann (01:12:30):
Sometimes that's just enough to ask the question, " Just have you
considered this or that? Or there are other options as well." And
then, I mean, can be a difficult field, but diplomacy is needed and
it helps if you know the client for some time just to develop a
feeling if they are open to suggestions for improvement, let's say
like that. But that makes sense.
Rob Collie (01:12:56):
It's probably easy to imagine being a little bit less proactive
with suggesting or expanding the possibilities with a client who
doesn't come from an industry you're familiar with, right? So my...
You don't need any advice you're doing great. But so my advice to
you, if there was such a thing that was necessary, it would be that
even outside of your industries of comfort, the lesson that we've
learned is that you should be still using basically all of your
faculties, just like you would be. It turns out that the nature of
problems, the patterns that exist, they span industries. And a
versatile brain such as yours really is just as valuable making
suggestions outside of your industry of origin as within it. And
that was a lesson that we, as an organization, have had to
learn.
Rob Collie (01:13:46):
And our consultants have a lot more relevant industry experience
than I ever did. Because again, I still don't think we've been
hired to help a software engineering organization manage their
software product methodology. Maybe we have, I wouldn't know, but
still we work with lots of industries that maybe the first time
we've ever worked for that industry. And we discover that boy,
there's all kinds of things we've done for other industries that
ended up being relevant anyway. And it's the nature of the thinker,
is I think quite a bit more important even than specific industry
experience. I think the industry experience is actually more
valuable in just sort of selling. People, I think really
overestimate the value of industry experience when helping a
particular industry with their data and they underestimate the
quality of the thinker that's helping them. And we have just
amazing thinkers on our team, and Imke, you clearly are as well.
But anyway, you got a good thing going, you don't need to... I'm
not saying that you need to change everything you're doing, of
course not, you're killing it.
Imke Feldmann (01:14:49):
Let's speak in two or three years, if that's still the thing I want
to do. But for the moment, I couldn't be more happy with how the
business runs.
Rob Collie (01:14:58):
You're just an amazing story, an amazing person. And I'm glad that
we got to do this, we got to spend this time together. It's been a
long time coming.
Imke Feldmann (01:15:06):
No it's great to finally talk with you. I mean, we've crossed paths
a couple of times before, but never had the chance to chat a bit.
So it was a really enjoyable experience.
Rob Collie (01:15:19):
One of the OG Power Pivot crew.
Imke Feldmann (01:15:21):
These were the days.
Rob Collie (01:15:23):
I'm just delighted at your arc.
Imke Feldmann (01:15:26):
Thanks. Thanks Tom as well, nice to meet you.
Announcer (01:15:28):
Thanks for listening to the Raw Data by P3 Adaptive podcast. Let
the experts at P3 adaptive help your business. Just go to
P3adaptive.com. Have a data day!