Starting IT from Programming
1. Check IT Out
If you want to start career in IT, become a programmer first.
Are you wondering if IT is the right career choice for you? Then check it out. Try some programming work. If you are interested in programming, feel comfortable in coding, and enjoy learning programming languages, then you are in the right direction and I am sure you will succeed through you career path in IT.
On the other hand, after given a try if you think programming is too boring or too difficult, then IT is not for you. So just forget IT. You need to explore other fields and industries. I bit you have better chance to achieve career success in other fields rather than IT.
Can I work in IT career without doing programming? Some of my clients ask. Without programming, you may hang around in IT but the chance to succeed is rare. Programming is not only the job function for programmers and software developers. Let's face it: all of high paid mainstream IT functions requires programming. Even workers in supporting roles such as database administrators and system administrators need to perform programming tasks.
Some career advisors suggest starting IT career from side roles such as help desk, PC technician, technical writer, etc. That is a wrong approach because it will take you too much time and effort to move from side roles to mainstream job functions. During the time you never really know if you are good at IT jobs, and you may end at staying at low paid side role jobs in IT industry.
In fact, it is easier to enter IT career from programming approach. From the starting point of programming, you have so many choices and directions toward career success and financial reward in IT. After all, programming is not that hard. Even without programming training in formal education, you can prepare yourself for this skill and land a job. What you need is some self-training and planning.
2. Programming Jobs
Programming is the most reliable and extendable skill every IT professional should have. You might not depend on this skill through your entire IT career. You may not even need starting your IT career with this skill. But if you are seriously considering secure your job, tap onto it.
Programmers are code producers. In IT world, code is gold, which makes programmers all-time winners. In fact, Bill Gates, one of the world's most successful peoples started as a programmer. He started to program Basic codes 10 years ago; today, his company Microsoft dominates the software world.
- If you want to start an IT career, become a programmer first. Programming is the most effective starting point which leads to success in many directions.
- Start with Visual Basic. It's easy and very marketable.
- Make yourself master SQL language.
Programming job titles and functions
In IT industry, there are various job titles for programming tasks. A programming position may be titled as:
- Programmer, of cause
- Programmer Analyst
- Software Engineer
In an organization, a Programmer position may be classified as junior programmer (entry level), staff programmer (middle level), and senior programmer.
Programmer Analyst is usually an upgraded title which implies that the job responsibilities involve some analytical and design functionalities, in addition to writing codes.
The work of software engineer is often focused on system side rather than application site. Software engineers develop more business software packages than business applications.
Developer is a loosen term referring programmer. There are many kinds of developers, - system developer, application developer, database developer, web developer, COBOL developer, Java developer, Wireless developer, Palm developer, and more.
Where you can go from programming
Programming is the fundamental skill in IT careers. With programming experience, you can move forward, move up, and move across to many dimensions in IT world. Here are some of the directions we may go from programming:
- Stay as a happy programmer - Programmers are IT builders and are always in demand. No doubt you can survive as a programmer if you just do what you've been doing and keep current. But I don't recommend this. Programming job itself does not make a stable career. You'll read more on this issue in later chapters. So stay tuned.
- Move onto special focus - After gaining general programming skills, you can focus your career on high-end specific programming fields. For instance, you may become a system programmer, database programmer, component developer, or web application developer.
- Analytical and design direction - Experienced programmers are good candidates for analytical and design tasks. Your programmer skills will help you succeed as a system analyst, application designer, and business analyst. In these positions, you write fewer codes but deal with more functionality issues.
- Database direction - A lot of programmers, especially mid-aged, successfully transformed their careers to database fields. They work as database designers, database administrators, and database architects. These jobs are less stressful and paid better.
- Systems and networking direction - Although this is not a popular route, some programmers do make themselves successful system administrators and network administrators.
- Architect direction - With strong programming skills, you can upgrade yourself to system architect, application architect, and data architect. Architects work on enterprise level systems and applications; they take the most important roles in large scale IT projects.
- Management direction - A programmer can switch to the management career path starting as a project manager, and all the way up to VP/CIO. Technical skills such as programming are essential for IT managers to survive.
3. Programming Languages
Among over one hundred computer languages, only around 20 are actively used in IT industry for business solutions. While a lot of programming languages come and go quickly, some do stay and retain value. Now let's start from the most popular programming languages.
Most popular programming languages
The popularity of a programming language is determined by user and installation base, programmer base, and technological advantages. In general, popular languages have higher value for IT professionals' skill inventory. Here are the most popular languages:
- Java - Invented by Sun, Java is best language to develop Internet-enabled enterprise applications. Its J2EE platform is widely implemented in IT industry.
- C/C++ - Although stabilized and matured, C++ is still the most used object oriented language. There are tremendous C/C++ codes built in IT world.
- SQL - The universal language for database design, development, and administration. It is a must-have language for every IT professional.
- VB (Microsoft Visual Basic) - the most popular and easy to learn language client/server applications. The new VB.NET features more power on web application development with .NET framework.
- C# - The core language for Microsoft .NET framework. Although relatively a new language, it strategic role in Microsoft technology has pushed it to high position in software developer's world.
- Perl - A powerful open source language widely used in CGI development for dynamic web contents and UNIX systems administration scripting.
- JSP (Java Server Page) - Web server scripting language that is popular in development of presentation layer on Java/J2EE platform.
- ASP (Active Server Page) - Web server scripting language used to develop web applications on Microsoft IIS (Internet Information Server).
- PHP - A widely used server scripting language for dynamic web site and application development. Often used with MySQL database.
- SAS - The specific language for SAS software, the most powerful and popular software package for enterprise statistical analysis and business intelligence.
Declining programming languages
These programming languages are losing programmers, users, and new projects. Most likely, they failed to catch up with industry standards. Here are a few examples of declining programming languages:
- COBOL - Once the most popular mainframe based language for business solutions, COBOL now involves very little new development. However, the value of COBOL skill should not vanish so fast because demand exists for maintaining huge code base.
- PowerBuilder/PowerScript - Although it is a good client/server tool with solid object-oriented language, it is a specific, non-popular language that does not fit in industry standards in J2EE or .NET platform.
- Delphi/Pascal - It is facing similar problems as PowerBuilder. Corporations and project managers are dumping Delphi and PowerBuilder in fever of Java and .NET technologies. Programmers are migrating to new areas.
- Mainframe JCL - Mainframe programming language, mainly Job Control Language (JCL) is losing value, and you know why. Mainframe technologies are still implemented today, but sooner or later they will be completely replaced by newer technologies.
If you are picking up programming languages for your skill set, stay away from declining programming languages. If a declining language happens to be your core skill, it is time to move to more promising languages, such as Java, C++, or .NET.
Web Development Scripting Languages
Generally speaking, a programming language is defined as a computer language which is either interpreted or compiled and is capable of manipulating data. Based on this definition, languages such as HTML and XML are not considered programming languages. However, using these languages fits in programming functionality thus they deserve a discussion here. These languages are more actually categorized as web scripting languages that play important roles in today's IT field. From IT professionals' career aspect, the most important web development scripting languages are:
- JSP (Java Server Page)
- ASP (Active Server Page)
4. Programming Skills
Programming skills are fundamental qualifications in IT career. In IT industry we specify a programming skill by computer language. For instance, we often mention C++ programming skill, Java skill, PHP skill, etc. There are over 30 programming languages actively using, and more keep coming. By all means, you have no way to become skilled at every programming language. Just looking at Microsoft itself, how many languages has it introduced? - VC, VB, VBScript, J++, ASP, .NET,C#, J#... You can count them, but you cannot get them all. Thus, the successful approach is to play the power of focus.
Here is the most effective plan to build valuable and long-lasting programming skill base. All you need is to have one good programming skill to cover one of the three areas:
- (1) Object-oriented programming,
- (2) SQL programming, and
- (3) Web server programming.
Now let's get into each part in detail.
Object-Oriented Programming is the definite skill needed for developing software systems and business applications. The value of this skill is realized on building large scale enterprise wide applications. The language of your choice is C++, Java, or C#. You only need to master one, although it is nice if you can handle two or more. Be aware of that, object-oriented concept is tough to mind for most of people.
SQL Programming is the core skill for database design, development, and administration. As you have to face database issues in all aspects of IT career, you'd better master this care skill sooner than later. The good news is, SQL is fairly easy to understand. The standard ANSI SQL is well adopted by major database vendors such as Microsoft SQL Server, Sybase Adoptive Server, IBM DB2, etc., while Oracle's PL/SQL is slightly different with certain specific syntaxes. But again, they are all easy to learn.
Web Server Programming
Web Server Programming is the key skill for e-business solutions. To build this skill, you need to master one of the web server scripting languages. The top choice is JSP, ASP, PHP, or Perl. There are a lot in common in these scripting languages as they have similar markup tags and syntax, and they are all based on request/response module. Fortunately, server scripting languages are not hard to learn. Once you griped one, you'll feel comfortable in getting into others.
You see, life in IT is not that hard. You only need to focus on three languages in order to build your programming skill set. Such a skill set with coverage of the three parts can give you a solid career base and make yourself well positioned in the job market.
- My favorite programming skill set is Java + Oracle PL/SQL + JSP. I also learn PHP because it is easy and very useful.
- If you are committed to Microsoft technology, you can build your skill set on C# + SQL (Microsoft SQL Server) + ASP.
- PHP is a newer and more advanced web server scripting language comparing to Perl CGI. If you can make a choice, select PHP over Perl.
Among the three parts of programming skill set, SQL is the most stabilized, once you learned it, you own it for life time. As for Java, while the basic syntax is unchanged, there are always new APIs released to extend J2EE framework, so you'd better keep an eye on it. Web server scripting is easy stuff but you need to follow new features and upgrades. After all, with a good focus, keeping and upgrading your programming skills wouldn't make your life stressful. In fact, it is fun and it helps securing your IT career.