CIPS logo

Canadian Information Processing Society

 

CIPS logo

 

 

 

 

CIPS Connections

3/21/2003 8:34:42 AM
Software Development Tips
Interview with Paul Burns
by Stephen Ibaraki, I.S.P., Capilano College

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.

*****
Discussion:
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 responsibilities?

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:

  1. Enjoy the process of learning – it never ends.
  2. Learn how to do fast, accurate research on the internet.
  3. For networking, learn various architectures.
  4. Be humble.
  5. Get organized training.
  6. Then get certified – studying for certification drills in knowledge that might not come up for a few years.
  7. 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 computing field?

A. They are:

  1. Understand the specific requirements of the job you are seeking.
  2. 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.
  3. Never try to fool people that you know more than you do.
  4. On the same Note, admit what is not known and show a process to obtain the information.
  5. 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:

  1. Secure connections into the network (IIS, proxies, reverse proxies, SSL).
  2. Database design – most databases are on the edge of chaos.
  3. Database admin (SQL server, security, indexing, everything).
  4. Database programming (ADO .NET, runtime reporting).
  5. Web Server management (deployment, security, clustering).
  6. Domain Controller management (LDAP, domain tools, groups, users, Active Directory).
  7. Web server programming – with .NET, web applications quadrupled in complexity.
  8. Firewall / router management (Cisco certification)
  9. R&D process management – how is a product built from scratch, why are so few companies pulling it off successfully.
  10. 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 working on?

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 .NET?

A. They are:

  1. 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 by region.
  2. Use SQL Server to learn OLAP – other programs can be painful.
  3. Never use ‘SELECT *’
  4. 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.
  5. Always use a developer database when building programs. If there is not one around, build one through DTS.
  6. Learn how to move data bases around through a ‘backup’ and ‘restore’ or DTS (Data Transformation Services) – easy to learn, easy UI.
  7. 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.
  8. 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 “customer_address.”
  9. Get naming conventions for Primary Keys and Foreign Keys like, cust_id should map to cust_id as a foreign key in another table.
  10. Always have all Keys in the first Columns of a table.
  11. 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 / recordset.
  12. 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’).
  13. Know what is possible with date conversions and comparing dates.
  14. For syntax, know to replace “ ‘ “ with “ ‘’ “ – single apostrophes will kill your WHERE clauses or/and Update statements.
  15. Once a complicated stored proc is written, save it as a .sql file.
  16. Be careful of nulls, not all data types support being assigned nulls.

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 cover.


Q. What top ten technologies should IT professionals, and businesses be watching for in the next two years?

A. They are:

  1. Active Directory -- this is related to other LDAP servers as well.
  2. 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)
  3. Email Servers that have web based email and stream to handhelds.
  4. Databases that can share data.
  5. 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.
  6. Intranet portals for small business.
  7. Applications that merge data and utilize existing third-party apps.
  8. Application with good UI – huge technology often overlooked.
  9. Cheaper routers – this means everything is on the network. Secure Extranets – this means everyone can have access to the network anywhere.
  10. 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, Pay Roll….


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:

  1. Setting up reverse proxies to access the company portal from anywhere – any high speed internet connection.
  2. 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:

  1. What is the most important functional technology in a large web site?

    Searches, that expose information to customer as well as google.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

 

 

 

 

 

 

Copyright © 2000 - 2002 Canadian Information Processing Society All rights reserved.