Blog

  • Engage Your Customers with Natural Conversations: Introducing the OpenAI Chatbot for .NET Applications

    Engage Your Customers with Natural Conversations: Introducing the OpenAI Chatbot for .NET Applications

    Looking for an easy and powerful way to create engaging and natural conversations with OpenAI’s chatbot API in your .NET applications? Look no further than my C# library, available now on GitHub at https://github.com/vbenedichuk/OpenAI.SDK and on NuGet at https://www.nuget.org/packages/VB.OpenAI.SDK/.

    With my library, you can easily integrate OpenAI’s GPT-based chatbot into your applications, as well as take advantage of a range of other OpenAI APIs, including Completion, Edits, Images, Embeddings, Files, Fine-tunes, Moderations, and Engines. Whether you’re building a customer service chatbot, a voice assistant, or any other type of conversational AI application, my library provides a powerful tool for creating engaging and natural conversations.

    Getting started with my library is easy – simply follow my step-by-step guide to configure OpenAiOptions in your appsettings.json file, add the OpenAiApi to your application service collection, and start using my powerful tools to create AI-powered conversations that are sure to impress your customers and colleagues alike.

    My library is open source and available on GitHub at https://github.com/vbenedichuk/OpenAI.SDK. I welcome feedback and contributions from the developer community to continue improving and enhancing the library.

    So why wait? Visit my GitHub page or my NuGet page today to learn more and try my C# library for yourself. With my powerful tools at your disposal, the possibilities for creating engaging and natural conversations are endless.

  • Project management. Introduction.

    Project management. Introduction.

    Just posted an introductory presentation from the project management course I created for my students in 2016.

    https://www.slideshare.net/vyacheslavbenedichuk/ss-239454296

  • How to organize your home office

    How to organize your home office

    The number of remote workers and freelancers is greatly increasing, every year. Many companies have switched to remote work out of necessity, thanks to the current coronavirus pandemic. However, regardless of this event, our remote workforce is simply exploding. 

    For many people, remote working means less stress, saving time on your commute and the elimination of those tedious office distractions. But what if you’ve never worked from home? How do you organize your home office? How do you equip your workplace to stay productive and show your employer that you can work from home, even when the pandemic is over?

    This article will provide a guide, which will help you to be as efficient as possible when working from home.

    1. At first, your spouse and kids may misunderstand the situation. After all, you’re staying home, all day long. Why not play with the kids, help them with homework, or discuss the latest news? It’s essential that you explain to your relatives that even when you’re at home, you are still working and you should not be distracted. This process may be difficult at first, and you may have to repeat your request a number of times, but stay patient. They just need some time to adapt to the changes.
    2. Try to organize an isolated workspace. The best way is to designate a separate room as your home office. Alternatively, if you don’t have this luxury, you could use your bedroom as a day-office. The main thing is to organize the space correctly. If you don’t have a room where you can be alone during the day, put up a screen. Whilst it’s not the best option, a screen allows you to clearly define your dedicated workspace, which is very important. Firstly, it will allow you to disconnect from the surrounding activity, which inevitably becomes a distraction. Secondly, this makes it easier for your family to understand that while you are in your workspace, you should not be distracted.
    3. Get yourself a comfortable desk and chair. Your chair must offer support, and there must be enough space on your desktop for everything you need. When I started working from home, I bought myself a table with a tabletop depth of 40 centimeters. However, I had to buy a new tabletop with a depth of 60 centimeters to comfortably fit my notebook. Also, depending on your work, you may find it useful to have a corkboard or whiteboard on hand. This will allow you to place stickers and reminders or visualize ideas while you work.
    4. Stable communication channels are essential. Make sure that your internet connection is stable enough to support your business. Sometimes, it may be worth purchasing a secondary internet service from another provider. Therefore, you’ll be able to switch connections in the event of a problem with your main service. For example, I have a cable connected internet from one provider and mobile internet from another. It helps me to stay online even if one of my providers has infrastructure issues.
    5. If you’re planning to take part in video conferences with your colleagues or customers, make sure that your surroundings are presentable. Sit down at your workplace, turn on the camera on your device and make sure your audience will be able to see only what you want them to see. These surroundings should remain presentable, just in case your laptop moves slightly. Moreover, ensure you don’t have a window or source of bright light behind you. Otherwise, you’ll be backlit and difficult to see. If your workplace is simply poorly located for video calls, rotate your device or find a separate chair for video conversations. Setting up a screen to block light can also help in this situation.
    6. Organize your time. When you work from home, it’s very easy to slide into one of two extremes. The first extreme is that you might fall into a routine that involves a shorter workday, resulting in poor productivity that is visible to your employer or customers. The second extreme is a workday that stretches out, with no defined end. Therefore, the best way to combat these issues is to stick to a fixed daily routine. Define your working schedule. Set alarms at the beginning and end of the workday, as well as for breaks and lunch. If you are working in a team distributed across different time-zones, make an effort to avoid checking work emails and messages outside of your working hours (no one is going to die!). This is important, because you may find that your workday becomes 14 hours instead of the regular 8 hours. As well as this, be flexible with your time. For example, I have many projects with customers whose time zone is 10-12 hours behind mine. In these cases, I often split my workday into four phases. I’ll dedicate 1 hour early in the morning and 1 hour late at night for communications with the customers and colleagues who reside in remote time-zones. The rest of my regular schedule involves 6 hours, with 1 hour for lunch. If a customer needs more attention or I need to travel during the day I can shift my schedule slightly, but it happens rarely.

    I sincerely hope that these recommendations will help you become more effective in your quest to work remotely. Good luck with your business.

  • How to Find a Great Freelance Developer

    How to Find a Great Freelance Developer

     

    How to Find a Great Freelance Developer

    I’ve been working in IT for over 20 years. During my career, I’ve played many different roles in business. I’ve worked as an employee for major companies, as a freelancer, and I have also hired employees and freelancers. In this article, I’d like to provide some recommendations on how to find the very best people to get the work done, while also being a great fit for your business.

    When you go to the freelance market for the first time, it can be hard to find a candidate who will be able to complete your project in line with expectations. There are a lot of people who are willing to take your money but do not necessarily have the qualifications to do the job.

    You will get tens of proposals but many of them will be from bots. Some proposals will be from junior developers who will take on any project and won’t care about the results. Some will be from fake accounts – freelancers who were banned from the market but created a new identity to get back onto the platform. Others will be good but won’t have the required experience in your area. Only a few proposals will be from true professionals, but finding the right candidate in a list this long can be tricky.

    Here are some top tips on how to make sure you find the right person for your project:

      1. Create a vision of the product or project
        This is the most important step for you. As a customer, you should understand what your needs are, and why you need the project to be completed. What outcomes do you expect from it, and how much do you want to spend on it? Write down your goals and expectations. This step is important as it will define the project boundaries and will allow you to handle it better. It will be the base for your job description and will allow you to better focus on the right candidates. I’ll write a separate article on ‘how to create a good vision’ later on. According to your vision, define which people you will need in order to implement it.
      2. Write a clean job description for freelancers
        When you’ve written your vision and understood which professionals you need, you will need to write a job description. Make your job description as specific as possible. I.E, “I need an app written” is a very bad description and will attract a lot of people who do not understand what they are doing.
        Provide a short description of what the job entails and add UI mockups if there are any. In case the project is bound to a certain technology, add the requirement to the job description. It will give potential freelancers an idea of what is expected and as a result, deter potential candidates from applying if they are not familiar with the requirements.
      3. Ask questions relating to the developers/freelancers previous experience
        For example, “What similar projects have you worked on in the past? Can you give details of the work you have done?” This question will help you to better understand the developer’s qualifications. It will also eliminate spam bots which are not programmed to answer such complex questions. Read the answers carefully. Developers who have had real hands-on experience with similar projects will give more details, and even some insights, which may be useful for you.
      4. Check the proposal
        If the proposal contains only common words, most likely the developer does not have the relevant experience. People who can do the work you need are usually more specific and sometimes may provide samples of work.
      5. Ask for code
        During the interview stage, it’s worth asking if the developer has a repository at Github or elsewhere. Many will say that they are under a Non-Disclosure Agreement and can’t share the code. Others, and some of the best developers, may have pet projects or contribute to some open-source software, and their code can usually be found fairly easily. If you are looking for the cheapest workforce, this step is probably not so important, but for more senior developers who will be the core of your team, it’s essential as it makes it easier to evaluate their skills so you can hire a better developer.
      6. Conduct a technical interview
        If you are making something bigger than a you need to conduct an interview. Hiring unskilled developers at the beginning of your project may well ruin your startup. Bad decisions may hugely increase your costs, add a lot of rework, and cause a loss of customers. If you are not a technical person, you may need assistance carrying out the interview. If you know a developer you could ask them to help with this step or, if you don’t, feel free to ask me. I’ve conducted over one thousand interviews and have vast experience in evaluating tech candidates.
      7. Be sure that you are comfortable to work with the person
        Talk to the candidate to understand if you are comfortable working with them. People are different. Everyone has their own experience, communication patterns, personal bias, etc. Sometimes such differences can make it uncomfortable to work together and t’s better to understand this at an early stage. Do not hesitate to use video during the interview stage. It will give you a better understanding of who are you talking to and how he/she behaves.
      8. Check the freelancer’s feedback
        Freelance marketplaces allow you to check the freelancer’s history. You can easily see what the developer has done and what result was achieved. But, feedback could be different. Even in the case that a developer has a 5-star rating, it’s worth taking a deeper look at projects which have been performed. It will let you see if the developer has worked on similar projects and what work was carried out. Try to find candidates in tech communities. Most of the top freelancers can easily be goggled to see their true professional experience.

    These tips are not exhaustive. I will be writing some additional articles on this topic, but for now, this article will help you to source great people for your team. Feel free to contact me if you have any questions or need any assistance. Good luck with your business.

    Photo by Christopher Gower on Unsplash

  • New presentation published

    New presentation published

    I’ve translated to English and published one of my presentations. It’s pretty technical but might be interesting.

    Here is the link: Data Stream processing and micro service architecture

    Do not forget to like it! 🙂

  • Let the journey begin

    Let the journey begin

    Hi!

    My name is Vyacheslav Benedichuk.

    Lately I’ve decided to look at my web presence with eyes of my potential customers and understood that I’m making a huge mistake. I’ve found that even if I known in russian speaking part of internet I’m almost invisible in english. There are linkedin, several sites which has copied information from the google play, slideshare with several russian presentations and thats all. Actually it is terrible situation for an independent contractor.

    I need a way to let my customers and partners find me so I’m starting this blog. It will contain technological, business and maybe some personal materials which could be interesting to people.

    Let the journey begin!