|
An
Insider's Views - Oracle, Java & Career
What
is it like to spend your life in software engineering? No one can
provide you a better idea of what is involved than those are doing the
job on a daily basis.
Ini Ukporo works as a Senior Software Engineer with a consulting
firm in the US. Ini has been in this field for over 11 years.
This interview was conducted to find out his views on software engineering
as it relates to careers and competence in technologies such as Oracle
and Java. He brings to this interview his wealth of experience from
the various computing environments in which he has worked. His answers
provide valuable insight for anyone considering a career in these areas.
What's your job title? And how long have you been doing this job? How
would you describe yourself?
I'm currently a Senior Software Engineer. I've been at this position
since August 2002. Over the past 7 years, I've had the opportunity to
work with Oracle, Microsoft and Java technologies, both with the
database and development tools.
What are your overall responsibilities, day-to-day responsibilities?
My responsibilities vary, depending on the project I'm on. I work for a
consulting company. So they basically get clients and assign me to
projects. Mostly, I offer and implement solutions. These solutions may
range from scooping a project, requirements gathering, design, data
modeling, development, training, etc. Types of Projects may vary from
data warehouse, applications design/development, database tuning, web
development, training, etc.
Can you be correctly described as a Software Engineering Specialist
with significant Oracle / Java expertise?
In my job, I've had to work with different technologies like Oracle,
Microsoft and Java. Also, depending on my role on the project, I could
be either mainly building stored packages and procedures (Oracle &
SQL Server), building front end tools (ASP, JSP, Oracle Developer,
Discoverer, etc), building ETL and data transformation objects (Oracle
Warehouse Builder, Data Guard, etc) or building middle tier objects
using Oracle, Microsoft or Java technologies. In a nutshell, I play
different roles on different projects.
Can you give a summary of any recent project?
In a nutshell, my present project involves implementing a data warehouse
system for
loading energy related data from different source systems. The
fundamental premise of this project is to have a company wide enterprise
risk management data warehouse system that provides tremendous value in
having the ability to quickly react to constant changes in the energy
business. Project involves using Oracle Warehouse Builder and Oracle9i
to integrate massive amount of daily data provided by the market place
via several sources and decimating the information across seemingly
disparate commercial activities. Involves integration and staging of
power, gas and coal deals/positions, applying business calculations,
verifying the data before publishing for company wide access/viewing. My
roles specifically include design and modeling a data warehouse system
with help of proven DW Methodologies including Kimball and Inmon and
support principles and issues. Data modeling: normalization,
de-normalization, physical database design, relational models, star
schemas, snowflake schemas, etc. Rightly identifying TYPE-1 and TYPE-2
dimensions and implement technique for loading them in data warehouse.
Correctly identifying the conformity of dimensions across the Global
Data warehouse. Making right use of oracle materialized views, hash
joins and bitmap index to fasten the ETL process.
What systems, technology do you work with?
My
present project involves using my technical skills and knowledge of
Oracle9i, Oracle Warehouse Builder 9.2, Oracle OMB+, and Microsoft ASP
to design and implement a data warehouse system for an energy company.
What technical skills, certifications, languages, tools, databases,
Operating systems are required?
Technical skills required include deep knowledge of Oracle9i, Oracle
Warehouse Builder, data warehouse design and implementation, PL/SQL, and
Microsoft ASP amongst others. Certifications in Oracle, Microsoft and
Java are bonuses. Knowledge of Unix and Windows are sufficient.
Aside from technical skills, what other important attributes, do you
need for the job?
Very articulate communication, peoples, writing and presentation skills.
How do people like you contribute to the corporate mission?
People like me contribute by ensuring that projects are implemented to a
very high degree of success. The degree of success is measured by the
quality of the service and staying within the budget. All of these
factors not only satisfy the parties involved, but more importantly,
meet their bottom line.
How long have you been working in IT and how did you get started?
I have been working in IT for approximately 11 years now. I started
right after I finished my youth service in 1992 with the company called
Tara System in Lagos, Nigeria as an analyst.
What do you find unique about Oracle vis-à-vis other technologies?
Even though I'm not strictly an Oracle database professional, I find
having the challenge of architecting solutions for very large
corporations/databases very fulfilling by using the different
methodologies and tools provided by the Oracle database. There is an
immense sense of accomplishment when you know that you have added value
to a process by seeing an upsurge in quality and production due to your
service.
Oracle's strength has always been the robustness of its database. Oracle
implements data security and manipulation very well. The newer features
they constantly add allow us to leverage high volume transactions very
well, especially in data warehouse scenarios. The concept of cubes,
hierarchies, data marts and business objects are very essential business
tuning and report generation.
What specifically do you on Java and how often?
What I do with Java all depends on my role on a project. May vary from
building middle tier objects to creating database access layer parts or
resultsets.
Can you give a summary of any recent Java project?
The last project I used Java early 2002 on a project for a large
insurance company. The insurance company had a proprietary system
supplied by a vendor. They were however allowed to make changes to the
propriety system in terms of design changes. However, due to the large
request for new features the company made to the vendor, each time the
vendor released a new version, some of the tables and objects in general
changed significantly in some cases. Hence it became a nightmare for the
client to upgrade their system, because it will fail with all the
changes they made. So, I designed a metadata application where they
would map their production tables to the proprietary application. So I
wrote Java stored procedures that will read the metadata and load data.
As long as the metadata that defines the mappings between the vendor's
proprietary system and the client production are maintained, the data
loads accurately.
What do you find unique about Java vis-à-vis other technologies?
Certain functionalities are implemented better than in some other
technologies. Specifically, "garbage collection", memory
leakage, inheritance of objects, etc are handled better. However, it's
important to note that other technologies are catching up and
incorporating Java concepts in their later versions. Typical example is
Microsoft.Net framework, which basically copies what Java already does.
What do you like most about this job? What do you find interesting
about your job?
What I like most about my present project and job is that it affords me
the opportunity to increase my knowledge. I get to work on different
technologies (Oracle, Microsoft, Java), languages (Java, PL/SQL), and
different sectors (finance, energy, insurance, judiciary, internet).
Hence, I hone my skills by understanding different businesses and
technologies. I don't only add value to the clients and my company, but
also add value to myself my increasing my knowledge as well in the
process. So, it's a "win-win" situation. I must confess though
that a few projects have not been very challenging.
What do you like least about this job? What's the least interesting
aspect of your job?
When I dislike most is being embroiled in the bureaucracy of certain
companies that function as ministries. Having to wait for
hours/days/weeks to get approval to implement something that took a
short time to develop drives me nuts.
What hours do you normally work? Do you consider your job to be
stressful? If you work evenings & weekend do you get paid for it?
My regular work hours is Monday - Friday, 8am - 5pm. On the most part so
far, I'll say my work has been very rarely stressful. However,
sometimes, some projects get very frantic due to clients unexpected
demands, and honestly sometimes due to inappropriate project planning.
Yes, I get paid for overtime if I have to work anything beyond 40
hours/week.
Do you work with other people or alone?
Most of the time, I work with other people in a team, but sometimes,
depending on the project or phase of the project, I may work alone.
What do you consider the most challenging part of your job?
Having to learn new business concepts and translate the concepts to
highly functional applications.
If you could change one thing about your job what will it be?
Give myself a 300% wage raise and reduce my tax by at least 60%
(laughs). I will probably want to create more of generic innovative
applications instead of customized solutions. I do understand that this
entails a lot of resource for research and development, but the end
product will definitely be worth the time and pay for the return on
investment.
Can you see yourself staying in the IT industry? Or would you like to
try something different?
I'm very certain I'll stay in the IT industry, but will move more
towards management.
What is the Career path leading to this profession? Advice to others
IT professionals interested in Oracle/Java technology.
Well for me, I think one has to have flair to succeed in any field. It
helps to have a degree in engineering/science but it's not limited to
those. To be a professional in any technology or discipline involves a
concerted effort. Requires lots of reading, being current and having the
knack to acquire the knowledge. Certifications help but make sure you
walk the walk not just talk the talk, because almost anybody can read
and get certified these days.
Be ready to work hard, learn the theory and nuances and find ways to
practice what you read. Experience they say "is the best
teacher".
What in your view is the relevance of certification in Java or
Oracle, for experienced pros or newcomers?
Certification is an added incentive. With the tight job market now,
experience counts more than certification. This is because most managers
have come to the realization that passing certification is not a good
substitute for experience.
What advice will you give somebody who's starting out in IT?
My advice is to be very practical. That is, most importantly, be able to
"walk the walk" besides just "talking the talk". As
I said, anybody can read and get certified these days, but can you
perform when "push comes to shove"? They say practice makes
perfect, so working in any environment where you can hone your skills is
my best candidate for experience. Equally very important I believe is to
understand the concepts, because irrespective of the technology, once
you understand the concepts, you can very easily apply it to other
relevant areas, which helps in reducing the learning curve.
For
More Career Tips, Views And Advice, head straight to the IT
Career Resource Center:
http://www.jidaw.com/certarticles/careercert.html
Wisdom in the Hands of the Oracle
http://www.jidaw.com/itsolutions/oracle.html
The World of Java
http://www.jidaw.com/certarticles/java.html
Page Top
|
For
More Career Tips, Views And Advice, head straight to the I
T
Career Resource Center:
Wisdom
in the Hands of the Oracle
The
World of Java
|