Main ---- Choice of direction ---- My story of product creation

My story of product creation

Relatively recently, I got a new hobby – I started doing a pet product. I’m not sure that everyone will want to immerse themselves in this matter, but I was so fascinated that I dedicate almost all my free time to my own pet project.
At once I want to tell that the purpose of article – not a sale of my services or ready development. I won’t even describe the code review tool in detail. I just want to tell you how and what I did, what I achieved as a result. I am sure that there will definitely be readers who will find my experience not only interesting but also useful.

First step

Speaking of the first step, I believe that it was a decision to facilitate my work by reducing time. In addition, I wanted to make complex and routine work at least a little more enjoyable. But about everything in order.

During the last eight years of working in the field of programming, I mostly studied the already created code, but I did not write much.

This is the main specificity of corporate decisions. Even considering that this approach is not new and perfect, it is the main one. If we talk about the difficulties that arise, they are not related to individual algorithms. The problem is the large number of components and the connections between them – at a certain stage of work it becomes simply impossible to remember and take them all into account.

Adding to the complexity is the fact that you need to spend time and effort not only directly on the design and development of new functionality, but also on component ownership. Full mastery of the code requires a huge amount of work:

  • code base support;
  • merges;
  • preparation of releases;
  • analysis of changes.

If you try to name all the specified volume of permanent work in one word, it is a code review.

Personally, my code review took up at least a quarter of my working time. An available tool for this tedious and uninteresting job is git diff. Of course, I am aware of the existence of visualizations of this tool, and even actively used SourceTree and GitHub pull requests. But it didn’t change much, the obligatory companions of my usual working day were dozens of tabs in the browser, IDE with a couple of projects, endless canvases of diffs… Given that I really love my job, this forced everyday life turned it into a real horror .

Somewhere subconsciously, I realized that I was not alone in this nightmare, and my colleagues have similar experiences. However, honestly, my reasoning was quite selfish – I wanted to reduce both time and the number of unpleasant moments at work. In addition, most importantly – I sincerely believed that another scenario is quite possible.

Long searches

It would be too much to look for a difficult way to solve a difficult problem. So first, I decided to just optimize my daily work. I decided to abandon the full understanding of the code immediately – this is an impossible task. Instead, I set about creating a list of simple tasks that shape my daily workflow.

Confirmation of merges

If we move to professional terminology, we are talking about pull / merge requests and their code review. Most colleagues do not see a problem in this matter – everything is simple, fast and without hassle.

However, I have a completely different view of the situation here. For example, in systems consisting of 70 deployment units and tens of thousands of lines of code, it is not so easy to break a new feature into fragments suitable for viewing before the release of the full release. Therefore, even a basic review of changes already takes both effort and time. At the same time killing inspiration.

Another point – there were cases when the necessary component was made by four neighboring teams. In such a situation, it is not so easy to find exactly what has changed, even if it is a small decision. And the time spent on it is really huge.

Analysis of changes for QA

In the course of work it is necessary to check regularly both corrections, and a new feature. In theory, this is simple, but in practice, tickets do not always have the right amount of data. Therefore, finding the installed jackdaw in the test version can also be an interesting lesson for hours.

And if the changes are not logically related to the feature, it will be even harder to find them. This happens when making changes to the so-called kernel of the system. Or when the component affected by the direct changes is involved in two or more places.

In addition, regression constipation after changes is not excluded, and first of all it is important to understand two things:

  • whether this was an expected phenomenon;
  • how to run test updates.

Developers can answer these questions faster, because they know all the components of the system like no other.

Release confirmation

The main task of programmers is the direct implementation of a technical solution. Therefore, they rarely focus on details and do not take into account that the release contains a certain number of components. Therefore, it is important to consider their sequence and configuration updates. It is also important to plan what you need to include in the next release. However, release notes collected on tickets in JIRA do not have this information.

Therefore, each release, for me personally, was accompanied by a diff between development and a stable branch. That is, we had to process the results for many weeks, or even months.

All of these actions are repetitive and interrelated. It really took a lot of time and effort. That is why I continued to look for ways to solve the problem.

Move in the right direction

Having the time and desire to finally find a solution to my problem, I came to the first hypothesis. My goal was to find a system that did not show a code comparison, but data related to the changed components.

For myself, I saw it something like this:

  1. Now, I consider my further actions wrong, but then they seemed to me the only true ones.
  2. I began not to look for like-minded people, but to work on visualizing my future decision.

The result – two weeks were spent creating a presentation of 27 slides, which clearly demonstrated the genius of my idea. Yes, I was sure she was a genius.

Search for support

There are people among my acquaintances who have been able to look at my hypothesis objectively and give sound advice. Therefore, I started sharing the idea with them. They did not manage to cause admiration; rather there were neutral responses, which did not bring me any result. Nevertheless, the problem was that I myself did not understand what I wanted to hear.

A good friend of mine, who has his own experience of creating a successful product, helped to break the deadlock. So, he advised me to give up most of my “brilliant idea” and leave only one function. It is to offer it to real customers. I listened to this advice and so only 2 of my 27 slides remained.

Another acquaintance advised reading Rob Fitzpatrick’s “Test for Mom.” And for now, I think these 140 pages are the best I’ve read about product development. I am infinitely grateful for this recommendation and I advise everyone.

This was followed by a friendly recommendation to get acquainted with Startup School from Y Combinator. In the last source, I found tips that helped not only learn something new, but also save a lot of time. Honestly, I didn’t even believe that I would get such a profound result.

Promotion of the idea

Since my previous activities were related to participating in conferences and attending so-called python and javascript parties, I planned to promote the idea among other participants in these events. Indeed, there was the best target audience. But COVID-19 forced me to change my plan of action. But not to give up.

I chose LinkedIn to find clients. At that time, it was almost the only option for me. Because I was not ready to sell yet. I couldn’t even pinpoint whose problem my product could solve. I did not know who to expect approval of the purchase. All actions were quite chaotic, built on their own hypotheses.

Based on my own experience, I decided that my idea would not interest programmers. However, managers will definitely like it. To speed up the implementation of the plan, I activated premium access and began my search for CA in Sales Navigator.

Yes, now I can say for sure that choosing the categories of VP of Engineering, CTO or co-founder in a company of up to 50 people, I was wrong. Now, then I thought differently and did not know how LinkedIn works.

Many questions arose at the stage of addressing a potential client. It is certainly good to write to him about your ingenious product and to promise profitable cooperation. First you need to understand the problem of the person you are addressing. Otherwise, you only get ignored.

I found the answers to my most painful questions in the book “Test for Mom”. From there, I learned how to prepare for an interview and began preparing scripts for future dialogues. The first question I always had the opportunity to talk about developments in the company. Further questions depended on the peculiarities of the company’s activities.

And even this approach did not bring me many answers – about 5 reactions per 100 requests.

Now I know exactly why this happened, there are three main reasons:

  • people rarely use LinkedIn and simply do not read such queries;
  • LinkedIn users receive up to 10 such requests a week, to which they eventually simply stop responding
  • asking a stranger for help does not cause a positive and willingness to cooperate.

My guess was confirmed when I changed the category to engineering and then to product manager. The programmers did not react either. In general, I made sure that Linkedin is a popular tool, but its effectiveness is very high. Therefore, I postponed working with him until better times.

Startup School

I am confident that I consider this online training program the best in my field. And most people who have gone through it, believe that it is better not to teach startups anywhere. This is quite logical, because its author is Y Combinator, i.e. the coolest accelerator of startups.

Training in the program lasts 8-10 weeks:

  1. Students receive a series of high quality educational videos.
  2. The practical part is scheduled calls, where each participant presents his own project.
  3. There is also a system of progress tracking, which is an additional incentive to study the case deeper and better.

While studying at Startup School, I actively worked on the idea. The elementary description has been edited several dozen times. For a long time I could not understand my main problem, but in the process I still achieved my goal. All you need to do is learn to explain your idea simply and easily, not only to fellow programmers, but also to people who have nothing to do with this field.

That is, the main idea of ​​this startup school is to teach people to explain their idea as quickly and easily as possible. In fact, this skill is extremely important and will be needed constantly while you are working on the product.

In addition, this school is a great option to make new useful acquaintances. At least that’s what happened to me. Shortly after the program ended, I was contacted by a former “classmate” who showed interest in my project and inquired about progress. He was interested in doing business together, so he introduced me to another guy who was able to create a successful product. I can’t say that this chain was the beginning of something grand, but for me it was a sure step forward.

Even though I still didn’t understand who was part of my target audience and how to “reach” them, I had already moved from the deadlock.

Y Combinator

The main advantage of this school of startups is that video lectures are recorded by specialists who lead the main program of the accelerator. It’s really incredibly useful, and now I’m going to try to prove it to everyone.

At first, I looked at the startup accelerator a little differently, at my own expense – $ 150k for 7% of the future company. But this is a completely wrong direction of thought, because I received much more.

Namely:

  • acquaintance with the most rated specialists in the field of startups;
  • interaction with them for 90 days;
  • high-quality preparation of own product for presentation to investors.

I was immediately given access to potential investors.

After finishing the winter course, I applied for the summer set. The miracle didn’t happen and I didn’t pass, but the preparation itself brought a positive result – because I was really preparing. What is worth only recording a video, where in just 60 seconds you should advertise not only yourself but also the product.

In addition, in the process of creating a commercial, I was able to formulate important questions for myself, the answers to which helped in further work:

  • Why do I make this product?
  • Why exactly can I make the best product?
  • How do I plan to make a profit?
  • How much revenue can this particular product generate?
  • How will I look for real buyers?

In fact, the number of questions in my head was much greater. I only shared some of them, highlighting the main ones. And from the height of my own experience, I can advise all beginners to fill out the form for submission to the Y Combinator – this action will definitely help you take a step in the right direction.

Popular startup parties

Any school of startups advises to do a multi-level start. That is, not just launch the product, but also inform the public about your work. Advertising should be launched as early as possible and louder – this is an important component of success.

The very first advertisement happens by itself – by communicating with friends and sharing your successes and failures, you already make your product famous. But this is not enough. To increase the circle of popularization, I would advise to take an active part in various startup parties. I was advised by platforms like Hacker News and Product Hunt. Unfortunately, I did not listen to this very wise thought in time, so do not repeat my mistakes.

Learn to make your expectations real – it is possible to get advice on creating a product. But the formation of the target audience and communication – this can be learned only by doing something for startups, such as Stripe or Unicorn Nest.

Creating a viable product

Another terrible mistake of mine is the decision to make a working decision, having serious problems with attracting the target audience. As a result, I spent a huge amount of time and could not move forward.

Now I will tell you how my decision to write code was formed. First of all, I am a programmer, and I considered the startup as another area of ​​activity. Plus, I really appreciated my talents in the field of management – frankly mediocre. That’s why writing the code was a so-called “professional suitability” test for me. Everything turned out well here – during the time of testing myself as a startup, I did not forget how to program. My 12-year experience came in handy, which helps to work almost on a machine.

My first idea was to create a universal algorithm that would be useful to managers. But even for myself I could not formulate exact questions to which this algorithm would answer. For me, it was something between informing about adding a new key to the screen and warning about a new public API or database migration. As you can see, the questions are quite abstract.

But the most interesting thing started when I started visualizing my idea – it turned out that my promises from the presentations are almost impossible to realize. The reason was that the simplest algorithm for displaying architecture required so much time that I did not have.

At this point, I thought it was possible to translate the solution into open source. In this case, a certain percentage of functionality remained for my promising projects. This allowed me to create a basic structure that is a universal platform for any web project. Then I started working on the specific functionality of the product. The launch caused some difficulties at various stages – for example, I already mentioned how to deploy and maintain the infrastructure. But it was definitely useful for further work.

I got the following result:

Landing page

In the process, I was surprised by many things, because before I just did not face it and did not understand many nuances. The fact that the product just needs a page that will introduce it, was almost a shocking discovery. I’m sure most of my readers didn’t make the simplest sites for their products either. But this is not right – information pages should be.

I started working on bugs and quickly made a simple page. This gave me the opportunity to understand that this is not enough – because the information about the finished product will be much more than can be placed on the newly created resource. I chose Hugo as the solution for the information site. In the future, I was able to add several marketing tools, the most important of which I consider analytics.

I advise everyone who is working to create a new product – pay enough attention to the information for the target audience, it will definitely facilitate all further work. Do not ignore the advice on the use of marketing tools – with them testing the idea and finding the right solutions will be much easier.

Let’s summarize

If someone had given me such advice a year and a half ago, I would probably have been able to avoid a huge number of mistakes. So I will try to help with recommendations based on my own experience. This will be useful for anyone who has already started or is just planning to work on their own product.

  1. Establish strong friendships wherever possible. Acquaintances are always more attentive and friendly – and it will definitely be needed, sooner or later.
  2. “Test for mom” must be read. Just do it and you will understand why I so strongly advise it.
  3. Creating a presentation immediately after the idea is equal to a waste of time. Pay attention to finding problems in the plan – it will definitely make you change the concept. And not once.
  4. Refusing the presentation, do not write the code at the time of processing your own idea. This will save you months of your own time, believe me. Because it is possible that the idea will be wrong.
  5. First search for the target audience, and then create an information resource and a simple MVP.
  6. Talk to friends and acquaintances about your idea. Just do not wait for approval, but think about how you can solve certain problems of your interlocutor. It is possible that the decision will have to change dramatically. But if it is really needed – then the effort is not in vain.
  7. Do you have an idea and want to implement it? At this stage, participation in the Startup School is simply necessary.
  8. Fill in the application form in Y Combinator. Paradoxically, you can even not send it. It will simply help you understand what to do next.
  9. Writing articles on your own is very important – master this craft. It’s simple – if you make yourself known, it will be easier to promote the product.
  10. Using Grammarly costs only $ 130 a year. It is much cheaper than paying a person to do it. And faster. And it is simply necessary when writing articles in English.
  11. Start launching the product where it is easier to scale. Of course, we want something global and instant conquest of the US market. But finding an audience, for example, in Ukraine, will be easier. Don’t pay attention to a specific place – it’s better to focus on interested customers. This strategy of success is used by many global giants. For example, AXDRAFT.

I will try to summarize very briefly everything that has been told for so long in this article. The main reason for stopping most startups – the product is not interesting to the audience, because it does not solve its problems. And all because the author is obsessed with solving his own problem, often – very overestimated. Therefore, first access to potential customers and find ways to increase their number, and only then work on the product.

That’s all, extremely grateful that you were interested in my article. In addition, I’ll just be incredibly happy if I could be useful.

Leave a Reply

Your email address will not be published. Required fields are marked *

See also
employer
How to make Functional Requirements?

If you need to order a project from third-party contractors in which there are no strict quality requirements, try working with contractors on the Functional Requirements. This plan will help you develop a web portal, beautiful and user-friendly design, create an article for a blog or a service. Thanks to the functional requirements, you will immediately specify your own wishes and avoid “mistakes”. Let’s take a closer look at what this work plan is, what are the subtleties of the nuances of its preparation.

April 29th, 2021
4 views
employer
How to choose a programming language?

Earlier, before the global web of mobile systems appeared, it was enough for an IT specialist to know one language, write code in it, and he was already considered a demanded developer. Today, employers have a large list of requirements even for junior-specialists, among them – knowledge of not only one programming language. Now a web developer needs to understand how to work with PCP, Javascript, Python, and […]

April 29th, 2021
0 views
What does a tester need to know?

The concept of testing implies a fully formed specialty in the IT industry, where there are relatively minimum requirements for starting, in comparison with other areas of development. A tester is an employee who is involved in testing digital products for performance, as well as finding bugs and improving quality.

April 29th, 2021
0 views
employer
CHANNELS OF COMMUNICATION WITH CANDIDATES

Based on the results of Candidate Experience Research

April 29th, 2021
4 views