آموزش Python3: از مبتدی تا حرفه ای

Python3: From Beginner to Pro

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: مطالعه جامع مهارت‌های پایه (و بسیاری از پیشرفته‌ترین) مورد نیاز هر توسعه‌دهنده پایتون: وب، تجزیه و تحلیل داده‌ها، زبان و برنامه‌های کاربردی Python 3 مفاهیم پایه پایتون را بیاموزید یاد بگیرید چگونه کدهای قوی و بدون خطا بنویسید پایه‌ای قوی در برنامه‌نویسی شی گرا ایجاد کنید. یاد بگیرید که چگونه دکوراتورها را مانند یک حرفه ای بنویسید مفاهیم پیشرفته پایتون مانند وراثت، فوق العاده و ماژول های داخلی MRO: سیستم عامل، سیستم، ریاضی، تصادفی، تاریخ، ورود به سیستم یاد بگیرید چگونه با فایل های Text، CSV و JSON کار کنید یاد بگیرید چگونه بنویسید. و تجزیه و تحلیل عبارات منظم (Regex) راه اندازی وب سرور Flask با استفاده از HTTP, HTML, SQL, Jinja2, Bootstrap4 درباره تجزیه و تحلیل داده ها با استفاده از Python: Numpy, Pandas, Seaborn بیاموزید.

به دوره کاملاً جدید پایتون 3 خوش آمدید: از مبتدی تا حرفه ای.

وقتی شروع به ایجاد این دوره کردم، یک هدف در ذهن داشتم:

"به گونه ای آموزش دهید که ای کاش به من آموزش داده می شد".

سوالات/تردیدها/تردیدهایی را که هنگام یادگیری پایتون داشتم به خاطر می‌آورم و خیلی سعی کرده‌ام در این دوره به آنها بپردازم. به همین دلیل است که بسیاری از آزمون ها و تخصیص کدها/مشکلات زیادی برای حل در این دوره وجود دارد. هیچ کس شنا یا دوچرخه سواری را با شرکت در سخنرانی در مورد شنا یا دوچرخه سواری یاد نمی گیرد و در مورد کدنویسی نیز همینطور است. شما باید کد را بنویسید، اشتباه کنید، آن اشتباهات را حل کنید و تکرار کنید. این تنها راه یادگیری است.

یک پایه قوی برای هر تلاش جدیدی ضروری است و اگر به نظر می رسد که دوره در ابتدا کمی کند است، این یک انتخاب عمدی است تا اطمینان حاصل شود که دانش آموزان دانش لازم برای ادامه بخش های چالش برانگیزتر را دارند.

بازخورد دانشجویان برای من بسیار مهم است. این به من امکان می دهد در صورت لزوم بخش هایی از دوره را تغییر دهم. لطفاً در پرسیدن سؤالات مرتبط تردید نکنید و من در اسرع وقت به آنها پاسخ خواهم داد.

برخی از موضوعات:

  • انواع داده، متغیرها، عملگرها.

  • تبدیل بین انواع داده

  • عملگرها: حساب، انتساب، مقایسه

  • اپراتورها: منطقی، هویت، عضویت، بیتی

  • برای حلقه‌ها، حلقه‌ها در حالی که در غیر این صورت انشعاب دارند

  • توابع: پارامترها، آرگومان‌ها، مقادیر بازگشتی

  • توابع: آرگومان موقعیتی و کلیدواژه

  • توابع: مقادیر پیش‌فرض برای پارامترها

  • توابع: آرگومان‌های موقعیتی متغیر و کلیدواژه

  • توابع: محدوده محلی و جهانی متغیرها

  • توابع: شمارش، نقشه، فیلتر، کاهش، زیپ، لامبدا

  • کارکردها: درب ها و دکوراتورها

  • توابع: فهرست و درک فرهنگ لغت


  • ماژول ها و بسته ها

  • ماژول‌های داخلی: سیستم عامل، سیستم، تصادفی، تاریخ، ورود به سیستم، ریاضی

  • مدیریت خطا سعی کنید

  • آزمون های واحد

  • مدیریت فایل: متن، CSV و JSON

  • عبارات منظم ( regex )


  • برنامه نویسی شی گرا: کلاس ها، نمونه ها

  • OOP: ویژگی‌های کلاس و نمونه، کلاس و روش‌های نمونه

  • OOP: ایجاد نمونه گام به گام و مفهوم خود

  • OOP: ویژگی‌های نمونه و اعتبارسنجی ویژگی

  • OOP: وراثت کلاس و ویژگی ها و روش های به ارث برده شده

  • OOP: مفهوم فوق العاده

  • OOP: ترتیب تفکیک روش (MRO ) برای وراثت چند سطحی و چندگانه


  • وب: استفاده از روش‌های ساده HTTP از طریق ماژول درخواست‌ها

  • وب: ارسال و دریافت پیامک با استفاده از Twilio

  • وب: راه اندازی یک وب سرور با استفاده از میکرو چارچوب Flask

  • وب: وب سایت های HTML پویا با استفاده از قالب های Jinja2

  • وب: اتصال به پایگاه داده SQL

  • وب: استفاده از Bootstrap4 در وب سایت

  • وب: قرار دادن همه آن‌ها در کنار هم برای ایجاد یک ظاهر و یک باطن.


  • تجزیه و تحلیل داده ها: مبانی و Numpy

  • تجزیه و تحلیل داده ها: آرایه ها و ویژگی های Numpy nD

  • تجزیه و تحلیل داده ها: قاب های داده پاندا

  • تحلیل داده: دستکاری قاب داده، استخراج گروهی و شرطی

  • تحلیل داده: تجسم داده ها با استفاده از matplotlib و پانداها

  • تجزیه و تحلیل داده ها: تجسم داده ها با استفاده از Seaborn.

حدود 80 سوال مسابقه و 35 تمرین برنامه نویسی همراه با راه حل در این دوره وجود دارد.


سرفصل ها و درس ها

معرفی Introduction

  • از این دوره بیشترین بهره را ببرید! Get the most value out of this course!

  • چه چیزی یاد خواهید گرفت؟ What will you learn?

  • چرا پایتون؟ Why Python?

  • پایتون در کامپیوتر چگونه اجرا می شود؟ How is Python run on a computer?

  • مقدمه - آزمون Introduction- Quiz

نوت بوک آناکوندا، پایتون و ژوپیتر Anaconda, Python and Jupyter Notebook

  • آناکوندا و پایتون را روی ویندوز 10 نصب کنید Install Anaconda and Python on Windows 10

  • Anaconda و Python را روی MacOS نصب کنید Install Anaconda and Python on MacOS

  • بررسی نوت بوک Jupyter A survey of Jupyter Notebook

  • نصب - آزمون Installation-Quiz

انواع داده ها: اعداد و انواع بولی DataTypes: Numbers and Boolean Types

  • مقدمه ای بر انواع داده های پایتون Introduction to Python DataTypes

  • اعداد صحیح، اعداد ممیز شناور و عملیات حسابی Integers, Floating Point Numbers and Arithmetic Operations

  • اعداد مختلط، تبدیل ها و توابع مفید Complex Numbers, Conversions and Useful Functions

  • قوانین تقدم حسابی در پایتون Arithmetic Precedence Rules in Python

  • انواع بولی Boolean Types

  • انواع عددی - آزمون Numerical Types - Quiz

  • متغیرها: مقدمه Variables: An Introduction

  • متغیرها: قراردادهای نامگذاری، شناسه، نوع و ورودی Variables: Naming Conventions, ID, Type and Input

  • متغیرها - آزمون Variables - Quiz

نوع داده: رشته ها DataTypes: Strings

  • رشته ها: معرفی، ایجاد و کلاس Strings: Introduction, creation and class

  • رشته ها: شخصیت های فرار Strings: Escape Characters

  • رشته ها: نمایه سازی و تغییرناپذیری Strings: Indexing and Immutability

  • رشته ها: دستکاری با استفاده از توابع Strings: Manipulation using functions

  • رشته ها: برش Strings: Slicing

  • رشته ها: الحاق و رشته های قالب بندی شده Strings: Concatenation and Formatted Strings

  • رشته ها - آزمون Strings - Quiz

تکالیف - I Assignments - I

  • تکلیف 1 و راه حل Assignment 1 and Solution

  • تکلیف 2 و راه حل Assignment 2 and Solution

  • تکلیف 3 و راه حل Assignment 3 and Solution

  • تکلیف 4 و راه حل Assignment 4 and Solution

  • تکلیف 5 و راه حل Assignment 5 and Solution

  • تکلیف 6 و راه حل Assignment 6 and Solution

  • تکلیف 7 و راه حل Assignment 7 and Solution

  • تکلیف 8 و راه حل Assignment 8 and Solution

انواع داده ها: تاپل ها و فهرست ها DataTypes: Tuples and Lists

  • نوع داده: انواع توالی DataTypes: Sequence types

  • نوع داده: ایجاد و نمایه سازی تاپل DataTypes: Tuple Creation and indexing

  • انواع داده ها: عملیات چندگانه و برش DataTypes: Tuple operations and slicing

  • DataTypes: Tuple Operations، ادامه یافت DataTypes: Tuple Operations, continued

  • مسابقه - تاپل Quiz - Tuples

  • DataTypes: فهرست معرفی، ایجاد و نمایه سازی DataTypes: List Introduction, creation and indexing

  • نوع داده: عملیات لیست-I DataTypes: List operations-I

  • نوع داده: عملیات لیست-II DataTypes: List operations-II

  • نوع داده: عملیات فهرست-III DataTypes: List operations-III

  • امتحان - لیست ها Quiz - Lists

انواع داده ها: مجموعه ها و دیکشنری ها DataTypes: Sets and Dictionaries

  • DataTypes: مجموعه ایجاد و مبانی DataTypes: Sets Creation and Basics

  • DataTypes: ویژگی ها و عملیات را تنظیم کنید DataTypes: Set Properties and Operations

  • مجموعه - آزمون Sets - Quiz

  • نوع داده: ایجاد فرهنگ لغت و مبانی DataTypes: Dictionary Creation and Basics

  • نوع داده: ویژگی ها و عملیات دیکشنری DataTypes: Dictionary Properties and Operations

  • فرهنگ لغت - امتحان Dictionary - Quiz

انواع داده ها - خلاصه Data Types - Summary

  • DataTypes - خلاصه DataTypes - Summary

تبدیل بین DataType ها Conversions between DataTypes

  • تبدیل بین DataType ها Conversions between DataTypes

  • تبدیل - امتحان Conversions - Quiz

اپراتورها Operators

  • اپراتورها: حساب، تخصیص و مقایسه Operators: Arithmetic, Assignment and Comparison

  • اپراتورها: منطقی Operators: Logical

  • اپراتورها: Identity، Membership و Bitwise Operators: Identity, Membership and Bitwise

  • اپراتورها - آزمون Operators - Quiz

کنترل جریان: حلقه ها و بیانیه های شرطی Flow Control: Loops and Conditional Statements

  • کنترل جریان: برای حلقه ها Flow Control: for loops

  • کنترل جریان: انشعاب if-elif-else Flow Control: if-elif-else branching

  • کنترل جریان: عبارات سه تایی Flow Control: Ternary Expressions

  • کنترل جریان: حلقه‌های while Flow Control: while loops

  • کنترل جریان - خلاصه Flow Control - Summary

  • کنترل جریان - آزمون Flow Control - Quiz

تکالیف - II Assignments - II

  • تکلیف 9 و راه حل Assignment 9 and Solution

  • تکلیف 10 و راه حل Assignment 10 and Solution

  • تکلیف 11 و راه حل Assignment 11 and Solution

  • تکلیف 12 و راه حل Assignment 12 and Solution

  • تکلیف 13 و راه حل Assignment 13 and Solution

  • تکلیف 14 و راه حل Assignment 14 and Solution

  • تکلیف 15 و راه حل Assignment 15 and Solution

  • تکلیف 16 و راه حل Assignment 16 and Solution

کارکرد Functions

  • توابع: مقدمه، مبانی و اشیاء Functions: Introduction, Basics and Objects

  • توابع: پارامترها و آرگومان ها Functions: Parameters and Arguments

  • توابع: کلمه کلیدی بازگشت Functions: The return keyword

  • کارکرد Functions

  • توابع: آرگومان های موقعیت و کلیدواژه Functions: Positional and Keyword Arguments

  • توابع: پارامترهای پیش فرض، آرگومان های متغیر و آرگومان های کلمه کلیدی متغیر Functions: Default parameters, Variable arguments and Variable keyword arguments

  • کارکرد Functions

  • توابع: متغیرهای محلی و جهانی Functions: Local and Global Scope variables

  • توابع: ماجراهای بیشتر در محدوده متغیر Functions: More adventures in variable Scope

  • توابع: توابع لامبدا/ناشناس Functions: Lambda/Anonymous functions

  • کارکرد Functions

  • توابع - خلاصه Functions - Summary

تکالیف - III Assignments - III

  • تکلیف 17 و راه حل Assignment 17 and Solution

  • تکلیف 18 و راه حل Assignment 18 and Solution

  • تکلیف 19 و راه حل Assignment 19 and Solution

  • تکلیف 20 و راه حل Assignment 20 and Solution

  • تکلیف 21 و راه حل Assignment 21 and Solution

  • تکلیف 22 و راه حل Assignment 22 and Solution

  • تکلیف 23 و راه حل Assignment 23 and Solution

توابع پیشرفته Advanced Functions

  • توابع شمارش و نقشه Enumerate and Map functions

  • توابع فیلتر، کاهش و زیپ Filter, Reduce and Zip functions

  • بسته شدن: راه اندازی اولیه Closures: Preliminary Setup

  • بسته شدن: توابع برگرداننده توابع Closures: Functions returning functions

  • بسته شدن: بسته شدن Closures: Wrapping up

  • دکوراتورها: معرفی و آفرینش Decorators: Introduction and Creation

  • دکوراتورها: موارد استفاده و نمونه Decorators: Usage and Examples

  • فهرست درک List Comprehensions

  • درک فرهنگ لغت Dictionary Comprehension

  • مسابقه - توابع پیشرفته Quiz - Advanced Functions

  • توابع پیشرفته - خلاصه Advanced Functions - Summary

تکلیف - IV Assignment - IV

  • تکلیف 24 و راه حل Assignment 24 and Solution

  • تکلیف 25 و راه حل Assignment 25 and Solution

  • تکلیف 26 و راه حل Assignment 26 and Solution

  • تکلیف و راه حل Assignment and Solution

  • تکلیف و راه حل Assignment and Solution

  • تکلیف و راه حل Assignment and Solution

  • تکلیف و راه حل Assignment and Solution

  • تکلیف و راه حل Assignment and Solution

  • تکلیف و راه حل Assignment and Solution

ماژول ها و بسته ها Modules and Packages

  • ماژول ها: مقدمه و مبانی Modules: Introduction and Basics

  • ماژول ها: روش های جایگزین واردات و سفارش جستجو Modules: Alternative import methods and Lookup order

  • بسته ها: اصول اولیه و واردات Packages: Basics and Import

برنامه نویسی شی گرا Object Oriented Programming

  • OOP: مقدمه OOP: Introduction

  • OOP: کلاس و نمونه پایه OOP: Basic class and instance

  • OOP: ویژگی های نمونه OOP: Instance Attributes

  • OOP: dunder init و مفهوم Self OOP: dunder init and the concept of Self

  • OOP: dunder init و سایر روش های باند OOP: dunder init and other bound methods

  • OOP: روش‌های محدود نمونه (ادامه) OOP: Instance Bound Methods (cont.)

  • OOP: ویژگی های کلاس OOP: Class Attributes

  • OOP: روش های کلاس OOP: Class Methods

  • OOP: روش‌های کلاس (ادامه) OOP: Class Methods (cont.)

  • OOP: روش‌های استاتیک و یک خلاصه OOP: Static Methods and a recap

  • OOP: ویژگی های محافظت شده و خصوصی OOP: Protected and Private attributes

  • OOP: ویژگی ها، دریافت کننده ها، تنظیم کننده ها و حذف کننده ها OOP: Properties, getters, setters and deleters

  • OOP: خواص با استفاده از دکوراتورها OOP: Properties using decorators

  • OOP: ویژگی های فقط خواندنی OOP: Read-only properties

  • OOP: اعتبارسنجی ویژگی ها با استفاده از ویژگی ها OOP: Validating attributes using properties

  • OOP: ارث OOP: Inheritance

  • OOP: ارث (ادامه) OOP: Inheritance (cont.)

  • OOP: وراثت و نادیده گرفتن OOP: Inheritance and Overriding

  • OOP: وراثت چند سطحی و چند سطحی OOP: Multiple and Multi-Level Inheritance

  • OOP: ترتیب وضوح روش (MRO) مثال در وراثت چند سطحی/چندین OOP: Method Resolution Order (MRO) Example in Multi-Level/Multiple inheritance

  • OOP - خلاصه OOP - Summary

  • OOP - امتحان OOP - Quiz

تکلیف - V Assignment - V

  • تکلیف و راه حل Assignment and Solution

  • تکلیف و راه حل Assignment and Solution

  • تکلیف و راه حل Assignment and Solution

موضوعات پیشرفته پایتون Advanced Python Topics

  • تکرار کننده ها Iterators

  • توابع و عبارات ژنراتورها Generators Functions and Expressions

  • ژنراتورها: چه زمانی به آنها نیاز است؟ Generators: When are they needed?

ماژول های داخلی پایتون Python Built-In modules

  • ماژول های داخلی: سیستم عامل Built-in Modules: OS

  • ماژول سیستم عامل در Linux/MacOS OS Module in Linux/MacOS

  • ماژول سیستم عامل در ویندوز OS Module in Windows

  • ماژول SYS SYS Module

  • ماژول تصادفی Random Module

  • ماژول ریاضی MATH Module

  • ماژول تاریخ زمان Date Time Module

  • ماژول ورود به سیستم Logging Module

مدیریت خطا، استثناها و تست های واحد Error Handling, Exceptions and Unit Tests

  • ردیابی ها و استثناها: تلاش کنید Tracebacks and Exceptions: try-catch

  • تست های واحد Unit Tests

عملیات فایل File Operations

  • عملیات فایل متنی Text File Operations

  • عملیات فایل CSV CSV File Operations

  • عملیات فایل JSON JSON File Operations

عبارات منظم (regex) Regular Expressions (regex)

  • Regex: Introduction و Simple String مسابقات Regex: Introduction and Simple String matches

  • Regex: منطبق با کلاس/مجموعه کاراکترها Regex: Character Class/Set matches

  • Regex: کاراکترهای خاص و منطبق با الفبایی Regex: Special characters and alphanumeric matches

  • Regex: مسابقات موقعیتی و مرزهای کلمه Regex: Positional matches and Word Boundaries

  • Regex: تکرارهای الگو با کمّی، حریص و منطبقات تنبل Regex: Pattern Repetitions with Quantifiers, Greedy and Lazy matches

  • Regex: گروه بندی کاراکترها، ضبط گروه ها و مراجع برگشتی Regex: Character Grouping, Capture Groups and Back References

  • Regex: ماژول re در پایتون Regex: The re module in Python

توسعه وب و ارتباطات Web Development and Communication

  • وب: مبانی ارتباطات وب Web: Basics of web communications

  • وب: ماژول درخواست ها، درخواست http و پاسخ Web: Requests module, http request and response

  • وب: درخواست هایی با استفاده از پارامترهای URL و پاسخ JSON Web: Requests using URL parameters and JSON response

  • وب: درخواست ها با استفاده از POST Web: Requests using POST

  • وب: وب سرور فلاسک میکرو Web: The Flask Micro Webserver

  • وب: استفاده از اصول اولیه قالب های Jinja2 Web: Using Jinja2 templates basics

  • وب: ایجاد یک وب سایت پویا Web: Creating a Dynamic website

  • وب: الگوهایی که از محتوای بلوک استفاده می کنند Web: Templates using the block content

  • وب: فرم ها و روش POST Web: Forms and the POST method

  • وب: حلقه زدن در قالب وب Web: Looping in a web template

  • وب: حلقه ها و جداول HTML Web: Loops and HTML tables

  • وب: RDMS و Sqllite: یک پرایمر Web: RDMS and Sqllite: A primer

  • وب: RDMS و Sqllite - قسمت 2 Web: RDMS and Sqllite - Part 2

  • وب: اتصال پایتون و Sqllite Web: Connecting Python and Sqllite

پروژه: ایجاد یک وب سرور دانشجویی با یک پایگاه داده باطن Project: Create a Student Webserver with a backend Database

  • وب سایت دانشجویان: صفحه جستجو Students Web Site: Search page

  • وب سایت دانشجویان: صفحه دانشجو را اضافه کنید Students Web Site: Add Student page

  • وب سایت دانشجویان: ویرایش صفحه دانشجو Students Web Site: Edit Student page

  • وب سایت دانشجویان: ویرایش صفحه دانشجویی (ادامه) Students Web Site: Edit Student page (cont.)

  • وب سایت دانش آموزان: در حال اتمام با صفحه دوره، CSS Students Web Site: Finishing up with course page, CSS

  • وب: ارتباط با استفاده از پیامک Web: Communication using SMS messages

  • وب: خلاصه Web: Summary

تحلیل داده ها Data Analysis

  • مقدمه تجزیه و تحلیل داده ها - Numpy Data Analysis Introduction - Numpy

  • Numpy - آرایه های nD، ایجاد و دستکاری Numpy - nD Arrays, Creation and Manipulation

  • پانداها: اصول، سری، خواص و دستکاری Pandas: Basics, Series, Properties and Manipulation

  • پانداها: DataFrame، Creation و Basics Pandas: DataFrame, Creation and Basics

  • پانداها: DataFrame CSV، افزودن و فیلتر کردن ردیف‌ها و ستون‌ها Pandas: DataFrame CSV, append and filtering rows and columns

  • پانداها: مرتب سازی DataFrame و فیلترینگ پیچیده Pandas: DataFrame Sorting and Complex Filtering

  • پانداها: پر کردن مقادیر از دست رفته و حلقه زدن روی یک دیتافریم Pandas: Filling missing values and looping over a dataframe

  • پانداها: تحولات گروهی Pandas: Groupby transformations

  • پانداها: تجزیه و تحلیل داده های موارد COVID-19 از گزارش های روزانه Pandas: Data Analysis of COVID-19 cases from daily reports

  • تصاویر: مقدمه و Matplotlib Visuals: Introduction and Matplotlib

  • تصاویر: تجزیه و تحلیل داده های تایتانیک با استفاده از Matplotlib Visuals: Analyzing Titanic Data using Matplotlib

  • تصاویر: یک رویکرد ساده تر برای طراحی از پانداها Visuals: A simpler approach to plotting from Pandas

  • تصاویر: برای ترسیم آسان نمودارهای پیچیده Visuals: Seaborn for easy plotting of complex graphs

نمایش نظرات

Udemy (یودمی)

یودمی یکی از بزرگ‌ترین پلتفرم‌های آموزشی آنلاین است که به میلیون‌ها کاربر در سراسر جهان امکان دسترسی به دوره‌های متنوع و کاربردی را فراهم می‌کند. این پلتفرم امکان آموزش در زمینه‌های مختلف از فناوری اطلاعات و برنامه‌نویسی گرفته تا زبان‌های خارجی، مدیریت، و هنر را به کاربران ارائه می‌دهد. با استفاده از یودمی، کاربران می‌توانند به صورت انعطاف‌پذیر و بهینه، مهارت‌های جدیدی را یاد بگیرند و خود را برای بازار کار آماده کنند.

یکی از ویژگی‌های برجسته یودمی، کیفیت بالای دوره‌ها و حضور استادان مجرب و با تجربه در هر حوزه است. این امر به کاربران اعتماد می‌دهد که در حال دریافت آموزش از منابع قابل اعتماد و معتبر هستند و می‌توانند به بهترین شکل ممکن از آموزش‌ها بهره ببرند. به طور خلاصه، یودمی به عنوان یکی از معتبرترین و موثرترین پلتفرم‌های آموزشی آنلاین، به افراد امکان می‌دهد تا به راحتی و با کیفیت، مهارت‌های مورد نیاز خود را ارتقا دهند و به دنبال رشد و پیشرفت شغلی خود باشند.

آموزش Python3: از مبتدی تا حرفه ای
جزییات دوره
30 hours
177
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
19,583
4.6 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Murthy Karra PhD Murthy Karra PhD

مربی ارشد و توسعه دهنده دوره مورتی در 15 سال گذشته در صنعت فناوری اطلاعات بوده است، اما علاقه او به توسعه نرم افزار و برنامه نویسی حداقل به 20 سال پیش باز می گردد. او در دانشگاه‌ها، شرکت‌های بزرگ داروسازی، صندوق‌های تامینی و شرکت‌های چند ملیتی در نقش‌های مختلفی از جمله معمار راه‌حل‌ها، مدرس، پیش فروش، رهبری فنی کار کرده است. علاقه او آموزش فناوری است.