Sunday, December 4, 2011

How to Learn WebSphere in 31 Days - Part One: Introduction

In the early spring of 2010, I got a call from a relative, a very experienced senior electrical engineer with top notch expertise in chip design. He was laid off. He had tried very hard, but could not land on a chip design job. After a number of discussions and serious research, he decided to learn WebSphere engineering and prepare himself to be a WebSphere system engineer.

Then, I was working for a large financial services company, on my 9th year as a senior technical manager working in the area of WebSphere engineering. I found that I was having an increasing need to refresh my technical skills as a WebSphere system engineer to do a better job and, to put it candidly, to get ready in case that I was laid off as well.

Fortunately for both of us, after 10 years of phenomenal growth, WebSphere was still a fast growing area that had many job opportunities with respectful salary. However, to successfully compete in the marketplace for that profitable WebSphere system engineer position, we need to learn WebSphere Application Server and WebSphere system engineering quickly.

First, we looked at our technical background. We both had long years of doing a technical job in both system administration and technical programming to develop software components or applications. We both had a solid technical education. My friend had a Ph.D in electrical engineering and I had a hard core master degree in computer science. We both had good operating system knowledge and skills. We determined that we had the necessary technical background to be trained quickly into marketable WebSphere system engineers. We came to see that both of us need to learn more of computer network.

Secondly, we concluded that we needed a LINUX based machine to learn and practice what we had learned on WebSphere system engineering and administration along with a Windows based system.

Thirdly, we decided a number of critical areas to focus our learning and technical training. We planned to get this training job done in about three to six months when we would only focused on the most critical areas of knowledge and skills essential to help us to do a real WebSphere system engineer job.

The training tasks are listed below.

  1. Build the servers - choose the computer to use and the operating system to install as well as the building of a computer server as a platform for the reader to use working through the training process
  2. A brief JEE overview – this is a brief review of the key concepts of JEE specification that are relevant to a WebSphere engineer. This also includes a high level introduction of WebSphere. The intent is to be gain a bird eye view of the technology before working on technical details.
  3. UNIX: Architecture, File System, Security Model, and Key Commands – this is a review of UNIX architecture, its security model, and key commands as well as CRON jobs, TCP/IP, and networking - topics that are important to WebSphere system engineer. This is not intended as a comprehensive overview of UNIX operating systems, but only the contents that are needed frequently by a WebSphere system administrator.
  4. Jython and WebSphere Automation –the design, programming and execution automation jobs written in Jython. We want to learn enough script programming to be a competent WebSphere system engineer.
  5. WebSphere architecture and overview – this is an overview of the most recent release WebSphere Application Server. This overview focuses those areas critical to the WebSphere system engineer not all the features or new features. We intend to focus on WebSphere architecture and new features of the current release.
  6. Managing The HTTP Web Server
    • The Managed HTTP Web servers versus unmanaged
    • The Plug-In Configuration File
    • Working With The Plug-In
    • Plug-In Key Store
  7. Installation and migration – we want to learn building new servers, migrating to a new version, applying iFixes and fix patches.
  8. Configuration – this is to learn system configuration both through administrative console and automation.
  9. Administration and JEE application deployment – after working in this area, we want to be able to perform regular system administration jobs through the administrative console and command line
  10. WebSphere security – we want to covers the most frequently performed WebSphere security tasks. We realize no security is made simple. WebSphere security could be a challenging learning area.
  11. Messaging - this is another complex and challenging area of WebSphere technology
  12. High Availability and Workload Management
  13. Performance – we plan to learn performance tuning for problem avoidance and performance enhancement.
  14. Problem determination – this section helps to learn hands-on troubleshooting techniques, strategies, processes, and the use of tools such as Introscope.
  15. Interview and WebSphere certification – we realize that it helps to get a job to study a number of typical interview questions and answers at different levels for intermediate, advanced, and lead positions as well as practical interview strategy.
    Early on, we came to see that the key strategy to be successful was to focus on the most critical areas of WebSphere engineering. The IBM WebSphere Application Server is a large set of powerful technologies. The IBM WebSphere documentation has a tremendous amount of information. However, nobody has the kind of time and energy to learn all the WebSphere technical details. In addition, we had very limited resources and time available to get on a WebSphere job ASAP. Besides, some of the practices recommended in the WebSphere documentation may not be most frequently used in the real world. For example, almost all companies had custom build scripts to do WebSphere system build – the build process detailed by WebSphere documentation is rarely used in industry practice. We wanted to learn what were the most widely used methods and processes, to be useful WebSphere engineers as quickly as possible.

    This “Learning WebSphere in 31 Days” comes from a practical training program that we built for ourselves to compete for WebSphere system administration jobs. It did help us learn WebSphere and to get rewarding WebSphere engineering jobs. For example, I had four WebSphere system engineer offers. The program did help us. We believe that it can help you as well, especially if you are in a situation where you need a systematic approach to learn the WebSphere technologies quickly. Last, but not least, we believe that the training material is a useful technical reference for developing a balanced technical skill set for experienced WebSphere engineers as well.

    For further reference, I have one chapter in my WebSphere engineering book that is dedicated to technical training, hiring considerations, and the technical skills needed to be a good WebSphere system administrator. 

    5 comments:

    Ravi Sharma said...

    Ying i so much enjoy your articles and your blog. I follow it very closely and you are doing a really good job. Keep it up.

    yingstudent said...

    you are really doing a great job,these show ur attitude is really great

    Anonymous said...

    Hi Ying,

    I am new to websphere and i learnt all administration part at admin console level and command line.

    Can you please advise me what is the best way to learn Automation like JACL, PYHTON..etc?

    Ying Ding said...

    For learning automation, I would do below:

    1) download an eclipse based IDE
    2) go through some example
    3) start to automate some routine system admin jobs and go from there

    APTRON Delhi said...

    Really your content is so informative. So please share some more content ..
    WebSphere course in Delhi