Python and Google Cloud
I do short or part-time projects to help my clients with their needs in Python and Google Cloud. Within those two specialities, I have knowledge about software processes, architecture, development, testing, deployment and infrastructure. I live in Ghent, Belgium.
Creating a backend for a mobile app to handle authentication and business logic.
Creating a full-stack web-app for data scientists to allow their customers to use their algorithms and models in an intuitive way. For more advanced UI use cases, I work with frontend developers.
Integrating the client's software with external services, like accounting tools, IoT hubs, etc.
Defining and creating automated regression test platforms and supporting developers with the automated tests they need to write.
Executing load tests and looking for performance bottlenecks.
Implementing continuous integration/deployment (CI/CD) practices in small companies.
Google Cloud Products
App Engine, Cloud Run, Cloud Functions, Dataproc, Dataflow, Compute Engine, Kubernetes Engine, Virtual Private Networks and other network services, IAM, Secret Manager, Cloud KMS, Memorystore, Firestore, Datastore, BigQuery, Firebase (realtime database, authentication, storage, hosting), Cloud Storage, Pub/Sub, Tasks, Cloud Scheduler, Endpoints, Logging, Error Reporting , Debugger, Profiler, Trace, Monitoring, Cloud Build, Cloud Source Repositories, Container Registry.
I have experience in hosting AI and ML applications on Google Cloud.
Web Frameworks: Flask, Django (DRF)
Web Security: HTTPS, CSRF, XSS, OWASP, GDPR
Protocols: HTTP, REST, OpenAPI (Swagger), OAuth2, JWT
Performance testing: JMeter/Taurus
Frontend testing: Selenium and some Cypress
Backend testing: Nose and Pytest
Databases: PostgreSQL, Elasticsearch and Google's managed databases mentioned earlier
Version Control: Git and Mercurial
Infrastructure: Linux (mainly Ubuntu), Bash, Nginx, Infrastructure-as-Code
CI/CD tools: Jenkins, GitLab, GitHub Actions,
Administrative tools: JIRA, Confluence, GitLab
Architecture: from monolithic to service-based
Domain knowledge through projects and personal interests: Electronics and Telecommunications, Internet-of-Things, Home Automation, Public Transportation, Real Estate, Physics and Mathematics, Legal and Accounting (basics).
In accordance to Conway's Law, the number of services should reflect the number of teams. For small companies, I prefer a well-crafted monolith with some worker services if needed. When using good software practices for the monolith, the code is easy maintain and can scale horizontally.
I love it: the more we can focus on our product, the better. I'm not talking about putting all code in Cloud Functions (see my vision on micro-services), but using managed services for hosting, load balancing, databases, identity management, queues, etc. This advantage outweighs vendor lock-in, especially for small and starting companies.
Security and Privacy
It is important to implement good security and privacy practices as soon as possible: backups, cookie settings, firewall, access management etc.
Drop me a message and I'll reach back to you for a first chat. I am available for about 15 hours/week starting in June/July 2021.