Life as a Data intern at Wequity
March 11, 2022
I am currently finishing my master in Computer Science at the Université Libre de Bruxelles, while working on my thesis about Energy Smart Grid & IoT. I had the opportunity to have an internship at Wequity from January to early March as a data scientist/engineer. Wequity is a startup that aims actors in the financial sector to allocate their money in a sustainable manner through an API with a dashboard in order to read more easily the results. Since I was part of the engineering team, my job was to help in the development of the main product of Wequity — an Environment Social Governance Insights API. Thanks to this tool, the user is able to monitor ESG performance of companies in nearly real-time based on news and social media data sources like Twitter or Reddit.
As a junior data scientist, I worked under the supervision of a senior data scientist, someone who has experience working with the technologies and the environment that we have use. He answered my questions, explained what I did wrong, and we corrected the errors that I made together. The benefits of working in this type of setting is that I received a lot of feedback. This facilitates improvements on oneself and one’s own skills.
Tech’ / The stack
On the one hand, thanks to the exciting environment of the startup I had the chance to discover and learn new technologies like Pandas and SQL Alchemy allowing to handle CSV file (containing the keywords of the news that we have to fetch) and make SQL queries more easily in Python. On the other hand, I also had the chance to attend a talk from Quantum Black, a McKinsey & Company about Kedro. It is an open-source Python framework made for creating reproducible, maintainable, and modular code. Since the data pipeline of the app is built using Kedro, it was the perfect occasion to train with this technology on a real use case.
Another advantage of working with someone that is experienced is that you learn to apply and respect best practices like documenting the code, checking inputs, formatting data, and catching the errors using Exception. Another valuable practice is to write tests for our implementations. I did not have the habit to do that in my previous projects, but since my internship I have prioritised this best practice. Indeed, this practice allows us to easily maintain code, assert that our code as the product team wanted and so on. Moreover, the refactoring of the code is also necessary, during the internship I had to redo my own implementation done early January.
Tools for better Workflow & SCRUM Framework
On the other hand, we used several tools and frameworks in order to facilitate the workflow and communication between the different teams (sales, product, engineering). Here at Wequity, they follow an agile framework, inspired by SCRUM for developing the main product, a more human friendly approach for developing projects that I knew but had not yet applied in real situations. What I learned from this is that this framework is very similar to the Extreme Programming framework that I already used in the past for previous projects. Other tools that I did not know at that time like Jira, Coda are used for tracking the advancement of the production of the tasks and documenting all the progress, of the different teams. These tools are a “game changer” for a startup in order to have a good workflow.
An important capacity of working in a startup environment is to be autonomous and solution oriented, i.e. when facing an issue, the first reflex should be to look for solutions using your favourite search engine instead of asking for help with low effort questions such as “why does it not work ?”. I had trouble at the start of the internship regarding this aspect. Eventually, I managed to overcome this challenge by simply taking the time to ask myself the right questions. More precisely, : “What is not working ? Where does it not work ? How do we reach this failure ? When do we reach it ? and so on”. This way of resolving issues is in fact highly similar to a way of debugging called rubber duck debugging where programmers would carry around a rubber duck and debug their code by forcing themselves to explain it, line-by-line, to the duck. The aim is that in the process of explaining the problem, they would hit upon the solution.
Then, we also aligned on ways of working. Indeed, interrupting, to ask a question, a developer in deep focus can lead to significant loss of time. In order to mitigate this loss of focus, we tried a new policy for the developers about the means of asking questions. First, we should ask our questions asynchronously by private message on Slack, the main tool for communication. Once sent, it is up to the receiver to decide when is the right time to read and answer the question, either asynchronously via message or synchronously via a video conference, if relevant. This way, the inconvenience of asking questions or interrupting employees in their work was greatly reduced and productivity increased.
To conclude, this internship was really exciting. In addition to discovering new technologies, like stated before, I had the chance to observe in real situations the workflow of a startup. Since I would also like to launch my own company, this experience at Wequity was inspiring for my own future regarding the aspects of my own skills (communication, programming, knowledge of technologies and so on), workflow, the people & culture in a growing startup, and so on.
franckvl. — Making things
people want that have meaningful impact on society