Monday, January 30, 2012

Business Analyst – Career Profile


Information on What a Business Analyst Does, and What It Takes to Become One

In a very general sense, a business analyst is someone who analyzes the operations and design of an organization, in order to come up with solutions to the organization's problems.
In the world of information technology, the business analyst will analyze the organization's business model to determine how it integrates with technology. The idea is to determine the organization's business needs or objectives, and then improve the effectiveness of IT in meeting those needs/objectives.

Educational Requirements

If you look at the business analyst job postings out there, you'll notice that there are really no clear-cut requirements for becoming a business analyst. Some business analysts come from a strong business background, and their industry and analytical experience make them the right candidate. Other organizations prefer to hire business analysts with more of a technical background, or an education in Computer Science.

Important Skills

Here are some of the required skills you may see listed in a business analyst job posting (you'll notice that a lot of them are actually considered "soft" skills, but these are very important for a liaison role such as that of the business analyst):
  • Experience preparing business requirements, working with use cases, business process modeling or data modeling, or preparing use-case or sequence diagrams.
  • Project management skills and/or certification.
  • Knowledge and experience in a particular industry.
  • Analytical, problem-solving and critical thinking skills.
  • Technical understanding of system being analyzed and how it affects the various business units.
  • Good at handling and meeting deadlines.
  • Multi-tasking skills and the ability to balance multiple priorities and keep up with project scope changes.
  • Able to work well with both internal and external clients.
  • Good presentation skills, and ability to communicate with various audiences, including end users, managers, and members of the IT team.
  • Self-starter with leadership skills in order to take charge of or facilitate requirement-gathering sessions.
  • Strong attention to detail organizational skills.
  • Quick learner who is easily able to learn new products, systems, applications and technologies.

CIO - Chief Information Officer


All About the Role of a CIO

The Chief Information Officer (CIO) is a job title for the head of information technology within an organization. The CIO typically reports to either the chief financial officer or, in IT-centered organizations, to the chief executive officer.
Chief Information Officer (CIO) is a job title commonly given to the person in an enterprise responsible for the information technology and computer systems that support enterprise goals. As information technology and systems have become more important, the CIO has come to be viewed in many organizations as a key contributor in formulating strategic goals. Typically, the CIO in a large enterprise delegates technical decisions to employees more familiar with details. Usually, a CIO proposes the information technology an enterprise will need to achieve its goals and then works within a budget to implement the plan. Typically, a CIO is involved with analyzing and reworking existing business processes, with identifying and developing the capability to use new tools, with reshaping the enterprise's physical infrastructure and network access, and with identifying and exploiting the enterprise's knowledge resources. Many CIOs head the enterprise's efforts to integrate the Internet and the World Wide Web into both its long-term strategy and its immediate business plans.
The prominence of the CIO position has risen greatly as information technology has become a more important part of business. The CIO may be a member of the executive board of the organization. While the CIO job title originated in the US, is slowly replacing IT Director as the senior IT executive title in Europe and Asia.
While no specific qualification is typical of CIOs in general, historically many CIOs have degrees in computer science, software engineering, or information systems. CIOs are increasingly gaining an MBA to strengthen their business management skills. More recently CIOs' leadership capabilities, business acumen and strategic perspectives have taken precedence over technical skills. It is now quite common for CIOs to be appointed from the business side of the organization, especially if they have project management skills.
The CIO role is also sometimes used interchangeably with the Chief Technology Officer (CTO) role, although they may be slightly different. When both positions are present in an organization, the CIO is generally responsible for processes and practices supporting the flow of information, whereas the CTO is generally responsible for technology infrastructure.
CIO – Skills and Training
A CIO needs a solid foundation in information technology, project management, and business management. As such, some of the common components of a successful CIO might include the following:

Cyber Threat Analyst - Career Profile


Cyber threat analysts are information security professionals who use their skills and background knowledge in areas like network administration or network engineering to help counter the activities of cyber criminals such as hackers and developers of malicious software.
The job of the cyber threat analyst involves a combination of:
  • technical research - collecting information about Internet-based malware-related criminal activities and the people behind them;
  • intelligence analysis - making predictions about cyber criminals and their future activities based on what is already known about them;
  • the creation of threat intelligence reports that communicate the results of the analyses to people who need to know them (e.g., government decision-makers, security officials, senior corporate officials).
Educational Requirements:
To become a cyber threat analyst, at minimum you typically need a Bachelor's degree in Computer Science, Information Systems or another related field, but this may not be required if you already have several years of experience in the field.
Some of the certifications employers may ask for include:
Important Technical Skills:
Cyber threat analysts need to have solid experience in areas such as:
  • network and/or operating system security;
  • computer network intrusion detection/prevention systems;
  • firewalls;
  • IT network-based attack methodologies and tools;
  • security operations and incident response technologies and methodologies.
Other Crucial Skills:
Beyond your specialized technical skills in information security, you should also be able to demonstrate:
  • highly developed research and analytical skills - so you can work with data and pinpoint statistically significant patterns related to cyber threats;
  • strong organizational skills;
  • attention to detail;
  • strong presentation skills, as you will probably be expected to brief others on your findings and recommendations
  • solid teamwork skills - the ability to collaborate with others who are conducting research in the same, similar or different areas than what you're looking into;
  • excellent writing/communication skills.
Companies/Organizations Typically Hiring Cyber Threat Analysts::
  • BitDefender;
  • Symantec;
  • VeriSign;
  • MITRE.

Computer Engineer – Career Profile


Computer engineers are responsible for designing, developing, implementing and testing computer-based hardware and software, including the components that are found inside computer equipment, as well as the actual devices that contain the computers and the software that runs on those machines. They may also design networks that connect computer systems, and work on integrating software programs with computer hardware.

Educational Requirements:

To become a computer engineer, you will typically require a bachelor of science degree in computer engineering, computer science or electrical engineering.

Important Technical Skills

Since the computer engineering field is quite broad, the required technical skills listed in the job postings you come across will vary, depending on whether the job is more hardware- or software-focused, and which industry the employer belongs to. Typically, you will need to have the following:
  • an understanding of the particular computer hardware architecture you will be working with;
  • experience designing, coding and testing software;
  • familiarity with software test procedures or scripts;
  • experience building your own PC systems;
  • understanding of different operating systems, including Windows and Linux, and how certain types of software will work with them;
  • experience with device drivers;
  • understanding of networking and security;
  • understanding of the (sometimes specialized) software that is typically used in a particular industry;
  • knowledge of programming languages such as C++ and other object-oriented languages.

Other Crucial Skills

Since computer engineers work closely with programmers, designers, product developers and testers, they really need to have strong interpersonal and communication skills, as well as the ability to work in a team.

Fields Employing Computer Engineers

Computer engineers are likely to find work in a variety of fields, including (but not limited to):
Here are some interesting "niche" areas of computer engineering:
  • working with radar and communications technology;
  • supporting high performance and embedded computing systems for nuclear medicine;
  • military software support;
  • designing new motors and sensors for robotic equipment.

Career Profile - Project Manager


Project Manager Overview

A Project Manager is responsible for managing the resources of large projects. For Tech Careers, can mean managing large Software Development projects, Networking projects, IT installations or conversions, or any other function where business and technology needs have to be managed and resources have to be coordinated.
The Project Manager is responsible for making sure a project is completed within a certain set of restraints. These restraints usually involve time, money, people and materials. The project must then be completed to a certain level of quality.
Project Managers usually use Project Management Software to help keep track of resources and project deliverables (or outputs). This software helps document the project objectives, status, time lines and expected outcomes. Current popular project management software products include:


Education

Project Managers usually have a degree and several years of experience in their field of expertise. Ideally, a Project Manager will have additional Project Management Training, such as a certification through the Project Management Institute.

Becoming a Project Manager

In Technology Careers, a Project Manager is often promoted from the individual contributor ranks. Most technical companies prefer to hire Project Managers that have worked in a similar technical environment and can appreciate the complexities that are usually involved.
Becoming a project manager can be a good way to take on management responsibilities while staying current in development. Taking classes or becoming certified in project management is a good way to branch into this field.

Project Manager Career Path

There are various levels of Project Management, and differences between the size and scope of projects to manage. A Project Manager may be promoted to larger projects. A good project manager will often, given enough experience, be eligible for promotion to a senior role, such as a Group Manager or a Group Director.

All About HTML


Overview of HTML Programming

HTML stands for HyperText Markup Language. It is the language used most often by Web Designers and others to create web site pages. HTML tells your web browser how to read and display the text on the web page. The newer web design languages and style standards are based on HTML.

History of HTML Programming

HTML was originally created by a guy named Tim Berners-Lee as a way to communicate and share research information with his co-workers. At the time simply a set of tools, the more standardized version we are familiar with today became available in the mid 1990’s. Standards organizations are pushing forward with XHTML as a “successor” to HTML. XHTML is an XML based version of HTML.

Learning HTML Programming

HTML is a very easy language to self-learn. There are several free resources online to learn HTML. There are also several good books available that can provide you with the basics. The best way to learn HTML is to start playing around with it!

All About XML - Extensible Markup Language


Overview of XML

XML stands for Extensible Markup Language. The main purpose of XML is to make information on the internet viewable across many different platforms. XML is relatively easy to learn and is recommended by standards organizations as a preferred programming language for web development.

History of XML

XML was designed by a group of 11 techies from various companies that had an interest in internet standards (Netscape, Microsoft, and others). Their work was done via email and teleconference. This was in the late 1990’s, with the formal XML standard recommendation coming in early 1998. Various versions of XML have since been developed.

Learning XML

XML is a hot skill to have. As more of our lives take place on the World Wide Web, the need for skilled developers increases. Usually, XML is one of several languages a Web Developer might know. Techies with strong development skills and in-depth knowledge of XML are often employed as Developers for Web Applications.
Depending on your current level of development skills, you could learn XML by attending a college class or continuing education class offered by a local college.

Microsoft C# Programming Language


Overview of C# Programming

C# programming refers to developing software using the C# programming language on the .NET framework developed by Microsoft Corporation.

History of C# Programming

C# was developed in 2000 and is known as Microsoft's flagship language. It is said to resemble both Java and C++. According to several engineers I have spoken with, it is preferred over both languages by many. C# programming has quickly become a "hot" job skill. Programmers that have experience with C# and related technologies are likely to be in high demand for the foreseeable future.

Learning C# Programming

C# programming is best learned by those with some familiarity with object oriented programming methodologies. For those interested in introductory-level C# programming, courses offered through local community collages would be a good place to start. For those developers interested in learning C# programming at a more detailed, in-depth level, Microsoft offers several online C# programming classes and Developer Certifications.
The Microsoft Developers Center offers excellent resources on learning and using C# for development.

MySQL Information and Resources


Overview of MySQL

MySQL is a database management system that is written in Structured Query Language (SQL). It is both multi-threaded (can execute multiple commands at the same time) and multi-user (more than one user at a time can run commands). MySQL is a very popular system, with millions of installations worldwide. Some of the more famous companies that use MySQL include Apple Computer, Amazon.com, Google Adwords, NASA, Craigslist (a popular job posting board) and many others.

History of MySQL

MySQL is owned by a Swedish company, MySQL AB. MySQL was originally developed in the mid 1990’s and as released on the Windows platform in 1998. It is extremely popular as the back end to many web applications. It is often used with PHP in web development projects. MySQL is available on almost all platforms, and most of the popular front end application programming languages can be used to access MySQL databases. There have been several awards granted to programs using MySQL.
The popular pronunciation of the product is “My sequel” although this is incorrect. According to MySQL AB, the correct pronunciation is of the letters themselves, or “my ess queue ell”.

Learning MYSQL

MySQL is said to be one of the easier database applications to learn. As a Software Engineer, you would want to learn how to code programs to run on a MySQL database. As a database administrator, you would want to learn how to set up and support MySQL databases for your company. Courses are available through many community colleges and universities.

Perl Programming Language


Overview of Perl Programming

Perl is a dynamic programming language very similar to C in many respects. It is used most widely in system administration, web site development (especially on the GUI side), and networking tasks. It is known to be a very straight-forward, easy to use programming language.
Because perl is used extensively in web development, it is a very popular language. Many companies, both large and small, use perl to write CGI scripts. These are the scripts that allow web applications to interact with the server.

History of Perl Programming

Perl was originally created by Larry Wall, a programmer then at Unisys Corporation. It was released in the later 80’s, went through several versions, and then went through a huge revision in the mid 1990’s and was re-released as Perl Version 5. This is the version currently being used, although Version 6 is in the works.

Learning Perl Programming

Perl is known as a relatively easy language to learn and to use. A knowledge of perl would be very useful for System Administrators (especially Unix and Unix-like operating systems) Network Administrators and would be a necessity for many Web Developers. Depending on your current fluency with programming languages, you may want to take a class at a local community college or university, or utilize online tutorials or distance learning courses.

C++ Programming Language


Overview of C++ Programming

C++ is one of the most popular, widely-used programming languages. It is a high level, object oriented language that is often used in production of commercial software programs. As such, it is a “hot” technology that, in the job market, is very useful to know.
C++ is, in many ways, similar to java and C# programming languages.

History of C++ Programming

C++ was developed by Bjarne Stroustrup in the 1980’s at Bell Labs. He originally developed it as an enhancement to the C programming language. C++ became a standard in the late 1990’s.
C++ was originally referred to as C with classes. In many computer science classes, C++ is still referred to as superstructure of C. There is also a C+ programming language, which is not related to C++.

Java Programming Language Information


Java Programming:

Overview of Java Programming

Java is an object-oriented programming language developed by Sun Microsystems in the early 1990s. The language is very similar in syntax to C and C++ but, in techie terms, it has a simpler object model and fewer low-level facilities.

History of Java Programming

Java was started as a project called "Oak" by James Gosling in 1991. The first public implementation was Java 1.0 in 1995. The pluses to this new language were:
  • It promised the ability to "Write Once, Run Anywhere" (WORA), providing no cost runtimes on popular platforms, and
  • Its security was configurable, allowing network and file access to be restricted.
Java quickly became a popular programming language. Newer versions of the java programming language had multiple configurations built for different platforms. For example, J2EE for enterprise applications and J2ME for mobile applications.

Learning Java Programming

Java programming is best learned by those with some familiarity with object oriented programming methodologies. For those interested in introductory-level java programming, courses offered through local community collages would be a good place to start. For those developers interested in learning java programming at a more detailed, in-depth level, Sun Microsystems offers several java programming classes and certification programs.

Linux History and Resources


Overview of Linux

Linux is a Unix-like computer Operating System (or OS) that uses the Linux kernel. Linux started out as a personal computer system used by individuals, and has since gained the support of several large corporations, such as Sun Microsystems, HP and IBM. It is now used mostly as a server operating system, with some large organizations using an enterprise version for desktops. Linux is a prime example of open-source development, which means that the source code is available freely for anyone to use.

History of Linux

Linus Torvalds, who was then a student at the University of Helsinki in Finland, developed Linux in 1991. He released it for free on the Internet. Due to the far reach of the Free Software Foundation (FSF) and the GNU Project, Linux popularity increased rapidly, with utilities developed and released for free online. A commercial version of Unix was released by RedHat in the early 1990’s (combining the OS with technical support and documentation) and the popularity of Linux continued to skyrocket.
A system is termed UNIX only if it complies fully with (and is certified by) the Single Unix Specification (SUS) standards. Similar systems that do not comply fully or are not certified, such as Linux, are termed “Unix-like” operating systems.

Unix Information and Resources


Overview of Unix Operating System

Unix is a computer Operating System (or OS) used most commonly in servers and workstations. Unix was originally released by Bell Labs to various government and educational institutions. This popularity led to the adaptation of Unix by many start up companies; as a result, Unix helped fuel the growth of the internet in the 1990s.

History of Unix

Unix was originally developed in the 1960s and 1970s by a group of AT&T employees at Bell Labs. Today, Unix systems are split into different branches which have developed over time by AT&T and by commercial vendors and non-profit organizations. Many variations (usually called “flavors”) of Unix and Unix-like Operating Systems were released during the dot com boom of the 1990’s. The dot com bust caused many of these to consolidate. As a result, of the dozens of commercial variations of Unix that were developed in the 1980s, only Solaris, HP-UX, and AIX are still doing relatively well in the market. Of these, Solaris currently holds the highest market share.
A system is termed UNIX only if it complies fully with (and is certified by) the Single Unix Specification (SUS) standards. Similar systems that do not comply fully or are not certified are termed “Unix-like” operating systems. Examples of popular Unix-like systems include Linux and Xenix.

Top 10 Technical Career Skills - Information and Resources


Whether you are just starting your technical career or looking to make a career change, it helps to know what career skills are hot in the job market. The following list of technical skills are currently in high demand. The list includes information, a brief history of each technology, and links to training resources.

1. Unix Operating System

The Unix Operating System is the foundation of the internet. Read about Unix, the history of Unix, and find resources for Unix training. Unix is a critical skill for a career in Information Technology.

2. Linux Operating System

The Linux Operating System is a Unix-like operating system that is being used by many large companies. It is quickly growing in popularity and is a popular operating system to develop for. Linux is a great career skill if you want a career as a System Administrator.

3. Java Programming Language

Find information and training resources for the popular Java programming language. Java is an object oriented programming language developed by Sun Microsystems. Java is a popular career skill if you want a to be a Web Developer.

4. C++ Programming Language

C++ is another high level, object oriented programming language. C++ is often used in commercial application software development. It has been (and continues to be!) a hot programming career skill in the market. A career as a Software Engineer would be the most likely with C++ expertise.

5. Perl Programming Language

Perl is a dynamic scripting language that is used quite often in networking, system administration and web site development. Knowledge of this multi-use language is a must-have for many career paths.

6. MySQL Database Management

MySQL is a database management tool that is widely used. Knowledge of MySQL is necessary for many careers, including Database Administrators, Web Developers, and Software Engineers.

7. Microsoft C# Programming Language

The C# programming language from Microsoft Corporation is rapidly gaining popularity as more companies utilize the .NET framework. This is one of the hottest career skills in the market right now for Developers.

8. XML - Extensible Markup Language

XML or Extensible Markup language, is a popular language that makes information on the internet viewable across many different platforms. It is relatively easy to learn. While many Developers know XML, fewer of them are experts in XML. It is a specialty focus that is gaining popularity for a career in Web Development.

9. HTML Skills

HTML continues to be a necessary skill to have for Web Design careers. Expert knowledge of HTML is a must-have for this career path.

10. Project Management

Management of technical projects is a necessary career skill for advancement, no matter which technical career path you choose. Formal Project Management training is a great start to more senior level technical roles.