Hi, I am Angelique, 39 and living in Rotterdam, The Netherlands. After working at various companies, positions and as an entrepreneur I have found the kind of work that fits me best; software development. Not only is my technical and creative background (MSc - TU Delft) and my user focused mindset useful for this type of work. I can also unleash my eagerness for solving analytical puzzles and for delivering clean and organized code.
In 2019 I've enthusiastically learned as much as I could about software development myself. This resulted in the GoalPlanner web app. My app and motivation got me into the DevOps bootcamp of YoungCapital NEXT (by Testconsultancy Groep at ITPH academy) in January 2020. Within the time span of 2 months I've;
Now I am continuing my learning process at Edition1 as a Junior Software Developer.
I like to spend my free time bouldering or climbing. During vacations I like to be in the mountains, enjoying the views and making long and adventurous hikes.
Problem - How can you learn a computer to ask the right questions? The goal is to let it guess the animal you have in mind with only yes and no as options to answer and only one guess.
Action - I've created this function with the use of a dict in Python. The computer always starts with the same question. Each question and answer combination has a designated next question (dict in dict). The result is a 'question-tree'. At the end there is not a next question, but an animal name, which will be the guess from the computer. If this is wrong, the new animal and a smart question (dict) can be added.
Result - The Python code for this game (in Dutch).
Next step - Create a user interface for this game, implement a tool to store the new questions and deploy the game.
Problem - A hair salon was in need of a web app for it's manager, employees and customers. They need to be able to make an account, make reservations, schedule employees, choose and buy products and services from a stock database, keep track of sales volumes, assign authority, send emails and much more.
Action - Developed a web app with Flask, starting with a given proof of concept. We did peer reviews, set up a test environment on a Raspberry Pi and made automated tests. At the end of each sprint we did a sprint review with the product owner and stakeholders. The functionalities I worked on were mainly the editing of accounts, the shopping basket, employee scheduling and filtering.
Result - A deployed web app for the hair salon with many functionalities, a happy client, experience in working in a scrum team and growth as a software developer.
Unfortunately the code on GitLab is only accessible by the scrum team and stakeholders.
Update January 2021: Code Refactoring - The code snippet above shows a nested for loop that will provide the available employees when making a reservation. However, especially when the database grows, this nested for loop is very inefficient. The Big-O complexity of this algorithm is O(n3). Therefore I improved this code. Or better said: when looking at this code again I realized this nested for loop can be skipped completely, by improving the database queries.
Prior to the nested for loop 3 queries where made: 1 to get all employees (which is not efficient and not necessary), 1 to get the employees that are scheduled for work and 1 to get the employees that are booked. Here you see my improved nested query that uses 2 sub queries.
(Note: For this project Flask and SQLAlchemy was used.)
Problem - The only experience I had with building a Python web app was the bit that I gained during the Udemy and CS50 course. It's a good start, but also only the basics. I wanted to practice a lot more and also execute the deployment of a Python web app for the first time.
Action - Developed a web app with Django. This app is of my own devising. I've payed extra attention to usability (decrease clicks and page refreshes) and security. For deployment I started using Git through GitHub and Heroku.
Result - A deployed web app which you can use to set and track goals. I took up quite some tough, but nice challenges. For example the use of inline formsets, AJAX and CSP headers to improve usability and security.
Next step - Add a calendar function!
Problem - In 2016 the startup company Lampshapers had developed a brand new design collection, ready to market. However, only close friends and family knew about it. From that moment on Lampshapers was in urgent need for publicity and customers.
Action - I've built a web shop in WordPress that presents the designers, tells the story behind the designs and shows the design collection in a professional and appealing way. For the products in the web shop I integrated a special plugin for extensive product options since the designs have so many features that can be adapted to the customer's taste.
Result - A web shop for gaining global publicity and orders; both in Dutch and English. Since the end of 2016 it has gradually improved it's Google search rankings. This was achieved by the use of important key words, pay attention to responsiveness and making the website quicker with the use of light weight plugins and caching. This resulted in the gradual increase of visitors and sales volume.
Personal experience - I've spend many nightly hours, eagerly searching for working solutions. Looking back at these moments, I realized I wanted to become a developer.
OS: Windows - Linux
Back-end languages and DBMS: C - Python - SQL
Various: Scratch - WordPress
IDE's: Atom - PyCharm - Visual Studio Code - Spyder
Web frameworks: Django - Flask
Cloud platforms: Heroku - Amazon Web Services
IoT: Scroll Bot Kit with Raspberry Pi Zero W - ESP32 M5 StickC - UIFlow
Version control: Git - GitHub - GitLab
Agile tool: Jira
Test types: Peer Review - Unit Testing - Automated Testing
Automated testing tool: Gherkin - Behave - PyHamcrest - Selenium - Splinter
Automated deployment tool: Ansible - YAML
Best practices: Scrum - Requirements Engineering - Software Testing - DevOps
Angelique's Portfolio - Built: March 2020 - Last updated: January 2021