Drazen Beatovic
abl2x8@r.postjobfree.com
Ottawa, Ontario
K1S 3P1
OO / methodology : Agile programming Scrum/TDD
Design Patterns Use Cases
Rational Unified Process Rational Rose
OO Mentoring Booch/UML
Application Enterprise level web Distributed multi tier
development: application development application development
Performance tuning, Design for Scalability,
testing, monitoring High Availability /
failover
Capacity planning JVM tuning
Stateless services J2EE
Service oriented Distributed multi tier
architecture (SOA) application development
Internet commerce Weblogic, Webspere,
NetDynamics, custom app.
Servers.
Languages/ GUIs: Java Xlib and Xt/Motif
C/C++ Windows SDK and MFC
Objective C, OpenStep Some Swing, Java2D
2
Operating Systems: Unix (various flavors) Windows
OpenStep
Other: ObjectStore (OO SQL, Erwin
database)
Image processing Client - Server
applications
SQL Query optimization Hibernate
Scientific visualization Numerical linear algebra
2008.11- Application Architect, RCMP
2010.08 Development of the road map for application stabilization
Leading a group of architects in the effort to define technical
architectures, frameworks and strategies for future development.
Assessment of overall architecture, design and implementation of the
flagship product of the branch of Canadian government.
Development of highly distributed web application. Major responsibilities
include performance tuning and scalability of the application.
Instrumental in ensuring that application scalability will be sufficient
for increased load. Facilitated 5 fold increase in the application
throughput.
Defining architecture for application high availability and fail-over.
(i.e. stateless services (SOA), session handling, etc.
defining application deployment layout to facilitate better response time
during peak loads.
defining and performing portion of high availability testing
Reviewed of multiple aspects of software system and data requirements,
including reviews and assessments of architecture, design and
implementation.
Analyzed and evaluated alternative technology solutions to meet business
problems.
Ensured the integration of all aspects of technology solutions, with
scalability of the solution in mind.
Monitored industry trends to ensure that solutions fit with government
and industry directions for q given technology (SOA, GWT).
Provided information, direction and support for emerging technologies.
Reviewed application and technical infrastructure design to ensure
adherence to standards and to recommended significant performance
improvements.
Provided partial security assessment of the application code base (i.e.
static code analysis, vulnerability analysis)
Assessment of the code quality and metrics using automated static
analysis tools re applications written in Java (CodePro).
Monitoring and performance tuning of highly distributed, asynchronous,
JMS based Weblogic application.
Defining and executing performance benchmarks to establish base and
minimum hardware and software configurations to fulfill capacity needs of
project.
Application performance tuning (memory utilization, CPU utilization,
memory leaks, concurrency issues).
defining strategies for application testing in performance environment.
performing application performance testing in performance environment
participating in CPA planning
defining application components to alert on potential performance
problems
analyzing, debugging and resolving critical performance problems
analyzing Heap dumps to determine memory usage problems
some of the tools used are Introscope, Vantage Analyzer, JProbe,
Quantify, Purify
2001.05 -
Application Architect/ Senior Staff Engineer, Siemens Medical Systems,
2008.09 Malvern, PA
Architecture/design/development of financial application for medical
industry.
Development of highly distributed web application. Major responsibilities
include performance and scalability of the application.
Performed impact analysis of technology changes.
Developed a strategy for the application improvement.
Provide support to applications and/or technical support teams in the
proper application of existing infrastructure.
Participation in one of the largest agile projects in the world. The
agile methodology was Scrum with heavy use of TDD. The training and
metorship included participation of the percieved leaders of the agile
movement (Beck, Fawler, Marin, ObjectMentor, Toughtworks
Functional decomposition/componentization of the application.
System architecture and high level application design.
Designing and documenting in detail all system components, their
interfaces, relationships and operational environment
Assessment of the code quality and metrics using automated static
analysis tools
Application performance tuning (memory utilization, CPU utilization,
memory leaks, concurrency issues).
defining strategies for application testing in performance lab.
performing application performance testing in performance lab and local
environment
testing performance in performance lab
defining application components to alert on potential performance
problems
analyzing, debugging and resolving critical performance problems
analyzing Heap dumps to determine memory usage problems
some of the tools used are Vantage Analyzer, JProbe, Quantify, Purify
defining and performing portion of minimum downtime upgrade testing.
Heavy Participation is Architecture Governance Board, a group of
architects that defines application architecture.
Review of multiple aspects of software system and data requirements,
including reviews and assessments of architecture, design and
implementation.
Defining and executing performance benchmarks to establish base and
minimum hardware and software configurations to fulfill capacity needs of
Soarian project.
Architectural improvements to persistence layer (JDBC, custom ORM, JDO).
Application developed using stateless services and SOA. Development using
Java/J2EE.
Designed and implemented various architectural improvement of
application.
Extensive use of design patterns.
Test driven development. Dependency injection, IOC, Junit, Jmock.
Some requirements gathering. Use case analysis. User stories.
Enterprise level data conversion from legacy systems.
XML based tool development (serialization, deserialization, data
migration)
Swing application/tool development.
Simple client server development.
Development environment includes WebSphere and Java 1.5.
Initial development environment included custom application server and
custom ORM.
Methodologies used include RUP/UML (Rational Unified Process), Agile
methodologies (Scrum), TDD (test driven development).
Tools used include: Eclipse, Rational Rose, Clearcase, Clearquest,
Fitnesse, various profiling and memory management tools
UI layer developed using XML, HTML, JSP/Servlets, Java Script, and GWT.
Recent training in SQL Server fundamentals and architecture, RUP, TDD,
Scrum, JDO, Agitar, ...
Technologies used include: Windows 2000, Windows XP, MS SQL 2000 Server,
Windows, JAVA, SQL, XML, JBuilder, Rational tools, TCP/IP
2001.02 -
Independent consultant. Assignments include:
2001.05
Application Architect/Senior Software Engineer, Medipattern Software
Inc., Toronto, Canada
Development of medical imaging application. Development of 3D
visualization software in Java.
Architected visualization part of application.
Rational Rose used as part of design and documentation process. Reverse
engineering of relevant visualization toolkit frameworks.
Designed framework for connectivity of the front end (GUI) and imaging
pipelines.
1999.05 -
Application Architect, Realwave Software Inc., Toronto, Canada
2000.12 Architecting and designing truly distributed, multi-tier and client
server applications.
Designing and documenting in detail all system components, their
interfaces, relationships and operational environment
Development of high throughput Web based application. NetDynamics
application server.
Provided partial security assessment of the application code base (i.e.
static code analysis, vulnerability analysis). Implemented a security
protocol (https) to enable secure communication between clients and the
application server.
Development of ObjectStore based back end. Application had limited use of
J2EE/ EJB/RMI/CORBA.
Architected, designed and developed persistence and business layer of
the application.
Developed data interface layer that enables transparent switch between
relational and object oriented databases.
Rational Rose used for use case generation, documentation, code
generation and reverse engineering.
Architected a layer that allows for transparent switching between
RMI/CORBA and EJB.
Worked on project dealing with consolidation of application servers for
deployment on Netdynamics.
1998.08 -
Independent consultant. Assignments include:
1999.05
Senior System Analyst, AT&T Canada LDS, Toronto, Canada
Development of various Web based multi-tier applications. NetDynamics,
Java environment.
Architected large parts of application(s).
Development of PACs (NetDynamics Platform Adapter Components). Oracle
back end.
Design of mid-tier components. Design of legacy system interface
components.
Use of RMI and TCP/IP for connectivity layer. Development of simple CORBA
wrappers.
Dealing with digital certificates and https part of web server.
Development of the code that enables secure(SSL) http tunneling from
applets to the application server.
Project Manager/Team Lead/Architect, Internet Presence Inc., Toronto,
Canada
Managed team of up to 5 people.
Development of electronic commerce application. Client-server. Java
environment. DB2 back end
Design and development of business layer.
Design of data model and entity-relationship diagrams done using Erwin.
Rational Rose used for documentation.
Development of SSL layer using RMI for communication with credit card
transaction engine.
Senior Software Engineer, Visible Genetics, Toronto, Canada
Re-architected existing DNA analysis application to facilitate transition
to distributed components.
Provided OO mentorship to the medium sized development group. Objective C
environment.
1995.05-1 Project Manager, Project Leader, Senior Software Engineer, ISG
998.08 Technologies, Toronto, Canada and Hitachi Medical Corporation, Tokyo,
Japan
. Managed multi-disciplinary development group of 25.
The budged/revenue of the project was more than 2M /year.
Group Leader for development of post processing functionality of MRI
(Magnetic Resonance Imaging) scanner, and medical imaging workstation.
Group size 5 - 25. C++/Unix/X-Motif environment.
Managed development group (4-5 developers) at remote site (Japan).
Worked closely with customer in requirements gathering and system
analysis.
. Developed part of MRI console that deals with 2D image processing.
Involved in implementation of 3D processing.
Worked on project dealing with consolidation of processing, database and
archiving servers.
Requirements gathering. Use case analysis.
Instrumental in software integration, critical problem analysis,
introduction to automated testing
Technologies used include: Windows, Solaris, C/C++, SQL, Rational tools,
TCP/IP
1994.04-1 Senior Software Engineer, MAYA Heat Transfer Technologies Ltd., Montreal,
995.04 Canada
Developed method for coupled solution of thermal fields in solid and
fluid domain.
. Developed program for control of the execution of the program suite for
coupled thermal and fluid flow analysis.
1993.04-1 Research and Development Engineer, Integrated Engineering Software,
994.04 Winnipeg, Canada.
Ported various 2D and 3D software packages to X11 and Windows NT
platforms. The programs previously used HOOPS (3D graphics) graphics
libraries.
Developed various iterative solvers for Boundary Element matrices.
. Involved in various aspects of research and development of Boundary
Element Method.
1992.11-1 Post Doctoral Researcher, Electrical Engineering Department, Worcester
993.04 Polytechnic Institute, Worcester, MA
. Developed a family of C++ classes for Delaunay mesh generation.
Involved in development of a family of C++ classes for Multipole
Accelerated Boundary elements.
. Taught a course "Fundamentals of Electrical Engineering / Linear
Circuit Theory"
. Taught a short course in C++.
. Worked as a consultant for Electromagnetic Solutions, developed various
C++ classes for Finite Element post processing.
1990.03-1 Research Assistant, Electrical Engineering Department, Worcester
991.12 Polytechnic Institute, Worcester, MA
. Developed Galerkin formulation of the Boundary Element Method for
solution of electromagnetic fields.
. Developed educational software based on Boundary Element Method.
. Ported several MS DOS based programs to X11 and GKS platforms.
1988-1990 Research Assistant, Electrical Engineering Department, University of
Sarajevo, Yugoslavia
Developed software for analysis of 2D and 3D electromagnetic fields
(Boundary Elements).
. Developed 2D automatic triangular mesh generator based on
Delaunay/Voronoi formulation.
. Developed software for computer based measurement in high voltage
and high power laboratories and performed measurements of different
phenomena in high voltage systems.
3
4
5 Education
1990-1991 Ph.D. Electrical Engineering, Worcester Polytechnic Institute, Worcester,
MA, USA
Thesis: "A Galerkin Formulation of the Boundary Element Method"
GPA 3.92/4.0
1988-1990 Doctoral Student in Electrical Engineering, University of Sarajevo,
Yugoslavia
1984-1986 M.S.Electrical Engineering, University of Sarajevo, Yugoslavia
Thesis: "The Macro Elements in Finite Element Method - Application for High
Voltage
Insulating Systems",
GPA 9.86/10.0
1979-1984 B.S.Electrical Engineering, University of Sarajevo, Yugoslavia