Response to brief
The information written below was prepared as a response to brief for a government position that I was applying for, it proved to be an interesting and revealing exercise which you are welcome to examine.
- Demonstrated knowledge of three-tiered web based applications. The most successful way to build web based applications is to ensure that there is a clear separation of interface, business logic and data. I have applied this conceptually to a vast number of applications which I have built - each varying in size and complexity. For example the largest application that I have worked on as a team member the BP Crude Assay project depended heavily on a three tiered application structure.
Advanced programming ability using:
Active Server Pages;
ASP is one of the most popular foundations for web based programming and server side processing. 95% of the commercial applications that I have developed have used ASP. These include the CSL website and content management system, the Ford Australia website and it's content publishing system and various other websites.
HTML is of course the foundation of the internet. I have an advanced knowledge HTML, having coded with it nearly every day since becoming a web developer. I keep abreast of the refinements and enhancements to this language as it evolves as a more strict and structured relative of XML. My advanced understanding can be viewed on the BHP Billiton Website.
As the language of databases SQL is an essential requirement for any serious web developer. I have written many stored procedures to speed the recovery of data from a database and many scripts to enable me to perform large and complex changes upon existing databases as well as assist me to create new databases for web applications.
I have had a some exposure to this language through various projects in which I have been required to edit and modify the odd COM object. The early incarnation of the SmithKlineBeecham website used a VB based COM object to manage the business logic between the website and database.
The default language of ASP is VBScript, without a strong understanding of this language, you cannot build an interactive and useful web application. Ford Australia again demonstrates my understanding of this language and how it is applied on a highly trafficked website.
XML and XSL;
The use of XML and XSL to store and transform data is becoming more and more widespread. My exposure to these scripting tools has been through various intranet and extranet projects for CSL and BP Australia.
IIS, MTS, Index Server;
Forming part of the Microsoft BackOffice suite, I am required to know how to administer, troubleshoot and set up instances of these application to support my web development projects. Without a strong understanding of these products none of the complex ASP based web applications that I have developed would exist. This is of particular relevance when examining the Ford Australia website as it is a critical, maximum uptime, internet site hit by more than 50,000 visitors per month. Additionally, using Index Server to compile a searhable table of pages and content is essential when providing search tools on any website. Many of the websites I have built have relied on an implementation of Index Server and occasionally, it's big brother Site Server.
Java is a compiled language which can be deployed to an wide number of platforms and devices. J2EE is the most current and popular platform used to support mission critical web based applications. JSP forms it's presentation layer and can also maintain some business logic while Enterprise Java Beans hold most of the business logic and perform much of the communcation with any databases, data factories or other resources. I have had some programming experience with JSP's on the BPCrude Assay project.
I have not had any exposure or experience with C++ but understand it to be a true object oriented language.
- Active Server Pages;
Demonstrated knowledge of database structure and software including MS Access and SQL Server
I have designed, built and maintained many databases on several different platforms including MS Access and MS SQL Server as well as Oracle and the open source MySQL the best demonstration of my understanding of database structure and it's application in a business environment is found on the www.modernwhite.com website. Here content can be stored in the database in more than one language this meets the business requirements of the client as they intend to supply products to a global market.
Demonstrated ability to program using Object Oriented Techniques.
While object oriented techniques are traditionally associated with object oriented languages, such as Java and C++, these techniques can be applied to scripting languages such as VB Script and JScript to obtain the benefits found in modularity and encapulation.
Applying an object based methodology to an application design can significantly decrease time spent maintaining seemingly identical 'page based' scripts across a website. Some would argue that there are also performance based advantages as well as cost based advantages to object oriented design.
Since learning object oriented design and UML modelling, all websites I have built have been implemented using object oriented coding where possible.
Demonstrated knowledge of Windows NT and server administration.
IIS lives only on Windows NT Servers, it is impossible to administer IIS intelligently unless you have a strong understanding of how NT works particularly with regard to users, groups and permissions. In a particular intranet project I implemented an NT based authentication model for group based users, granting those users access to a document repository via a web based interface.
An understanding of intelligence, risk and knowledge processes would be advantageous.
Having worked on high demand websites and various mission critical intranets I have developed a keen awareness for risk in many forms and found that the most successful way alleviate risk is to implement good process and methodologies. By carefully examining requirements, writing strategies and performing rigorous application design and review before development, many risks can be avoided, and as a result in most cases a development project can run quite smoothly. Should a problem arise, it is likely that it has already been considered and a strategy is in place to combat it.
A degree in a relevant Computer Science discipline incorporating appropriate programming and database elements would be desirable.
At university I successfully attained a combined English and Communication degree the later part of that study included important and formative study of the internet and it importance as a platform for business and communication. While not solely a technical degree, my passion and understanding of the internet combine with my technical abilities provides an more solid platform for success than my technical abilities alone.
While my degree didn't cover the technical aspects of software development, the experiences and learnings which I have obtained during my career have provided me with a strong working knowledge of programming and database design and implementation.
Team work and interpersonal skills.
Well developed interpersonal skills, including motivation, initiative, flexibility and professionalism.
I regard myself as a motivated and flexible member of any team. I am driven by the desire to succeed and I draw upon my initiative and professionalism to achieve a positive outcome on any project that I am a part of. A review of any project I have been involved in will demonstrate this along with the testimony of my colleagues with whom I have developed a great professional rapport. In addition to this, my professionalism toward a client and their projects is demonstrated by my continuing relationships with many of the clients for whom I have worked for.
Demonstrated ability to work within and promote teamwork in a changing environment.
The only constant in this industry has been change. The ability to achieve success in an environment where everything changes has been an important and significant aspect of my career. People come and go, buildings, company names, methodologies, technologies , requirements change and measurements for success, like goalposts are constantly shifting when all is said and done if your customer is satisfied and you and your colleagues are proud of what you have achieved then you have been successful.
Demonstrated ability to meet strict deadlines with minimal supervision.
There have been many occasions, and there continue to be, where I have been required to work independently to meet requirements within unforgiving time constraints and minimal supervision. These projects have also required that I perform my own project management and client liaison. Many ongoing maintenance projects with larger clients such as Ford Australia, CSL, Glaxo SmithKline and BP Australia require that you resolve problems and meet requirements independently and within short time frames.
Ability to promote a proactive client service.
In the current industry environment - post dot-com economy deflation - a proactive approach to client service is essential to foster an ongoing business relationship with your existing clients. More often than not, new business is won by developers recognising a need or deficiency within a clients existing system and raising this through appropriate channels. My intuition has served me well on many occasion having worked with clients to further develop their ideas and better meet their business requirements this is apparent on projects with GSK, CSL and modernwhite.
Representation and communication.
Well developed communication and negotiation skills. Including ability to:
Present oral material and communicate in writing in a fluent and logical manner.
While working at Fluid and IconMedialab I was on occasion asked to prepare documentation for a Response to Brief and then present this material to a panel to secure further business for those organisation.
Develop systems and user documentation.
I have written and prepared user documentation for a variety of web applications both for internal and external use. In particular I have written a user manual for an internally developed content management system which was deployed to Australian Retirement Fund.
Negotiate successful outcomes.
During the development of the new BHPBilliton website I was required to provide examples and documentation as to the validity of our ideas. While our ideas were inline the business requirements of the organisation we were met with resistance from a third party vendor who argued that our concepts could not be implemented. It was essential that we demonstrated our understanding of the requirements and also a newly aquired knowledge of the development platform to show that our ideas could be implemented. This resulted in a successful outcome for all our organisation was able to develop an innovative and interesting new technology and BHPBilliton were able to successfully meet their business requirements
Ability to develop and conduct training to courses.
During the initial deployment of the CSL Website I helped to develop the material used to train the client and their stakeholders. I had been part of a team which developed a new content and product management system for CSL and as a result, was required to assist in the preparation of resources. I have also had a great deal of experience mentoring junior developers and training them in the use of new technologies or existing systems.
Conceptual, analytical and thinking skills.
Ability to apply creative thinking to complex problems and develop solutions to those problems.
One of the most interesting problems that I was required to solve was on the Modern White website, which required the multi-lingual delivery of managed content. While the solution itself was quite elegant, the thinking process toward the solution was an extendend and complex task in which I found myself at many a dead end. I am very proud of this website and client testimony will also attest to its success.
Demonstrated ability to make sound and well-informed decisions and perceive the impact and implications of those decisions.
Having made enough mistakes as a junior developer, the decisions that I make as an experienced and accomplished webdeveloper are well-informed. Fortunately though, my knowledge has not been solely founded on error I continue to read, learn and discuss new methodologies and technologies with my colleagues and peers. As a result I continue to consider and evaluate appropriate solutions for customers and their requirements. When working on development projects, particularly during the scoping and design phase, an acute sense of the impact and implications of those decisions made is imperative.
Problem solving skills of a high order.
Software development is a problem solving process and the sheer volume of successful development projects that I have been involved in amounts to a huge number of problems addressed and resolved. May they be related to customer requirements, development platform, scripting technologies, user interface, content delivery, data storage, deployment and maintenance - I have had experience identifying and solving many issues, and, after a while, I have begin to recognise patterns and can address issues before they arise.
Ability to think independently and with originality.
Independent and creative thought is the keystone of a successful developer's career. My ability to combine problem solving skills with a deep understanding of technologies to meet customer requirements and business goals is heightened my by capacity for creative thought. I feel that I have demonstrated this on all the projects that I have been involved in.