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
- Software Construction
- Software Configuration Management
- Software Project Management
- Introduction to Software Engineering
- Software Engineering Capstone
I’m interested in philosophy, music, literature, movie, 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;
- Software process, software project management;
- Engineering of desktop, web and mobile enterprise software;
- Cloud-based software development, multi-tenant architecture;
- Game development and
- Applied machine learning, deep learning, natural language processing, and computer vision.
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 also designed several industry multi-tenancy enterprise systems.
My experience includes
- Estimating and controlling project size, cost, duration and risks;
- Managing project development and improving software development process;
- Proposing and evaluating design, architecture and technologies for cloud-based software system development;
- Designing and developing enterprise software systems and their ecosystem (i.e. services, desktop clients, web applications, mobile clients, specific add-ons, 3rd party and legacy systems integration);
- Designing, developing and evaluating multi-tenancy software systems; and
- Applying natural language processing and computer vision to enhance existing software systems.
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 everyone who want to discuss about software engineering and share their software development and software engineering research experiences.