About

I am a lecturer. I have been teaching software development since 2007. During my teaching career, I have been teaching the following courses:

  • .NET Application Development
  • Object-Oriented Programming
  • Introduction to Software Engineering
  • Software Construction
  • Software Configuration Management
  • Software Architecture
  • Software Project Management
  • Software Engineering Capstone

I’m interested in philosophy, literature, music, movies, economics, technology business and software engineering research.

I hold a PhD degree in Computer Science. My main research areas are

  • Software design, software architecture, software design patterns, multi-tenant architecture for enterprise systems;
  • Software process, software project management for managing enterprise software development;
  • Data structures, algorithms, programming languages and frameworks for engineering desktop, web, mobile, cloud-based enterprise software and games;
  • Machine learning algorithms and deep learning architectures for building natural language processing and computer vision systems.

I have been developing software since 2000, working in various industry projects as a Software Engineer, a Team Leader,  a Technical Architect, and a Project Manager. I designed several successful commercial multi-tenancy enterprise systems.

My experience includes

  • Eliciting project ideas, identifying project scope, estimating and controlling project size, cost, duration and risks, developing prototypes and proof of concepts, managing project development and improving software development processes;
  • Evaluating and proposing architectures and technologies for enterprise software systems and multi-tenancy software systems;
  • Developing enterprise software systems and their ecosystem (i.e. services, desktop clients, mobile clients, web applications, specific add-ons, 3rd party and legacy systems integration) using
    • C, C++, Windows API, C++ Builder, Cocos2d-x;
    • Objective C, Swift, iOS SDK;
    • Java, Android SDK;
    • HTML, JavaScript, CSS, C#, .NET framework, MS SQL, Oracle, DotNetNuke, Kentico, Amazon Web Services;
    • PHP, MySQL, Drupal, WordPress; and
    • Apex and Salesforce.
  • Applying natural language processing and computer vision to enhance existing software systems using
    • Python, TensorFlow, Keras, scikit-learn, OpenCV, Deep Speech, Tacotron.

I welcome and appreciate any feedback and suggestions for this website. My short term strategy is to create a full, concrete and easy process for high school students and absolute beginners to learn to develop software and document my experiences for reference.

My long term strategy is to make a place for a small group of people to discuss about software engineering, software engineering education and training, software engineering research, and share their experiences.

Please feel free to contact me or leave a comment if you have any questions or comments.

(Visited 266 times, 1 visits today)

Software development and software engineering research