It has been a while since I wrote a post. As of late, I have been extremely busy with my new internship. My second internship got way different than my first internship.
At my first internship, I worked on developing a chatbot for the Facebook Messenger Platform called Frankie.
The tasks were simple as I just had to follow through a guide to create a chatbot and implement some
tens of methods and a flowchart that is approximately 2500 lines of code.
The programming part wasn’t that difficult and I focused more on the standards and following good practices.
As a result, I was able to write codes that were more organized and also comprehensive to others and also to my future self.
Now, the second internship has taken a steep turn. I can definitely feel that the tasks are a lot harder now and more complex. I feel like I am more closer to the actual dev team in the company as I share tools with them and work on projects more important to the company.
One of the new tools that I use is called Wrike. Wrike is an online project management tool and it has been super helpful on my project. I can write my own todos and also my mentor can also assign me new tasks with this tool. Those todos can be as small as writing a specific method for a very specific purpose, and it can also be as big as implementing a new feature. By leaving a record of tasks, I am able to focus on what I have to do next.
When I worked on projects before, sometimes, I would get lost after finishing a task. Those situations where I had to go back in memory or previous logs to look for what I have to do next really harmed my productivity and willingness to continue. However, by being able to keep on having tasks in front of me, those struggles are gone but the fact that there is always work kinda puts pressure too. Therefore, I think setting a limit on how many tasks I should do per day is a good method to not overheat myself. In the first week, there were days where I would work almost 12 hours a day but it wasn’t because someone didn’t let me leave, instead, I was in a zone where I have gotten too immersed into the process and the time just flew by.
It was insane.
It kinda felt like an adrenaline rush as I always had something to do in front of me. I felt like a dribbling soccer player rushing towards the final destination: the goal. Finishing one small tasks after another, the thrill of marking a task as complete and writing a report about it was amazing. As I am writing this, it really sounds weird and as much as it sounds weird, I started to think that this isn’t a healthy balance between work and life. Almost every night, I would come home quite exhausted and just wanting to go to bed. I realized that I definitely do need to set a threshold and try to go home early.
However, the amazing part is the progress that I have made in just one week. I can’t even believe myself.
The task I am given for this internship is quite simple:
Build a tool to manage the flowcharts for various chatbot products.
Every chatbot has a flowchart. Some charbots like the ones for CS might have short flowcharts only using about ten nodes and some might be humongous with couple thousands of nodes. To design a chatbot, a flowchart that contains the scenario of what kinds of input the chatbot can take and the response it should give is required. Usually, the people in the planning division would design the flowchart in a diagram editing software like Draw.io and eventually hand it to the developers to implement it. This task is easy when there are only several dialogues. However, when there are thousands, things get ugly real fast. For example, if a change of flow occurs in the dialogue, in the worst case, the whole script might have to be re-written by the developers and this would be a significant waste.
So, my project is to implement a diagram editing software that gets rid of the translation phase. Also, the tool has to automate the process of updating a flowchart and more. As I mentioned before, I worked like a dog and I am almost done with the tool and it is ready to be hosted tomorrow for internal testing. I am extremely hyped for the test and more excited about the new kinds of bugs that I will face.