Development - Google Project Hosting

towerdevelopmentData Management

Dec 16, 2012 (4 years and 11 months ago)

324 views


R
ESUME OF

N
AIEM

Y
EGANEH





PERSONAL INFORMATION


Name:
Naiem Yeganeh

Email:
naiem@itee.uq.edu.au

Phone: +61
-
4
-
49129161

Nationality: Australian

Address: 3 Schafferius Ct, Collingwood Park QLD 4301

CAREER OBJECTIVE
& CV SUMMARY


I am an ex
perienced enterprise development team lead with a focus on developing software solutions
predominantly in .NET environments. I have strong ties with the science behind real
-
world software
solutions especially in data
-
centric software.


I have a strong pass
ion for my work. I am a regular at the MSDN and SQL Server user group
meetings as well as international database science conferences. My (outside daily job) focus has
been more on database research in the last few years, but I have been contributing to ope
n source
projects and some blogging recently.


I have
author of a few

open
-
source projects

around
.Net framework, extending SQ
L Server, and data
visualisation
. My goal is to work in projects with the chance to learn from good programmers and work
towards e
xtending the

limits of user experienc
e on growing data requirements.


QUALIFICATION SUMMARY




PhD, Computer Science (Database
Systems)

Specialised in Data Quality

University of Queensland, Brisbane,

2007
-
Current




Masters of Software Engineering

IAU Unive
rsity of Qazvin

2004
-
2007







Bachelor of Hardware Engineering

IAU University of Tehran 2000
-
2004




Microsoft Certified Technology Specialist

-

MCTS SQL Server 2008 Development

-

MCTS SQL Server 2008 DBA




Certified Scrum Master




TECHNICAL SKILLS*
(See Ap
pendix A)



DEVELOPMENT

PRESENTATION LAYER

PCX
Silverlight


P
WPF

PCX
Win Forms

PCX
ASP.Net Web Forms

PC
AJAX/JavaScript

PC
HTML/XHTML/CSS

PC
XML/XSLT/XSD


SERVICE LAYER

PCX
WCF

PCX
WCF RIA Services

PC
Web Services

PCX
ASP .Net

P
ASP .Net MVC

P

Windows
Assure


PERSISTENCE LAYER

PCX
MS SQL Server


2008/2005/2000

P
Denali

PC
Spatial Database

P
SQL
Assure

P
MySQL

P
PostgreSQL


ORMS:

PC
Entity Framework

PC
LINQ to SQL


Other Databases

C
OSI Soft PI

C
TQL

C
Mnesia

P
Assure

Table
Storage


SharePoint

PC
MS SharePoint 2010

PC
MS SharePoint 2007


LANGUAGES

.Net FRAMEWORK

PCX
C# 4.0/3.5/2.0/1.0

P
F#



OTHER

PCX
TSQL

PC
Delphi

PC
Erlang

P
C/C++


FINANCIAL


Microsoft Dynamics

C
NAV


R
ESUME OF

N
AIEM

Y
EGANEH




C
CRM 4.0

C
AX


TOOLS

DEVELOPME
NT

PCX
Visual Studio


2010/2008/2005

C
Microsoft Blend

PCX
SQL Server Management
Studio

C
Resharper

&

Redgate

PCX
TFS 2010

C
Microsoft Test Suite 2010

PC
Subversion/s
Nunit/TRAC

PC
Eclipse

PC
VIM


MANAGEMENT

Leadership and Project

Management

Inf
luencing/Negotiating/Moti
vation/Conflict

Resolution/Teamwork

Proven Written and Oral

Presentation Skill (at world
-
class

events)


SOFTWARE
ENGINEERING

PATTERNS & FRAMEWORKS

PCX
MVVM

P
MVC
/MVP

PCX
Inversion of Contro
l


A
utoFac


Unity

P
Microsoft Co
de Contracts

P
Microsoft Sync Framework

PC
Prism Framework


ARCHITECTURES

PCX
SOA (Service Oriented

Architecture)

C
EIA (Enterprise Application

Integration)

PC
EDW (Enterprise
DataWarehouse)


DATA ANALYSIS

C
SSAS

C
SSIS

C
SSRS

P
Data Mini
ng Algorithms




Data Quality

PX
Services/Algorithms/

Techniques

P
MDM

(Master Data

Management)


LIFECYCLE

C
UML/RUP

C
SDLC

CX
Agile/SCRUM


Certified SCRUM Master

C
TDD (Test Driven
Dev
elopment)

C
XP


P
Personal or Academic Interest and Expe
rience

C
Demonstrable Commercial Experience

X
Dominated majority of my recent
experience

RELEVANT AFFILIATIONS
AND
ACTIVITIES




Australian Computer Society



Australian SQL Server User Group



Queensland MSDN User Group



Australian Database Professionals Group



Spring User Group



VMWare User Group



My weblog: www.qualityofdata.com



Author of the Australian Database Conference (ADC
2011, Perth Australia)



Author of the International Conference on Database
Systems for Advanced Applications (DASFAA 2011,
Hong Kong)



Auth
or of European Conference on Information
Systems (ECIS 2011, Helsinki Finland)



Author of the International Conference of Very Large

Databases (VLDB 2009, Singapore)





Author of the International Conference of Business

Information Systems

(BIS 2010, Berlin,

Germany)



A
uthor of the Asia
-
Pacific Web Conference (APWeb

2009, Suzhou China)



Author of the International Conference of Enterprise

Information Systems (ICEIS 2008, Barcelona Spain)



Author of the BENELUX/DSP Valley Signal
Processing

Symposium (SPSDARTS 20
07, Belgium)



Author of the International Conference on Artificial

Intelligence in Engineering and Technology (ICAIET

2006, Sabbah Malaysia)



Microsoft Certified Professiona
l



Microsoft Certified Technology Specialist



Certified Scrum Master



EMPLOYMENT HIST
ORY
(See Appendix B)


ZAP Technology
(BI Vendor)



Microsoft Gold Partner



Jan 2011
-
Current

Senior .Net Developer
(
Up to

2
0 Developers
, teams of up to 7
)

ZAP Tech
nology is one of the leading BI software vendors in Australia. We develop data centric
techn
ologies around with Microsoft .Net platform to maximise the performance and effectiveness of
business BI strategies. Our set of systems focused on extending the usability of Data Analysis
Microsoft SSAS and SSIS technologies are well known in the field. As

a senior member of the Cube
Express team, I am responsible to bring innovative and productive techniques for automatic
generation of data analysis system from Microsoft Dynamics, CRM, NAV, and AX databases.

Responsibilities and
Skills Involved:

o

I was resp
onsible to develop and maintain software using
:

C#, .Net Framework 4.0,
ASP.Net, JQuery,

WinForms, WCF
,
for following BI technologies:

SQL Server 2008/2005, SSAS
,

o

Microsoft

Dynamics NAV, CRM 4.0, AX 2009

o

As part of my role I was responsible for assuring th
e quality of the software using
Microsoft Test Management Center
,
Coded UI Testing,
and Automated

UI Testing
.




R
ESUME OF

N
AIEM

Y
EGANEH




Pharmacy Guild of A
ustralia







Jul 2010
-
Jan 2011

Senior
.Net
Developers
Team
Member

(
Up to 7

Developers

in the team
)

National Service Provid
er for Pharmacies & Australian Police. In a dynamic team, we develop
extended portal software which is used by more than 4,000 pharmacies nation
-
wide on daily
basis.

A
SharePoint

based portal for management of documents and standards of EQCPP regulations f
or
pharmacies is part of the project.
It

also

in
cludes

a Sudoferine drug tracking system which was used
by Australian police. This project involved extensive change management skills for migrating from an
old production system (Traditional ASP.Net


ADO.Ne
t Style) which was performing poorly to a new
modern system (Silverlight


WCF RIA Services) with massive database system improvement and
data mining additions.

Responsibilities and
Skills Involved:

o

As a member of development team I used S
ilverlight

4.0
, R
IA Services
, Prism
Framework
, Entity Framework 4.0
, C#, .Net Framework 4.0, ASP.Net, and

WCF to
develop software.

o

I also was responsible to extent and maintain a
SharePoint 2007/2010

application.

I was responsible to communicate with DBA and ensure securit
y, availability, and
effectiveness
of SQL

Server 2008/2005,
and
SSR
S

projects.

o

As part of the development team I was responsible for assuring the quality of software
using
Microsoft Test Management Center
,
Coded UI Testing,
and Automated

UI Testing
.



PACE

ITS.









Mar 2009 Jul 2010

.Net Developers Team Member / Scrum Master

(
Up to 15 Engineers,
Up to 5

Developers

in a team
)


R&
D Department of PACE Engineers,
a leading
average size
engineering company in Brisbane.

As
the technical team lead

I mainly w
orked on three projects: SigmaPlant: an ASP.Net based data
integration system. SigmaBI: a web based business intelligence solution. SigmaFusion: a distributed
Linux based (Erlang) historian, with high availability and high tolerance.

Using scrum methodolog
y
and Microsoft lifecycle products, I was responsible for ensuring the quality and pace of project
s
.

Responsibilities and
Skills Involved:


o

I was responsible for facilitating project progress and removing impediments,
communicate with stakeholders as a SCR
UM Master.

o

As a member of development team I used C#, .Net Framework
3
.0, ASP.Net,

Linq2Sql

and

WCF to develop software.

o

I also was responsible to
develop
a SharePoint 2007

application.

I was responsible to
manage
SQL Server 2008/2005

databases
, and
data i
ntegration
projects
SS
I
S projects

and reports using SSRS
.

o

As part of the development team I was responsible for assuring the quality of software
using Coded UI Testing.

o

I was responsible to architect a solution to communicate with OSI PI database and
manag
e massive (hundreds of gigabytes) amounts of data as an online high availability
fault tolerant system using
Unix / Linux
, E
rlang / Mnesia
, and
Po
stgreSQL

technologies.



Energy Edge









Aug 2007 Mar 2009

Developer

(
2
-
3
Developers)

Energy Edge ltd is
an
IT Consultant for Gov. Sector
.
As Lead Developer (Microsoft C# .Net). We were
a small team working on a .Net based Invoicing System for Queensland Water Commissions (QWC).

Responsibilities and
Skills Involved:

o

As a member of development team I used C#,
.Net Framework 2.0, and WinForms to
develop software using SQL Server 2005 database systems and TDD methodology.


Taliya











June 2005
-

Feb 2007

Lead Developer
(
More than 500 engineers, I was leading a team of 4
-
6
)

Taliya is a

huge
telecom operato
r in
Middle East
.
Our major project was a web based data mining,
reporting, and data integration system that would interface major telecom software providers like
Siemens
,
Ericsson
, and
Alcatle
.

Responsibilities and
Skills Involved:

o

I was responsible
to l
ead a team of 4
-
6 developers. Align higher management
expectations with the team capabilities to develop software for use of engineering team.


R
ESUME OF

N
AIEM

Y
EGANEH




o

I was responsible to use
C#,
Delphi,
.Net Framework
1
.0, WinForms
, ASP
.Net, ADO.Net

technologies along with
SQL S
erver 2005

o

I was responsible to architect and develop data integration solutions to integrate data
from ORACLE 9, Siemense SPOTS, TQL, Siemens & Alacatel BSS providers.

o

The methodology used for software design was UML/RUP



Parsportfolio









Jan

2004
-

Jun 2005

.Net
Developer

(
Up to 15
Developers)

Parsportfolio is a

big stock

exchange broker in
Middle East
. Worked as

Software Engineer (.Net). We
were producing windows based and web based stock market

and

portfolio tools.

Responsibilities and
Skills Invo
lved:

o

I was responsible to develop and test stock exchange management software using
C#,
Delphi, .Net Framework 1
.0, WinForms

o

Data layer of the project was using ASP.Net, ADO.Net, and
SQL Server 2005
.



Previous Experience








2000


Jan
2004

Junior Sof
tware Engineer / Delphi Developer / .Net Developer



I started my career as a Delphi
Developer

in Maad Afrooz Co. Ltd. and continued my path in four
years with different roles as junior software engineer and .Net developer and web designer in
Alamaseh Saba
n Co., and Nicala R&D department.



ADDITIONAL WORK



University of Queensland







2007
-
Cu
r
rent

Computer Science Researcher
-

Part Time

As a researcher, I have developed several published Data
Quality tools with
.
Net and SQL
Server,

and managed a Jooml
a portal and a productio
n PHP/MySQL citation management
system.


OPEN SOURCE PROJECTS



Auto Mid
-
tier Cach
e




http://c
ode.google.com/auto
-
mid
-
tier
-
cache

A mid
-
tier cache is a cache that stays between database server and the application server. Auto
mid
-
tier
-
cache is
a project that sits on top of data

provider (e.g. Entity Framework
) to automatically
and smartly cache queries and translates

queries to be answered from cache when appropriate.
Auto
-
mid
-
tier cache works based on a cost model and popularity of qu
eries. Upper bounds of
storage, memory, etc. can be defined by user.



Simple Authorization Framework



http://c
ode.google.com/saf
-
framework

.Net framework data components do not support access based security. There are other
frameworks that can be used for
this purpose, yet SAF exploits an easy to use simple but powerful
interface to implement access based security with extra benefits for users of MVVM pattern.



Visit my blog “
ww
w
.
qualityofdata.com” for other open source projects

by me
.



REFREES



Alan Merolla

IT Manager
, PACE Engineers

Email:
amerolla@live.com



Dr. Ehsan Norouz

Colleague UQ ITEE

Email:
ehsan@itee.uq.edu.au



OTHER INFORMATION


R
ESUME OF

N
AIEM

Y
EGANEH





You can find even more information

about me by visiting my blog at
http://www.qualityofdata.com

or
u
se Google Scholar or DBLP to research my publications
and academic interests by searching my name “
Naiem Yeganeh
” or “
Naiem
Khodabandehloo Yegane
h
”.



R
ESUME OF

N
AIEM

Y
EGANEH
















Naiem Yeganeh
Skills Brief

Database



PhD in Database field.



Microsoft Certified Technology Specialist: Database Development



Microsoft Certified Technology Specialist: Implementation and Maintenance



Certified Scrum Master



Connected to hig
h
-
level communities. Member of ARK Group, DQAsiaPacific, and UQ Data
and Knowledge Engineering.



Participation in the world's leading database events. VLDB, SIGMOD, etc.



Connected to some of the world's database science and technology leads. People from
Mic
rosoft, AT&T, Wikipedia, US Navy



Database Management Systems (DBMS)

o

Expert in MS SQL Server
Denali
-
2008
-
2005
-
2000

o

Experience in other technologies:


ORACLE, MySQL, PostgreSQL

o

Non
-
relational databases: Mnesia, OSI Soft PI

o

I have developed my own DB in PACE
ITS (with the help of team):

A Linux based distributed historian. PACE ITS sells it for $100k per license

APPENDIX A


R
ESUME OF

N
AIEM

Y
EGANEH






Data Integration

o

I have participated in and developed several data integration projects. Following
projects are tightly coupled with data integration
:



Taliya's data integration system to integrate data from different telecom
vendors



PACE ITS's SigmaPlant to integrate data from different vendors, industries,
and levels within the same industry



PACE ITS's SigmaBI to integrate data from MS Project, Dovico
, and
QuickBooks



Data Quality

o

My PhD thesis is titled
: Data Quality Aware Query
Systems

o

Consulting Queensland Water Commissions (QWC) for their huge multi
-
million dollar
data (quality) project (as part of a team form UQ).

o

Presenting Data Quality tutorials
at DQ Asia Pacific Conference and WWW
Conference

DQ Asia Pacific is a data quality hub for industry

High
-
level conference: registration above $1000

Other tutorials were conducted with the world's leading names in data quality like
Thomas Redman.

o

Conductin
g an
extensive

study of data quality tools and environments:



IBM WebSphere Federation Server



IBM WebSphere Quality Stage



Trillium Software's TS Quality. Enterprise Services, TS Discovery, TS Insight



Trillium Software's Business Data Parser, Customer Key Ma
nager,
International Postal Geocoding



Intech Solutions IQ Office Enterprise, IQ Matcher, IQ Standardizer, IQ Rapid
Address



Others like Arizkn iVigilant, Arizkon Name Parser, etc.

o

Managing Data Quality of Engineering and CRM Databases for 2 years at Taliya
was a
part of my role:

Using .Net, SQL Server, and Talend Data Integration System

Also published a case study for Data Quality at telecom at ICEIS 2008 Barcelona,
Spain

o

Design and Development of DQAQS (Data Quality Aware Quality Studio) using .Net
3.5 and
MS SQL Server 2008. (Published in VLDB 2010


one of the top 3 database
conferences in the world)

DQAQS is a Service Oriented Architecture (SOA) based system with both web and
windows interfaces.

It includes the following services and parts:



User Interfac
e: A thin windows based and web based client specially
designed to graphically capture user preferences on data quality. (Presented
in Business Information Systems, Germany, 2010)


R
ESUME OF

N
AIEM

Y
EGANEH






Query Engine Service: Optimize, and process Data Quality Aware Queries
-

Que
ries enriched with DQ metadata and user preferences on Data Quality
-
,
and rank data sources. (Presented in APWeb, China 2009)



Data Profiling Service: Profile the quality of data sources. E.g. completeness,
consistency, and timeliness.

o

Development of tools

for:



Data Cleansing using conditional function dependency (A new advanced
consistency measure, still not supported by any commercial tool)



Non
-
Supervised Learning Record Matching.




Data Mining

o

Please refer to Data Quality Section

o

Developed tools for Asso
ciated Rule Mining:

FP
-
Growth, H
-
Mine and Apriori Implementation

Development



Microsoft Certified Technology Specialist: Web Development with .Net Framework 4.0



Microsoft Certified Technology Specialist: Windows Development with .Net Framework 4.0



More than

8 years of official developing experience



Started programming from childhood (I made a complete computer game at 14)



Industrial experience in Finance, Telecom, Engineering (Mining, Power Plant), health, and
police sectors.



Microsoft .Net Framework

o

C# is m
y main language. More than 7 years of experience

o

F# I recently started using F# in SigmaBI project (1 year). Based on my prior
experience in functional programming in Erlang I found it very interesting and
useful.



.Net Web Development Framework

o

I have one
year of experience with Silverlight development at Pharmacy Guild. We
developed a heavily used web site with Silverlight. More than 4000 pharmacies use
this system on a daily basis.

o

I have more than 7 years of web development, more than 6 years with ASP a
nd
more than 5 years with ASP.Net and following technologies:

DHTML, XML, XSL, JavaScript, AJAX

o

I have developed following web applications



Stock Market Online Broker in Parsportfolio: A broker system for the use of
share traders.


R
ESUME OF

N
AIEM

Y
EGANEH






Taliya NOMS: A monitoring

tool for network optimization department


people who constantly monitors all aspects of the core and radio network.



SigmaPlant (SP): is a high level BMS initially designed for power plants. We
designed SP to work tightly with time
-
series data as well as
relational data.



SigmaBI: An application designed for high level management monitoring and
reporting of projects revenue and expenses as well as an automated
invoicing system for service and consulting projects.



.Net Windows Development Framework

o

I have m
ore than 7 years of Windows development experience:

WinForms, Windows Services, WCF, WPF, Silverlight

o

I have developed following Windows applications:



QWC Invoicing System: An application to manage contracts and settlements
with dams and grids read the met
er data and let experts fix the problems
with the readings, and generate invoices to send to the already existing
invoicing system.



Taliya NOMS Client: A set of standalone tools for telecom engineers to
manage their base and core subsystem's parameter data
bases



Stock and Portfolio Standalone System in Parsportfolio: A rich graphical
windows application for technical, and fundamental analysis of stock market
prices as well as rich set of tools for portfolio management



SharePoint Development

o

I have 2 years
of

experience with MS SharePoint development. I have developed
several WebParts for SharePoint solutions.



Development of a Business Management System for Tarong North power
plant and mine, and also T
aro
ng Energy power plant.



Maintenance of company’s SharePoi
nt intranet.



Microsoft Dynamics

o

I have experience with Microsoft Dynamics AX, NAV and CRM systems. In Zap
technology I was part of the development team for Cube Express. A tool that would
automatically create SSAS cubes from different versions of Microsoft

Dynamics
databases. I developed underlying knowledge of dynamics systems, their
programming interfaces and database models.



Other Development Frameworks

o

I have experience with non
-
Microsoft development frameworks:

Borland Delphi (4 years), Perl, PHP, C++

o

Delphi Projects:



Ghods’s City Council Billing Automation



Kindergarten’s Automation System


R
ESUME OF

N
AIEM

Y
EGANEH






Billiard and Snooker Automation System



MAKBAK Educational Game

o

Linux/Unix/Solaris development



Taliya: Solaris based IN (Intelligent Network) development using Intel

SIU
interfaces with C++. IN is a system that manages pre
-
paid customer
balances.



PACE ITS: SigmaFusion a distributed fault tolerant historian database for
SCADA systems / OPC interface using Erlang under Linux

Software Engineering




UML/RUP Methodology

o

Par
sportfolio stock management system and thick client was totally designed using
UML/RUP. Rational Rose was used for UML

o

Version 1 of the Taliya's NOMS was designed using UML/RUP methodology



Agile Methodology

o

I have worked as a developer team lead and scrum
master in critical projects. In
PACE Its we developed a brand new technology, while in Pharmacy Guild we
migrated a family of production applications to a newly designed system in different
phases with sensitive and critical change management .

o

XP: Taliya
NOMS was developed using XP methodology

o

SCRUM: Pharmacy Guild, SigmaPlant, SigmaBI and SigmaFusion were developed
using Agile, SCRUM methodology

o

Test Driven Development: QWC Invoicing System was developed using test based
methodology

Management



Team Lead

o

I have managed small dynamic teams of 3 to 7. I am a motivation, analytical,
and goal oriented manager. I believe tough decisions are made only with full
understanding of the impact of the decision on stakeholders and developers.
I believe it is important
to know every individual as people get motivated
slightly different from each other. Recognition of achievement is usually the
most and cheapest motivating factor and keeping up the morality of the
team is the key for consistency and productivity of the te
am.

o

I have been in Lead position in Taliya and Pace Engineers. Companies.


R
ESUME OF

N
AIEM

Y
EGANEH






Scrum Master

o

I am a certified Scrum Master
,
I have
been involved with successful implementations
of

scrum in organisations (PACE and Pharmacy Guild). I helped the developer team
to u
nderstand the benefits of scrum and worked with them (as a developer team
member) to help them master
self
-
management
.



R
ESUME OF

N
AIEM

Y
EGANEH
















Naiem Yeganeh
Projects Detail



Fig. 1


Zap Cube Express Architecture

Zap Technology


Zap BI and Cube Express

Projec
t Description:

Zap BI is a leading reporting and dashboard system based on ASP.Net which
reports over SSAS cubes. Cube Express is a productivity tool that creates analysis cubes from
Microsoft Dynamics NAV, CRM, and AX sources.

Technical Specifications:

Z
ap BI uses MDX
queries

and Sql Server Xmla to connect to SSAS and
provides dashboards and reports using ASP.Net clients. Cube Express is a WinForms application that
connects to AX, Nav and CRM
sources

generates
a staging database on Sql Server. It then
mig
rates
the staging database to a SSAS cube.

APPENDIX B


R
ESUME OF

N
AIEM

Y
EGANEH




My Role and Interactions:

I was
a senior developer at Cube Express team, responsible for new
features, namely multi
-
source functionality and memory and performance optimization of the
system. I also introduced cer
tain refactoring to the project in
favour

of easier unit testing and better
code coverage.

Pharmacy Guild


Deintegro and ProjectSTOP


Project Description:

Deintegro is the code for refurbishing a bunch of existing applications for
Pharmacy Guild of Austra
lia (PG). PG’s legacy applications were developed in the course of 6 years
using ASP.Net, VB, and SQL Server, and they were facing numerous performance and reliability
problems. PG’s legacy application included membership, CRM, a document management app fo
r
pharmacies and two more pharmacy specialized apps. The Deintegro project was designed with a
migration path to migrate existing production apps one by one while going into production at each
step and ensuring that new apps fully integrate with legacy sys
tems.

Technical Specifications:

Deintegro solution is based on SQL Server 2008 R2. We used Entity
Framework 4.0 for ORM, IIS 7 as server, WCF & WCF RIA Services. Client side is Silverlight 4.0. Fully
MVVM
also using

inversion of control
by

AutoFac

library
.

We also used some third party SDK or dev
framework such as Component One controls or TopShelf windows service dev framework.


Fig. 2

Sigma Plant / Sigma BI / Sigma Fusion Architecture



SigmaPlant

Project Description:

Sigma Plant (SP) is a high level BMS

initially designed for power plants. We
designed SP to work tightly with time
-
series data as well as relational data. SP
is an ASP.Net web
application that also has a
SharePoint

version and

integrates data from various sources,

including
time
-
series data

from historians like PI, or our own historian so called SigmaFusion. We designed a
high quality extensible core for SP which other add
-
ons can be installed on it, as modules or plug
-
ins.
Adaptors to other data sources are plug
-
ins written as DLLs based on

SQL Server CLR. Currently we

R
ESUME OF

N
AIEM

Y
EGANEH




made adapters to some major sources (e.g. PI, ECLIPS, …). Figure 1 illustrates the architecture of SP.

SP is a world
-
class application, priced near a million dollars for the whole suit.

Technical Specifications:

SP is an AS
P.Net application designed and developed within .Net
Framework 3.5, using MS SQL Server 20
08 as Database, LINQ to SQL, and DHTML, AJAX. Developed
using

SCRUM

Agile methodology.

SharePoint version consists of most of the modules as custom
WebParts.

Referrin
g to Figure 1, SP architecture is the core system that provides the infrastructure for
additional modules (like Sigma BI) to interact and report over a wide range of data. Sigma plant
includes following subsystems:

-

Modules (refer to Sigma BI):

are tools
written using SP SDK and configured to run within the SP
framework.

-

Service Manager (SM):

which is a windows service that manages all registered SP services.


-
Replication Service (RS): replicates selected parts of external data sources to another data
source written in C# for as a windows service. It communicates through SP adapters.


-
Notification Service (NS): a win service written in C# that monitors configured events and
send respective notifications to users by email, sms, etc. or sends
scheduled r
eports
.


-
Escalation Service (ES): a win service written in C# that monitors events and acts base on
rules.

-

SP Adapters:

are plug
-
ins (mixed WCF, Web Services, and SQL CLR) that facilitates communication
to an external data source. It is basically a .Net

dll as standalone or as a SQL Server CLR class plus a
stored procedure.

-

Reporting Engine (RE):

Is a comprehensive reporting engine written in C# that interprets
programmed XML reports and executes them (using calculation engine) and returns reports in
v
arious formats e.g. ASP .Net forms, PDF, etc. RE has a set of powerful features for easy generation
of complex reports (e.g. power plant KPIs) over time
-
series data that come from completely different
sources and mingled together in a report.

-

Calculation

Engine (CE):

Is a powerful calculation engine for time
-
series data based on C# which
compiles user defined formulas and functions (in the report’s XML file) in runtime for maximum
performance.

All sections of SigmaPlant
are
developed with parallel algorit
hms and uses all cores for ultimate
performance.

My Role and Interactions:

I was an architect, lead developer, and software engineer in this project
(a team of 5). BA work for this project had been partly documented in the context of an unsuccessful
previo
us project. I had to contact former BAs for some clarification and extended analysis was
conducted based on existing documentations and meeting with executives in the client power plant.
I was in constant contact with BAs, developers, and project manager
to ensure technical consistency.
In addition to managing the communication between BAs and the development team, and
architecting the solution, I was also contributing in the development pretty heavily (For example:
Reporting Engine %80 and Calculation Eng
ine 100% was my work).



R
ESUME OF

N
AIEM

Y
EGANEH





Fig.
3

Sigma Fusion Cluster Architecture

SigmaFusion

Project Description:

Sigma

Fusion (SF) is a historian + real
-
time data stream

database system
particularly architected for fault tolerance and scalability. Historian is not rela
tional database, it
mainly stores time
-
series data and
its

core functionality and efficiency considerations differ from
RDBMS, thus; it is never a good idea to use an RDBMS like SQL Server or ORACLE as historian.
Existing popular historians in the market (
like OSI Soft PI) also suffer from old architecture and lack
of enough reliability.

In addition to historian stream nature of sensor network data which is a requirement for real time
online monitoring of KPIs.
These facts led me to see the gap in the marke
t and architect this
distributed, fault tolerant and scalable historian.

SF is a clustered historian
+ real
-
time data stream

database. Clusters can be set up for two purposes:
fault tolerance and scalability. Replicated clusters help fault tolerance and pa
rtitioned clusters help
scalability. Configuring clusters (both replicated and partitioned) in SF is not too complicated. Real
-
time Data Interfaces (DIs) are fast real
-
time OPC interfaces that collect data from physical network,
compress it cache it and de
liver it to historian.

SF is fault tolerant, e.g. if a power plant has two networks and a cluster of four SF machines and
three DIs, it can tolerate a completely failed network, three failed SF servers and two failed DIs and
there will be still no interrup
tion is the historian’s operation. (See Figure 2).


Technical Specifications:

SF is developed in
Er
l
a
ng, a functional language; it is compiled and tested
on Solaris and Linux operating systems. It uses a combination of Mnesia and PostgreSQL, and
TokioCabi
net to provide a distributed efficient time
-
series database. Its main duties are to store,
aggregate, and calculate user definable formulas for data tags (tags are representatives for data
generating nodes in real world). Amount of data that should be mana
ged is huge and can easily get
to several terra bytes each year. SF connects to SP and DIs directly through TCP/IP.

Real
-
time Data Interfaces (DIs):

are developed in .Net as windows services using
F#

language. DIs
communicate with the SCADA network throug
h OPC interface and collect tags measurements. They
keep a collection of tags in memory, and compresses time series, then writes them to historian.
They also provide a WCF based interface for SigmaPlant.

My Role and Interactions:

I
was an architect, lead
developer, and software engineer in this project. I
proposed the idea of developing a historian to management and they could rapidly market it to
existing clients. Design, documentation, and development were started from scratch. I developed
the initial mo
del, test plans, and development roadmaps in iterations. We did not intend to copy an

R
ESUME OF

N
AIEM

Y
EGANEH




existing product hence we came up with many creative ideas. I also did lots of F# and Erlang
programming for this application.


Sigma BI

Project Description:

Sigma BI (SB
I) is a SharePoint solution

for high
-
level management monitoring
and reporting of projects revenue and expenses as well as an automated invoicing system for service
and consulting projects. It integrates with MS Project Server, Dovico time sheeting and exp
enses
system, and also Quick Books. It uses manual and automatic methods for matching objects between
systems.

Technical Specifications:

Sigma BI is written in C#
as SharePoint WebParts
and it uses Windows
Workflow Foundation. It uses MS SQL Server 2008 as

local database and interacts with MS Project
and Dovico using Web Services. It interacts with QBooks using QOLEDB. Project KPIs are calculated
using a Windows Service and stored in time
-
series tags to be reported and viewed in AJAX ASP.Net
forms using SP
SDK.

My Role and Interactions:

I
was an architect, lead developer, and software engineer in this project.
BA work was conducted using management point of views, existing excel sheets, and management
books. I also contributed in the development of SBI. Due
to the large number of repetitive tasks for
generating data entry modules in this project, I made a .Net tool that creates respective data entry
ASP.Net page templates for data entities with minimum amount of work. For example if an expense
entry form is c
onnected to the expenses data entity (or table), a wizard asking some questions
creates an ASP.Net page with all the necessary controls, popups, drop downs (for foreign keys) and
grids. Developer should then fine tune the code and add Business Rules and Wo
rkflow interactions
to the page.


QWC Invoicing System

P
roject Description:

New state regulations took a new gov. department in the water grid
management into place that was supposed to buy water from dams and sell it to the grid. This
emerged the need of

software apps for the new born organization, which in Energy Edge we were
making a part of it. QWC invoicing system was supposed to manage contracts and settlements with
dams and grids read the meter data and let experts fix the problems with the readings
, and generate
invoices to send to the already existing invoicing system.

Technical Specifications:

We made this app with C# .Net and MS SQL 2005. It included a Winform
app as thick clients and a server. We integrated .Net remoting completely into the solu
tion so that
events on any single object with any user would reflect to other systems in real time.

My Role and Interactions:

We were a small team of 3 and I was the lead developer, as a small team
all BA work was done with developers. It was a good examp
le of successful test based development.
We had the luxury of working in the same office space of the business people (including officials in

R
ESUME OF

N
AIEM

Y
EGANEH




charge and testers) so BA work was easy and fast. As the lead developer I was in charge of managing
BA docs and di
scussing the issues with the business people and get the signatures.


Taliya NOMS

Project Description:

Taliya is a big mobile network provider in the Middle East (like Telstra or
Vodafone). Network optimization department constantly monitors all aspects of

the core and radio
network and takes actions to improve the quality of service. This task involves generating a lot of
reports as detailed as number of traffic channel drops and as overall as monthly performance
reports. Different parts of the network wer
e based on different vendor devices and softwares like
Siemens, Alcatel, and Ericsson, and as usual, there was no common protocol for data delivery.
Taliya’s Network Optimization Management System (NOMS) was the layer on top of all other vendor
softwares,
and lets telecom engineers and managers generate their reports or schedule them for
automated daily or monthly monitoring. The alternative solution did not exist in the market and the
closest one would cost a couple of million dollars.

Technical Specificat
ions:

The first prototype of NOMS was developed with Delphi and MS Access,
but the final solution consisted of an ASP.Net web server with MS SQL Server 2000, a thick Winforms
client, and a Perl Solaris server (over TCP/IP), plus a gc++ command
-
line tool. T
he variety in
technologies was because different vendors were using different systems and we had to integrate
them all. E.g. Siemens was using ORACLE + Corba, and Alcatel was using a specific database called
TQL.

My Role and Interactions:

My duty was the l
ead developer and the lead software engineer. I would
communicate with engineers from different department, people from different vendors, and
engineering team managers to set up the development environment and architecture for the team.
Initial BA docs we
re developed based on the vendor manuals and existing telecom manuals and
training materials (UML/RUP model). Once the Delphi tool was in production phase, further work in
.Net was conducted using XP methodology.


Some Older Projects

Stock Exchange and Por
tfolio Client
:

In Parsportfolio we developed a stock
exchange tool called Rahavard Novin which became a top seller in the region. It was a .Net
standalone app with automatic update features and powerful graphic tools for technical and
fundamental analysis
of stocks with an extended portfolio management tool. I was a software
engineer (UML/RUP) and developer in this project.

Ghods’s City Council Billing Automation
:

In an independent project with some
university colleagues, we won a city council’s tender for
the billing automation system. I was the
Architect, BA and developer for this project. We developed this project using Delphi and ORACLE 8.0.


R
ESUME OF

N
AIEM

Y
EGANEH




Kindergarten’s Automation System
:

A standalone application I wrote with Delphi
and MS Access for attendance, enro
lment and accounting of kindergartens and primary schools. I
sold more than 100 local copies. I have heard that many of them still use this application today.

Billiard and Snooker Automation System
:

We developed an application for
Billiard and Snooker club
s to manage their tables and income with the goal of minimizing human
intervention and stoping cashiers from stilling which was a dilemma for small club owners. The
cashier PC was connected to the lights above the snooker and billiard tables and customers
could
use their prepaid cards or a cashier could turn on the light for them. I wrote the application in
Delphi 3 and other team members made the hardware portions.

MAKBAK Educational Game for PC
:

I developed this game with a small team
using Delphi 3 unde
r Windows XP while other team members where computer graphics and
animation experts. I also used OpenGL library in this project. MAKBAK was an interactive game
designed to teach computer and windows operation to children under 7 years old. We sold more
tha
n 1000 local copies before it found
its

way to the illegal market.