Crafting the Perfect IT Department
By Sammy Abaza
IT Instructor, School of STEM at American Public University
The IT department’s responsibility is to provide the highest quality technology based services in the most cost effective manner in software and hardware. To accomplish these goals, all IT staff must be up to date on technologies, techniques, and strategies. To succeed, most IT departments contain five main groups.
Group 1: Management
The role of this group is to plan, execute, and finalize projects according to strict deadlines and stay within budget. It is necessary for this group to be proficient in tracking software such as spreadsheets, power point presentations, and project management software. A programming background can help team members to understand the complexity of the assigned tasks and how the systems work.
Group 2: The Networking/Hardware Group
In this category, there are two positions.
- Network engineers design and implement computer networks. These engineers require updating network, modeling, and analysis skills.
- System administrators install, maintain, and support the organization information technology systems. They test system components to ensure that computers, software, and network equipment function seamlessly together.
It is preferable that system administrators are familiar with programming languages in order to automate and monitor daily tasks.
Group 3: The Analysts Group
This group is responsible for all business requirements and analysis phases of a software project. Analysts are also responsible for ensuring that the final deliverable from a software development project meets all of the approved needs of the business. Analysts can be divided into two groups:
• Business Analyst — Responsible for the business side of the project. Uses tools such as Visio and spreadsheet software to create storyboards and block diagrams to document the business cases. Analysts also may employ use case and information gathering software to speed the process of collecting the information.
• Programmer Analyst — Responsible for bridging the gap between the analysts and the developer. Programmer analysts produce documents for the developers to code from. The ideal programmer analyst has at least two years of coding experience with one or more modern object orient programming languages.
Group 4: The Development Group
This group is responsible for designing, developing, and maintaining database-driven applications on any platform, with specific requirements on usability, performance, and scalability. Developers have to find solutions and create software applications according to the most up-to-date software tools.
Currently, the most in demand development language is Node.JS. Node.JS is a JavaScript-based platform that can run on multiple platforms including the mainframe.
Front end tools include AngularJS, Knockout, Ember, and any HTML page with JavaScript that can communicate to a service. The service, in return, communicates to a data store; the data store can be a relational or non-relational database.
Developers should know all the modern techniques of designing the database — such as operational data store and star schema — and how to apply them to relational databases. Non-relational databases are very popular, such as document base database or schema-less database.
Group 5: The Testing and Technical Writer Group
This group has to do a lot of testing. The testing should occur during the life cycle of the software project. Tools like Load runner, Fiddler, and Curl are used to test the application and unit testing software such as Jasmine and Cucumber are used to test individual modules.
At the end, these teams are all needed for a successful IT operation. Individual that have the skills needed within these teams are valuable assets to any organization.
About the Author
Sammy Abaza has been in IT/Engineering for the last 35 years, and an instructor/Trainer for the last 38 years. His expertise ranges from the software development cycle, application development, IT project management, Web Architecture, Object Oriented Technology, Client Server, Relational Data Base Management System, Data Modeling, CASE tools, Data warehousing, R&D for future technology, guest speaking and technical instruction. Currently Sammy is a senior web architect consultant and instructor for a federal government subcontractor, developing an AJAX (Asynchronous JavaScript and XML) based framework for Dot Net, Java, ColdFusion and NodeJS technologies.