Home » business

Tag: business

Developers like us do things like this…

Developers like us use version control because we understand the value of being able to roll back.

Developers like us do backups because we understand our customer’s need for safety and insurance.

Developers like us have a process because that is key for delivering quality results consistently.

Developers like us ask questions because we understand the pitfalls that come with assumptions.

Developers like us understand business because the perfect solution, delivered too late, is no solution.

Developers like us are good communicators because we don’t expect the client to navigate technical jargon.

Developers like us are honest, simply because honesty is good for business.

Developers like us own our mistakes because it is the way to build trust and get hired again.

Developers like us don’t hide bad news because it shows care for the client to let them know you will not meet the deadline. It gives them time to plan accordingly.

Developers like us value privacy because the client needs to know their private data is safe in your hands.

Developers like us are generous because helping others along the way makes things better.

Developers like us are flexible because it is not always possible for the client to adapt to our workflow.

Developers like us are more expensive because we always deliver more than we got paid for.

Developers like us minimize risk because they understand the client has their reputation to consider when she places it in our hands when we deliver a solution.

Developers like us work fast because we don’t reinvent the wheel and use the best practices available in the field.

Developers like us never stop learning because we know first hand how fast the software world changes.

Developers like us future proof their code because it is never safe to assume how it will be used later on.

Developers like us prioritize customer needs because the final product is for them, not for us.

 

Note: this is a manifesto based on Seth Godin’s idea of “Tribes”: people like us do things like this.

If you had to charge ten times as much

This is such an interesting question because it asks for ten times, not twice as much. 

Asking for twice as much can trap you into thinking: 

  • I will work twice as hard! 
  • I will double the quantity of whatever I am offering! 
  • I will simply increase my prices, lose a few customers but keep the premium ones. 

None of those strategies really work when you need to charge ten times as much. Something else needs to change.

I have not found the “right answer” to this one, just yet.

But somethings are obvious:

I cannot work ten times more hours or put in ten times the effort. With 24 hours on any given day, that is simple, not possible. 

Ten times the quantity may also not be possible, not to mention that the customer may not be interested in that much more quantity. 

So what can it be? 

On the same airplane, different people pay different prices. And yes, you can find a ten times difference in tickets. The same plane does not fly farther, does not fly faster, and does not land in a luxury airport for those who pay a premium. So what exactly do they pay for? 

In the software industry, given the same project specs, you can hire developers on a wide range of prices. The specs don’t change, so the end result should be the same, so why the different prices? Why is a developer more expensive than the other. And why would a customer choose to pay for someone who charges ten times the lowest price on the offer? 

A possible, but lazy answer is status. If you care that a “Google Developer” worked on your project, you will pay to be able to say that, even though a “less famous” developer may have done the job. Beyond status, this can be a marketing signal as well. When you sell this service, it may be worth it to your customers to know that a “famous” developer worked on it if that signals quality.

Trust may be a better answer. I don’t think you can trust someone “ten times more” than another person. Still, you do have a definite feeling that you can trust person A but not trust person B. 

And if trust is essential to my business, then person A can successfully charge ten times more than person B. What is the value-added to justify this increase? In the moment, probably none. But in an environment of clickbait and shady practices, person A has spent valuable time, resources, and emotional labor to prove trustworthy. Their reputation is their asset that you pay for. 

Going higher on the “better” scale, you may have to change the people you serve. If you are a high precision car mechanic, that will not matter if all your customers want from you is to fix their headlights. You may be fast at it, you may be precise, but it will not matter. You will not be able to ask ten times more for your services in that crowd. You need to find a different crowd, likely a smaller crowd, looking for that particular skill. To them, it will make sense to pay you ten times more, because the value they get out of your work is twenty times more. For them, you will still be a bargain.

On the same level with “change the people you are serving” can be “change your story.” In fact, the two go hand in hand and influence each other. If you sell a commodity, you have no choice but to join the race to the bottom. The alternative is to trade in emotions. To transform fear into belonging. For that, you need a story. You need to stand for something. To serve people at the edge, that everyone else has overlooked. 

For “regular” people, water is free. For someone stranded in the desert, water is priceless. A way to charge ten times more is to find people who are thirsty and then create the product or service that will satisfy their needs. 

Charging ten times as much is scary because it usually means you need to change and sometimes in dramatic ways. Letting go of the old clients is not easy. Letting go of the old product or service feels frightening. What if you are wrong? And we arrive at risk. Those who play it safe always find themselves in a crowded place. Setting out to sell water in the desert does not mean you will also find someone there. 

How about you? What would you change if you had to charge ten times more? 

What does the client want?

Some time ago…

Some time ago, the conversation with a potential client would be something along the lines of:

“How can I help you?”

“I want a website to sell my products.”

“OK, great, this is a price and you’ll have in a month.”

A month later…

I’d show her the site, and the reaction would be: “Well, this is not even close to what I had in mind…”

I had to change the game and ask more questions 🙂

“What colors do you like?”

“Red and blue.”

“Great, and font wise?”

“I want something elegant, precise!” 

“For images?”

“Oh, something joyful and warm…”

“Excellent! This is the price; you will have the site in a month”.

A month later…

I’d show her the site, and the feedback is: “This red is not red enough, and now I realize the red and blue are a bad combination! Can we try yellow instead of blue? And the font is too girly for what I have a mind. We are going to need new images as well. The top one is ugly, and the rest don’t match the brant at all.”

Oh, the frustration.

At some point, I’ve spent two weeks back and forth, trying to nail down the shade of blue. That was a waste of my time and the client’s time!

I had come to believe that the clients don’t know how to communicate (I had a much shorter description for this). I had resolved that I would never even discuss with someone who could not write a technical specification that we can agree on, and that I could deliver. 

This decision blocked many customers, but more importantly, blocked important learning. 

The Breakthrough 

I was watching a video from Chris Do. He’s a designer who also teaches business, and I admire his style. To me, it feels like he is talking to me specifically. The kind of decisions you need to make in design apply in software and for anyone who uses creativity to solve a problem. But I digress. 

Back to the video. 

He was taking questions from the audience, and someone asked: “How do you deal with clients who don’t know how to communicate what they want?” Ah! The golden questions! I had the same struggle. I perked up, waiting for the knowledge to be bestowed on me. 

Chris looked into the camera, and you could tell that the question was really testing his patience. Hm… And he said: “How many times do I have to tell you that the good-communication is on you! It is your responsibility to help your client articulate her problem and then discover if you can help her.”

All the pieces began to fall into place in my mind. I suddenly understood that in blaming the client, I was not only asking the wrong questions, but I was not developing a critical communication skill. 

In the present time…

When a client wants to work with me, they better be ready for a ton of questions :). As someone jokingly said, they need to feel like they’ve been to the shrink after the first discovery session. 

Here is how the conversation might look like:

“I want a site that can help me sell my products.”

“Sure, that is something that I specialize in, but out of curiosity, what problem are you trying to solve?”

“Well, I need to increase my revenue, obviously”

“OK, that makes sense. How do you know that having a website is the best way to solve this problem?”

“I don’t know… everybody does it… what other options are there?”

“I am glad you ask. Before I can answer that, I’d need to know more about your business. It’s OK if I ask you a few questions?”

“OK…”

“At the moment, how do you generate your revenue…”

And this would go on for a while. 

In the end, what I need to know is:

– what is the biggest problem that this customer is facing 

– how can I help them discover this problem if they don’t know it

– how can I help them articulate their underlying needs 

– in the end, are we a good fit? Can I help her with what she really needs? Can she afford me? Do we like each other well enough to work together for a few weeks or months? 

And by the end, the client would also need to know

– how do I work

– can she trust me

– what is my price range

– what kind of a solution can she expect

– is hiring me the right choice for her

In Conclusion

Make sure you correctly diagnose the problem before you prescribe a solution. If the solution you’re thinking of is not the right one, you need to find out as soon as possible, not at the end of the process.

If you found value in this article, let me know in the comments below or on Facebook. This feedback will help me understand what to focus on in the following posts. 

Go create the New Paradigm today!

Automation with Zapier

What do you value most? I hope that your answer is: “TIME.” 

Time is our most valuable resource because it is non-renewable. Wasted time is lost forever. And it could be argued that the reason we work so hard is to have enough resources. Resources that will allow us to spend more time doing the activities that we enjoy: activities like following your dreams, working on your business, spending more time with friends and family. 

I don’t know of any better time-saver in the online environment than automation.

Automation means to identify and formalize processes for the flows that make your business work and then use various tools to set them on “automatic.” This way, they can work even when you are not paying attention. It is like having an employee that is almost free and never sleeps or rests. 

In today’s world, the leading tool for automation online is Zapier

The idea behind Zapier is quite simple and yet profound because of the market they are speaking to. 

What happens is that in the online world of business, you have your website, your store, your payment gateway, customer engagement, webinar, emails, and so on. All these components need to talk to each other. What used to happen before, is that you, as the business owner would have to create and manually maintain this communication, usually based on email notifications you would get from various systems. 

The alternative was to hire someone to do it for you or hire a developer to write a custom program that would automate these processes. Both options could get pretty expensive.

There has been a shift in the past few years. Each of these services exposes an API. This API allows them to talk to each other in a clear and standardized way. With this option available, you would need somebody to integrate these APIs. To connect them in ways that make sense for your business. 

Here in comes Zapier! The beauty of it is that they have put together a platform that allows non-developers to visually express their processes and to connect all these components in a way that makes sense. This flow is testable (which is very important, you want to make sure that your automation works as intended), and you have analytics and an overview of what is happening.

There is a free tier for Zapier, but I want to get into the paid one because I think that is where the power is. You may shy away from paying them the monthly fee. So let’s explore that a bit. 

The way to think about choosing a paid plan is to make a business decision. Would paying Zapier a monthly free enough time and generate enough sales to cover for the costs and then some?

If you get their $20/mo plan, you need to only generate an extra $20/mo in sales for this option to make sense to you. But not only that. Also, consider the free time you now have to do something else, and how much you value that. Consider the money you would spend on a developer to set this up for you and then have it maintained. (By the way, I am not an affiliate for Zapier, I am just using them as an example to talk about automation)

In conclusion, we live in exciting times, where with a bit of patience and thinking through your processes, you can build your website and connect the required components with no need for a developer if you use a tool like Zapier. And this excites me because it enables even more people to express their creativity cost-effectively!

If you are reading this and you are a developer, then seriously consider exposing and API for your services and products and have them seamlessly integrate with Zapier. 

The Importance of the Value Conversation

All too often, when a person contacts you for a job, you’re eager to say yes and get started! 

I now know that this is backward. 

Instead of being eager to get started, the first step should be to determine if you and the potential new client are a good fit. 

They have money to spend, and you need the work, so you are a perfect match, right? Well, not so fast! 

Here is what is going to happen if you and your client are not a good fit:

– communication will not be clear

– because of communication issues, the scope of the project will not be clear

– because the scope will not be clear what you will deliver will be all over the place

– customer will not be happy, will ask for endless changes

– you realize that what you get paid does not even cover the costs to have this project delivered

– you will be resentful and being to doubt your career choice

Sounds familiar?

At the beginning of a transaction, the only power you have is to say “NO,” so don’t give that up with a quick “YES.” 

Instead, try to dissuade this person from working with you. This way, you get out all of the objections from the start. 

Why did they call you specifically? Why didn’t they go to our competitors? Do they realize that you are likely the most expensive option they have? 

These questions will uncover some fascinating information that you wish you knew before you started the project. 

If they are still talking to you, they clearly value your expertise over your competitors, and they understand that you will not do cheap work. If they are not talking to you anymore, realize you were not a good fit, and you were able to determine this in minutes instead of months.

Now it is time to determine what kind of value you can create for your customer. 

The vital thing to notice here that I said “determine value,” and not “solution.” We are not thinking of solutions yet. And for me, this was a big aha moment. 

Unless you know what is valuable for your potential client, you will end up creating stuff that is mediocre in their eyes, or “OK” at best.

Another distinction to be made here is to understand that sometimes you will be talking with someone who will spend not their money, but their bosses money. And in that case, the question if their mind is: “will my boss approve of this and like me more or not?

Ask a lot of questions, take notes, and reflect back to them what you understood they value about what they want to achieve. 

Example: creating a website is not a “value goal.” Asking more profound questions, you may learn they have a product they want to promote and eventually sell. And today, there are ways to get into that without having to have a website. The solution you will end up offering will be very different than what they asked before. And you only know this because you asked about value first and only then you thought of solutions. 

But there is another less obvious benefit for having the value conversation. You will take notes, and you will agree to deliver on the value points discussed. So when you ship your project, they will be delighted with the result, or you will have to show them how the solution meets all the agreed-upon value points. And even if they “don’t like it” for whatever reason, if it delivers the value you agreed on, then you kept your promise, and now it’s time for them to keep theirs.

And a trustworthy business or one that delights gets referrals. Everybody wins! 

Credit where credit is due: These ideas are a shameless steal from Blair Enns – Win With Pitching. I sincerely believe that the more businesses adopt the value discussion midset, we will all be better off. We will charge more for our services, but the client will be happy to pay because they get the value they were looking for, and now that is crystal clear to them. 

I am ending with a quote from Seth Godin: 

“Yes, you will pay more, but you’ll get more than you paid for.”

The Importance of Architecture and following best practices

As a young programmer, I was eager to dive in and get my fingers dirty as quickly as possible—no need for a plan or a direction. I knew I could figure it out as I went.

Fast forward some years, add higher project complexity over a more extended period, and the lesson became clear: sometimes if you want to run for long, you need to run slower and have a plan!

Figuring it out as I went worked fine for one-day projects or one-week prototypes. But when bigger projects came my way, I got to a point where I could not remember anymore what my initial think was, where was I headed and why, and how to present my idea to new members on the team.

Although nobody likes to write documentation, I began to make a habit out of it, and I knew it would come a day when I will thank myself! By now that day has happened many times 🙂

What would I tell my younger self?

Writing docs and making plans is not sexy, and in general, your clients do not care for them. They need working software, not documentation. But if the project is longer than six months, a few problems will begin to crop up:

– you forget why you took the decisions you made with the initial design

– if you will need to refactor your code, and if it is not well documented (and if it lacks automated testing) the job of refactoring will take a long time, and you run a high risk of breaking functionality

– by using best practices, you future proof your code – you make sure that you at least don’t make the same mistakes that others made before you. You will make new ones, for sure, but your overall code will be much more stable, easier to maintain, and upgrade.

In conclusion, there is a time to be quick and messy (when you are prototyping), but then you need to slow down and think things through.

SSO – Single Sign-On – One Ring to Rule them all!

I am sure you have noticed most of the software services today that require you have an account allow you to “Login with Google” or “Login with Facebook.”

That is very convenient for your potential users and customers as Facebook and Google are so ubiquitous. 

The process above is a form of Single Sign-On. The user logs in only once into Google and then uses that login to authenticate themselves into various other software services that accept Google as an “identity provider.” 

The term “identity provider” is what Google and Facebook do when they allow you to use their services to authenticate your users. 

I was reluctant to use an external identity provider before, because I had assumed that it would mean that you do not “own” your user base, but instead Google does, and they could cut access on a whim. But that is not the case. If you request and are granted access to the user email, you can still get in touch with them, even if Google or Facebook will refuse to do business with you anymore, for whatever reason. 

So it makes sense to add such a feature to your service because it will make it much easier to adopt. 

For larger companies that manage multiple applications and services, it is possible, and it makes sense to implement their own Identity Providers to create the Single Sign-On capability.

Potential Pitfalls

A big challenge that I found with using Identity Providers is “session management,” which means keeping track of the “logged in user.” For example, if the user logs out of Google and logs in with a different account, your application needs to be able to spot this and create a new session for the new account. Otherwise, you risk exposing private data to the wrong person.

The Technical Side

Implementing Identity Providers and consumers it is relatively easy now because they are standard, so you can find ready-made libraries that will make the connection a breeze. 

The libraries I have worked with that I can recommend are:

For Php Composer:

– The PHPLeague / OAuth2-Server 

– The PHPLeague / OAuth2-Client 

WordPress Client Plugin:

– OpenID Connect Generic Client (this required some modification as it was not implementing all the requirements out of the box.)

Say No, so you can say Yes

My son was born two months ago. It feels like time got compressed. I used to be able to do so much and still have spare time.

But these days, I often find myself not able to finish doing what I set out to do. It often happens that I feel overwhelmed.

The new situation has forced me to look deeper at the concept of prioritizing your day.

A to-do list does not work.

Prioritizing is hard. It is hard because it is emotional work.

It is easy (and lazy) to say: everything on this list needs to be done today. It is hiding from the hard emotional work of prioritizing.

When you think about your priorities, you need to get clear with yourself about what is truly important for you. Where do you want to get, what do you want to accomplish, whom do you want to spend your time with.

You have to say “No” to many things on your list so you can say “Yes” to the most important one.

If I say “yes” to more computer time, I have to say “no” to more rest time, or I have to say “no” to more family time.

The truth is we all get 24 hours a day, and saying “yes” to everything is a trap. You are not being honest with yourself, and you are not brave enough to say “no” to distractions and to other “world emergencies” that have nothing to do with you.

When you work on a project, it is easy to want to do everything right from the start. From week one, if at all possible. But I have discovered that breaking down what I want to do in a list of priorities helps me ship the project faster and with the most impact. It also removes all the distractions I would hide behind. It shifts my thinking away from “what would be cool and pretty” towards “what has the most value and how can I deliver that most effectively”?

How about you? Does prioritizing come easy, or is it something that you avoid?

Why do I write?

I am writing for both selfish reasons and generous reasons.

The selfish reason is that as I write, you will perceive me as an expert: someone who knows what he is talking about. And when you need help with your online business, you will feel confident to ask me.

Another selfish aspect is simply training. When I sit down to write, I have to put my thoughts in order. I make a mental plan; I consider what the message that I want to share is, why would you care, and how can I make it interesting. Writing gives me clarity, and it also forces me to consider the value of my processes.

The generous reason for writing is to teach. My aim with each post is for you to feel you have learned something useful that you can apply in your online business. Reading this post, you may feel inspired to write too. And a tip I have is: don’t write about you. Instead, write for your customers or the people you want to serve.

I will end this with a thank you to my brother. He is the one who first encouraged me to write and got me over: “my writing has no value” mindset.

You have a great idea? Make sure your audience thinks that too :)

Some time ago, when predictive text typing was a “thing” on mobile devices, I had this great idea of adding the exact same features on desktop computers too. Just type in the first few letters, and the computer will make suggestions to help you finish the word. You would type faster and make fewer mistakes. What a great product, right?

I have spent one year creating and polishing the product, building the website for it, and also spent some money to have magazines review the product. 

What was the net result of all this effort? 

It was exhilarating to build this thing and overcome the tech challenges, but in business terms, it was a disaster. I sold just about three copies of this software. 

There is a valuable lesson I learned from this: test your ideas first, before actually building the product and service.

The good news is, in today’s world, you can test your idea for free and with very short setup time. And this post, I will share some tools to get you started. 

Social media

Social media is the most accessible medium to use and the quickest to get feedback on. Write a post about your idea, and ask for comments. Do you get any engagement? Are there any enthusiastic fans? Does it make sense to start a group around this on Facebook? Before you know it, you have your cohort of fans that will support you in building the “real deal.” And you will also have some precious feedback about how to build your service to serve your audience best.

A free website

Before investing thousands of dollars for a pro website, test it out with a free service.

WordPress.com is a good tool to use. Start with their free plan. WordPress is the one I use the most for myself and my clients.

Wix is another platform that has a free plan. I haven’t used it myself, but I’ve seen it working. If what you need to test out requires you to show some sort of design and less text, then I would go with Wix because of their powerful design editor that is not available in WordPress.

WebFlow is new to the game. It has a free plan, and it is aimed more at designers who what to greate outstanding pages without having to write code. If you are a designer, you will love WebFlow over the other options. 

Some important tips to consider

Intellectual propery

If you do not want to test your idea because you are concerned, someone else might steal it consider these: maybe your idea is not different enough, and that makes it super easy for anyone else to replicate? In which case, you may be better off pursuing a more innovative idea. Also, even if someone “steals” your idea, they don’t have you on the team with your insight, thoughts, and experience. There is a long road from an idea to a mature project :). 

From testing to an actual service or product

Regardless of what platform you choose, think about how will you grow if the idea turns out to be viable? You need to be able to export the content you have created for your tests. And it could be images, articles, or the design itself. It is always a good idea to document what you are doing for two reasons: if it has not worked, you will be able to learn something from it. And if it does work, you will have built a library of resources to help you launch the mature website/product/service.