Welcome to the Software Engineering

In this section I am going to show some of my Software Engineering experience and knowledge. This also includes personal projects and skills gained so far.

Github projects

Some of my projects can be found in my github repository here. The other projects that are not found in this repository are confidential or done for different companies.

people sitting down near table with assorted laptop computers
people sitting down near table with assorted laptop computers
Programming languages

I have experience in different fields and different programming languages:

  • Java

  • Python

  • C++

  • C#

  • JavaScript

  • PHP

  • Blazor (C# & HTML)

Hello World text
Hello World text
Software Development Methodologies

Familiarity with software development methodologies such as Agile, Scrum, Waterfall, and DevOps. Understanding how to effectively plan, manage, and deliver software projects is crucial for success in software engineering.

person holding purple and white card
person holding purple and white card
Object-Oriented Design

Object-oriented programming (OOP) concepts enabled me to design and build modular, reusable, and extensible software systems. Understanding the principles such as encapsulation, inheritance, and polymorphism.

person working on blue and white paper on board
person working on blue and white paper on board
Data structures and Algorithms

The Fontys journey gave me knowledge of data structures (e.g., arrays, linked lists, trees, graphs) and algorithms (e.g., searching, sorting, graph traversal) that is fundamental for solving complex problems efficiently and designing optimal software solutions.

a book with a diagram on it
a book with a diagram on it
Database Management

Understanding database concepts, SQL (Structured Query Language), and database management systems (DBMS) is crucial for developing applications that interact with databases, ensuring efficient data storage and retrieval.

photo of 5-story library building
photo of 5-story library building
Web development

Proficiency in web development technologies such as HTML, CSS, JavaScript, and relevant frameworks (e.g., React, Angular, Node.js) allowed me to build interactive and responsive web applications.

turned-on monitor displaying digital products
turned-on monitor displaying digital products
Version control

Knowledge of version control systems like Git enables effective collaboration and facilitates tracking changes in codebases, ensuring smooth team collaboration and efficient code management.

turned-on monitor displaying digital products
turned-on monitor displaying digital products
Software Testing and Quality Assurance

Skills in testing methodologies, unit testing, integration testing, and automated testing frameworks (e.g., JUnit, Selenium) are vital for ensuring software reliability, identifying bugs, and maintaining code quality.

person holding space grey iPhone X turn on
person holding space grey iPhone X turn on
CI/CD

Understanding and using Jenkins in the context of continuous integration is a valuable skill for software engineers. Jenkins allows automating the process of building, testing, and integrating code changes into a shared repository. Proficiency in configuring Jenkins pipelines, jobs, and plugins helps ensure that new code changes are continuously integrated and tested, leading to faster development cycles and early detection of issues.

Problem-solving and Analytical Thinking

As Software engineer, I need strong problem-solving skills to analyze complex issues, break them down into manageable components, and devise effective solutions. Analytical thinking helps me in understanding requirements and identifying potential risks. This skill was developed during my studies at Fontys and my experiences in the internships.

person playing magic cube
person playing magic cube
Communication and Collaboration

Effective communication skills, both verbal and written, are essential for collaborating with team members, understanding project requirements, and conveying technical concepts to non-technical stakeholders.

three men sitting while using laptops and watching man beside whiteboard
three men sitting while using laptops and watching man beside whiteboard
Security Principles

Understanding fundamental security concepts and best practices helps in designing and developing secure software systems, protecting against common vulnerabilities and ensuring data privacy. As I am specialized In Cyber Security, more of this chapter can be found here...

red padlock on black computer keyboard
red padlock on black computer keyboard