About

Hello! My name is Aryan Ebrahimpour. I am a Software Engineer and Designer.

I began programming in middle school and since then my interest has become an obsession. I develop applications and write articles in my weblog, I read software and hardware articles, and I follow Programming language and technology documentation to improve my programming and algorithm design skills. I constantly strive to become a better software engineer.

Basic Information
Age:
Calculating...
Phone:
+98 938 878 8448
Address:
Room 203, Block 3, Guilan University Dormitory, Rasht, Guilan, Iran
Language:
Persian, English
Programming Skills
Summary
I know almost all C# language features such as:
  • All C# Keywords and Preprocessor Directives
  • Delegates, Event system
  • Linq
  • Extension Methods
  • Data Structures and Enumerables, Tuples, ...
  • Attributes
  • Interop and P/Invoke
  • Interpolated Strings and Formatting
  • Async/Await Pattern, Task and ValueTask
  • OOP, Covariance and Contravariance
  • Functional Features and Lambda Expressions
  • C# and .NET coding conventions
  • Socket Programming, Networking, MultiThreading...
  • And much more...
I have more than 3 years of professional experience in C# and .NET. I work on lots of Desktop projects and I have experience in Web Development, Game Programming, and IoT development with C#.
Related Tags
  • .NET Core
  • .NET Standard
  • .NET Framework
  • Mono
  • CLR
  • CLI
  • ECMA
Summary
WPF and UWP are my UI frameworks of choice. Almost all of my desktop projects are written with these frameworks
I'm skilled at:
  • Creating animations
  • Creating vector graphics
  • Text rendering features
  • Model-View-ViewModel Pattern
  • WPF and UWP Controls (DataGrid, Layouts, ... )
  • Custom Behaviors and other Microsoft.Expression.Interaction features
  • Creating Custom User Controls
  • Data Binding
  • Creating Styles and Templates
  • Globalization and Localization (i18n)
  • And many more...
Related Tags
  • Xaml
  • WinRT API
  • App Packaging
  • Windows Desktop Dridge
Summary
I'm interested in Functional Programming concepts and F#
Related Tags
  • OCaml
  • ML
  • Idris
  • Haskell
  • Pure Functional
  • Dependant Typing
Summary
I can automate systems using PowerShell scripts
Related Tags
  • PowerShell Core
  • Windows PowerShell
  • PowerShell ISE
Summary
Entity Framework is my favorite ORM. I use it in my Web and Desktop projects to manage databases in a simpler and better way.
Related Tags
  • Database Migration
  • Object relational mapping
  • Code-first migration
  • ADO.NET
Summary
I'm experienced in Microsoft SQL Server, MySQL, SQL-CE and SQLite.
Summary
I know HTML 5 and I've designed some templates for Blog.ir (A blogging service in Iran). I've also done some front-end projects for a company in Tehran, capital of Iran. I also know Bootstrap, a popular HTML framework.
Related Tags
  • HTML5
Summary
I'm experienced in CSS 3 and many of its features such as keyframe animations, effects, etc.
Related Tags
  • Flex box
Summary
XAML or Extensible Application Markup Language is a great markup language with lots of useful features that can be used in WPF, UWP, Xamarin, Unity and a lot of other types of apps and games.
I can:
  • Design custom controls with custom behaviors
  • Create custom MarkupExtensions
  • Create custom Attached Properties
  • Create responsive user interfaces
  • And many more...
Related Tags
  • Markup Extensions
  • Attached Properties
  • Serialize/Deserialize
Summary
ASP.NET MVC Core + Entity Framework = Monster
I've watched a fully professional video tutorial for ASP.NET MVC and I've done various projects with it. ASP.NET is currently the only web framework that I'm experienced in.
Related Tags
  • ASP.NET Core
  • DI
  • Blazor
  • SignalR
Summary
I'm experienced in JS and jQuery. I've used it to write client-side web apps and web extensions.
Related Tags
  • ECMA Script
  • TypeScript
Summary
I can create Plug-ins for Microsoft Office products. I've already created an extension for Microsoft Excell that can modify a sheet for easier question importing for Moodle. This project was a part of the Sabnaa project.
Summary
I'm familiar with Python, but I don't know much about its libraries yet.
Related Tags
  • Python 3
Summary
I'm experienced in Xamarin Technologies. I have one project written in Xamarin.Android and another one in Xamarin.Forms.
Related Tags
  • Xamarin.Android
  • Xamarin Forms
Summary
I'm familiar with C++. I'm also experienced in POSIX APIs (processes, fork features, p_threads, ...). I also have a GUI Tic-Tac-Toe game project fully written in C++ CLR.
Summary
I'm experienced in writing software in Assembly. Take a look at my Calculator assembly project and DC Motor controller in GitHub. Both projects are simulated in Proteus.
Related Tags
  • ATMega32
  • AVR
  • Intel
Summary
I've written a Web Extension for Guilan University students with JS. In that project, I was able to get familiar with some WebExtension APIs.
Related Tags
  • JavaScript
Summary
I am a big fan of Electronics and DIY. I worked on the final project of my university's CAD course with Windows IoT core + Xamarin + VHDL. A great blend! The result was a ping pong game that can be controlled with a smartphone, sending data to a RaspberryPi with Windows and an FPGA which runs the game that is written in VHDL.
Related Tags
  • Windows 10 IoT Core
  • DIY
Summary
As I mentioned in the IoT section, I've written a complete ping-pong game in VHDL, with help of other technologies like Xamarin, Windows IoT core, and RaspberryPi.
Related Tags
  • Computer Aided Design
Summary
I'm experienced in Threading, Socket Programming and Desktop Programming with Java (JavaFX). In almost all of my university projects I was forced to use Java, so ergo all of my AI projects, PL design projects and Advanced Programming course projects are written in Java. I'm not a fan of it though!
Related Tags
  • Java FX
Summary
I'm really interested in Game Development. I'm familiar with CryEngine, Unity, and Xenko game engines editors. I also have a merged PR to Xenko Game Engine and created a new dark theme for it (+ Icon theming features).
Related Tags
  • Xenko
  • Godot
  • Unity
Career Skills
Summary
Creating charming user interfaces has always been a hobby for me. I love blending art with computers!
Summary
Design and making use of better algorithms with factors like time and space has always been of my concern. I always try to learn and use better algorithms when possible.
Summary
DevOps makes everything faster and that's what I love about Software Engineering. I'm familiar with Agile Methodologies, Scrum, Unit Testing, CI/CD and other aspects of DevOps. I'm also experienced in GitHub and Visual Studio Team Services.
Summary
Linux is a great operating system with a great community and an open door to the free world. Although my primary operating system is Windows, I still use WSL and Bash on Windows.
Summary
I know how to use WinAPI to create Shell Extensions for Windows.
Summary
I'm not a professional designer, but I know how to use tools such as Photoshop in order to fix some of my needs.
Summary
I'm experienced in Word, Excell, Power Point, One Note and Microsoft Power BI.
Summary
I have a basic knowledge about IIS, but it does the job for now.
Summary
Visual Studio is a great tool for developing software. It has a lot of features that you can use to refactor your code or debug your application in a faster way. I'm also familiar with Visual Studio Blend and its great XAML designer.
Related Tags
  • VS Code
Summary
I'm familiar with some network tools such as Wireshark, GNS3 and Cisco Packet Tracer.
General Skills
Summary
I can give presentations about different topics. Here is a list of Documents and Slides that I've created over time and have presented about.
Summary
AutoHotkey is a free, open-source custom scripting language for Microsoft Windows. I can write scripts to do some of my tasks faster with it.
Language Skills
I'm a Persian Native Speaker.
I'm average in English Writing, Listening and Speaking skills.
I can write Hafez-style classic poems in Persian.
Work Experience

Present

Freelancer
Freelancer

Because I am a student in a university far from a city, I can't work in a company, but instead I work as freelancer and do side projects in my spare time. I build desktop and web applications right now.

HOMATEC
Desktop Developer

I develop WPF Desktop Industrial applications for HOMATEC company, such as CityCloud cloud file storage app, COM Port Weight Reader app, etc.

Education

2015 - 2019

Bachelor's Degree
Bachelor of Computer Engineering

Guilan University

At Guilan University, I began to show other students my knowledge about programming and web design. After that, I became a member of the academic forum and participated in an ACM programming contest with the result of honorable mention. I had in-class presentations about Agile software methodologies, DevOps, Refactoring and Bad smells in code, the difference between Windows and Linux OS processes and threads, SQL Server and Entity Framework related presentations, Economical and social topics like Human Development Index, Informal Sector, etc.

2013 - 2015

High School
Mathematics and Physics

Eshragh High School

In years of high school, I've studied Discrete mathematics, Differential mathematics, Chemistry, Static and Dynamic Physics, Geometry, Statistics, Probability and Persian literature.

Contact Me
Feel free to contact me

Address

Rasht, Guilan, Iran

Phone

+98 938 878 8448

Email

[email protected]