Software Development Tips
This week, Stephen Ibaraki, I.S.P., has an
exclusive interview with Paul Burns, a developer, and a leading
expert in SQL systems/OLAP, and .NET.
Q. Paul, can you describe your remarkable background and how you got
to the position you are currently in? Also, what are your personal
goals 1, 3, and 5 years into the future? What are your particular
A. My background goes from construction to architecture to computers
with a college degree and computer training in between. I have
fallen into being a computer programmer and am currently
concentrating on C# .net web applications. My goals for year would
be to stay focused on current area of development. My 3 to 5 year
goal is to learn as much as possible in my area while developing
bigger better .NET applications.
Q. For those just entering the computing field, what tips would you
give them to success in their careers?
A. They are:
Enjoy the process of learning – it never ends.
Learn how to do fast, accurate research on the internet.
For networking, learn various architectures.
Get organized training.
Then get certified – studying for certification drills in
knowledge that might not come up for a few years.
Learn to convey networks and programs to techies and managers –
don’t exclude the managers.
Q. What five career pointers would you provide specifically to
people with non-computing backgrounds who wish to enter the
A. They are:
Understand the specific requirements of the job you are seeking.
Go with what you are best at – there are plenty of technical
jobs ranging from development to human relations. More technical
does not mean it is better and does not mean greater pay.
Never try to fool people that you know more than you do.
On the same Note, admit what is not known and show a process to
obtain the information.
Figure out a way to remember as much as possible (conceptual
knowledge) in an organized way – learn your computer, learn the
network, learn what programs do what.
Q.For those who have long established careers in computing but wish
to change, what 10 computing areas would you recommend that they
should focus on?
A. They are:
Secure connections into the network (IIS, proxies, reverse
Database design – most databases are on the edge of chaos.
Database admin (SQL server, security, indexing, everything).
Database programming (ADO .NET, runtime reporting).
Web Server management (deployment, security, clustering).
Domain Controller management (LDAP, domain tools, groups, users,
Web server programming – with .NET, web applications quadrupled
Firewall / router management (Cisco certification)
R&D process management – how is a product built from scratch,
why are so few companies pulling it off successfully.
Low level programming – there are never enough people that are
proficient in win 32 programming.
Q. In your particular area, where do you see yourself heading in the
next one, two, and five years? What changes are you implementing in
the short term and long term? What project are your currently
A. I am working on a few projects and all consist of the idea of
supplying critical information to the right people. Information
always seems to be locked away in a CRM (SAP, People Soft), ERP, or
some custom database package. I build a bunch of databases and move
information around. Then get the information to the right people
through a web interface.
Q. Can you give your top 20 tips for SQL and for OLAP? Also, what
are the top five books you would recommend for development, SQL and
A. They are:
The easiest way to think of OLAP is a superset Group By where
the information is always drillable – i.e. ‘total customers in
BC,’ ‘total customers’ is a measure (count of customers) grouped
Use SQL Server to learn OLAP – other programs can be painful.
Never use ‘SELECT *’
Establish concepts around the SQL and transact SQL languages.
Understand what is possible before trying to memorize syntax.
Syntax is easy to lookup, if you know what is possible, and can
conceptualize what is needed.
Always use a developer database when building programs. If there
is not one around, build one through DTS.
Learn how to move data bases around through a ‘backup’ and
‘restore’ or DTS (Data Transformation Services) – easy to learn,
When using SQL keep in mind the data types. .NET and Java need
to be mapped or assigned to the correct data types when
performing SQL queries.
Have simple rules for naming columns when building a database. I
have wasted so much time trying to figure out I named a column
“customers_address” instead of something like
Get naming conventions for Primary Keys and Foreign Keys like,
cust_id should map to cust_id as a foreign key in another table.
Always have all Keys in the first Columns of a table.
Don’t normalize data too much unless there are more than 10
million records. It makes every SQL query too complicated. Plus
there might not be data redundancy on the database but every SQL
query made is pulling down the redundancy in a dataset /
Know what is possible with the built-in functions. Know there is
a function that can replace chars in a string in SQL Server (it
is called ‘stuff’).
Know what is possible with date conversions and comparing dates.
For syntax, know to replace “ ‘ “ with “ ‘’ “ – single
apostrophes will kill your WHERE clauses or/and Update
Once a complicated stored proc is written, save it as a .sql
Be careful of nulls, not all data types support being assigned
As far as SQL Book: That is a good idea. I
think answering this question has convinced me that I need to read
some more SQL books. I have settled into to buying the professional
level Wrox (http://www.wrox.com)
books. They have detailed indexes and can be used for reference for
years – they are the red books with funny pictures of people on the
Q. What top ten technologies should IT professionals, and businesses
be watching for in the next two years?
A. They are:
Active Directory -- this is related to other LDAP servers as
Passing XML from application to databases and database to
databases. (Small businesses are getting more complex with IT
infrastructures, therefore 3-10 deals with small business)
Email Servers that have web based email and stream to handhelds.
Databases that can share data.
Cell phones – IT departments seem to be spending too much time
managing and training less technical staff on how to operate a
cell phone. Sometimes the cheaper older models are better for
the main purpose.
Intranet portals for small business.
Applications that merge data and utilize existing third-party
Application with good UI – huge technology often overlooked.
Cheaper routers – this means everything is on the network.
Secure Extranets – this means everyone can have access to the
Custom end-solutions business packages: In a growing company the
IT departments needs to uncover problems very early in the
buying process of all software – Financial, Customer Management,
Q. What changes do you see for the future of computing, conducting
business, and the use of the Internet?
A. If people can connect to the network from anywhere at high
speeds, the people of the company are mobile. Once a company
understands mobility, it pushes technology in directions of:
Setting up reverse proxies to access the company portal from
anywhere – any high speed internet connection.
Connecting offices in many different locations. This means I can
use a database in New York as a data source for my web page.
Q. What changes are you planning to make in your model in the next
year, two years, and five years?
A. I feel with all the recent changes in technology in the past two
years I am redefining my model. Everything is now written like an
application and the front-end can be a web page or a windows form –
it does not matter.
Q. If you were conducting this interview, what five questions would
you ask and what would be your answer?
A. They are:
What is the most important functional technology in a large web
Searches, that expose information to customer as well as google.
What is the most import functional thing of a small web site?
Automation of content generation: This can be accomplished with
xml docs, databases, or as simple as saving word docs as html
and loading them in an IFrame.
What is the most important thing about any web site?
Layout of UI: Simple rules should be made and followed, i.e. top
menus should be one level deep and open new pages, side menus
should be made for loading content on the same page.
What are current challenges with retrieval of data?
Data seems to be more and more managed. For example, in the Last
few months I have dealt with an ERP that had a proprietary
database that sometimes would not kill the process it spawned on
the creation of a new ODBC connection. I am dealing with
Knowledge management systems and attempting to show the
knowledge inside the system to the internet. So many systems
today are not built on the concept of sharing data.
What is the scariest challenge you see in businesses.
I have dealt with 2 businesses in the past 2 years keeping
mission critical data in Spread Sheets. Regardless of politics
or technology limitations this is scary. The data is
un-sharable, hard to query, hard to update with no data
validation. The first thing I did was to create local DTS
packets in SQL server and pull the data into un-normalized flat
tables and run stored procedures to attempt to clean the data.
Then, ran reports to show what the data is. I developed a Web
interface to allow complete interaction with custom reporting.
And these examples were businesses with over 300 people. Note,
cleaning data through stored procedures can be a big job with
lots of pressure from VPs wondering why a professional computer
person is suggesting their figures are inaccurate.