Wednesday, June 14, 2006
Developer requirements
Learn to focus on the customer requirements rather than the technology. That might mean become a subject matter expert in the end user application. you must be able to focus on the business problem the client/customer wants to solve. If you can see the problem/need from the customer's perspective, be able to suggest process improvements, AND be able to recommend the appropriate technologies to assist in those improvements, you'll be in demand. Discussing requirements with a client, articulating issues to a higher up, or even just giving guidance to and managing jr. developers - all require consistent and concise communication skills that can make a great developer even more valuable. You have to understand the business of the customer enough to be able to talk to them, ask the right questions and finally develop the piece of software they expect.
Next to technical experience, business experience is becoming more and more important. If you have other non IT related skills like communication skills, coaching skills, ... then this also adds extra value to you as a software developer.However, the basis of a good software developer is and stays a solid (technical) knowledge and experience of software development. Additionally we have to pick up other skills and experience in business related areas, communication, planning, organization of a project, ... So, I think in the future we software developers will spend less time on coding while we have to keep up the effort to get the code quality better.
In the end, I think the job of a software developer will be "richer" because we are able to do more then just develop software.
z/os was Request process overview
Request Process Overview
The following steps describe the J2EE application flow:
1. A client application sends a request to access the J2EE application.
2. The request is received by the Web server which immediately passes the request to the Web server plug-in.
3. The Web server plug-in chooses a server to handle the request based on the resource being requested, identified by its Universal Resource Locator (URL), and forwards the request.
4. The WebSphere for z/OS daemon routes the request to the application control region based on the context root in the URL. (i.e. ibi_html or ibi_apps)
5. The control region checks that the request is authorized and places it on the Workload Manager (WLM) queue. If necessary, WLM starts a procedure that is used to start a new servant region address space in response to the queued request. WLM then passes the request to the servant.
6. Servant is the J2EE app server containing a JVM
It locates and loads the J2EE components from the configuration HFS and starts the applications.
7. Request is handed to Web container within the server, routing it to the proper servlet, based on request’s URL
a. Servlet class is loaded by the dynamic class loader.
b. The Java Naming and Directory Interface (JNDI) looks up data sources required by the servlet.
c. Data retrieved from one/many sources and returned to servlet.
d. Servlet sends output stream directly or sends data to JSPs.
o Response: HTML,XML, generated as a response
o Sent back through WebSphere plug-in to Web server.
8. If J2EE application component needs to access corporate data: uses connector (resource adapter) to communicate with the Enterprise Information System (EIS) such as CICS or IMS.
ForwardSourceID:NT000145DE
Thursday, February 02, 2006
Setting Goals
Learning should be a driving force. Most important goal is to never stop learning.
Take care of your health. If you don't have your health, you don't have anything.
Increasing the capability level of each individual on the team and help to sustain this growth.
Continue to progress in the carreer and increase visibility on the team.
Sometimes, it is not about setting goals but simply living in the moment.
Lastly but not the least, have fun.
Wednesday, January 04, 2006
Simple Java test
| Provide a small snippet of code, less than 10-20 lines (you can actually do it in 2-3), that will produce a consistent memory leak. |
Wednesday, December 14, 2005
Team Leader Characteristics
Your motto needs to become “Communicate the obvious.” Don’t assume anybody knows anything. Say it out loud and send lots of email. Tell those you report to what you’re doing. Give everybody bad news early. If you have an integration environment that goes down, stand up and announce that it is down. Don’t assume others are going to notice it. Ask who is going to get it running again. Announce to the group that so-and-so is working on it. Ask so-and-so to tell you when it is working again. Announce to the group when it is working again. Etc. Run daily stand up meetings and go around the room and ask three questions: What have you done since the last stand up? What is preventing you from doing whatever is on your plate today? What will you be working on today? Keep these stand ups short and sweet. Break out into one-on-ones with people if they have issues that need to be worked. The important thing is to make sure everybody hears what’s going on within the team and has a chance to contribute things like “did you know there’s a library that already does that?”
Acknowledge the team’s accomplishments and hard work. There’s a ton of humility that comes with being a leader. You’ve got to admit that you can’t get it done yourself, and put yourself at the mercy of your team to do the bulk of the work. You need to thank them sincerely, and often publicly, for their contributions. Don’t know what to thank them for? “Catch them doing something right.” That is, just as you’d go through somebody’s code with a fine toothed comb while criticizing it, do the same but look for clever code, well documented code—whatever’s important to you. Find the good things they’re doing and stand up and say “you did a good job on this.” One of the most rewarding experiences you’ll gain from leading people is the feeling you get when you thank them for their work. When times are tough, sometimes it’s what keeps you coming in the morning.
Don’t ever humilate your colleagues. If you discover some bone-headed code that crashes the system repeatedly, always leave a side door open for escape. Talk to the programmer privately. Programmers are people too...you don’t know if something big is going on in their personal life. We all have problems. When you respect your team as people first, you will be able to count on their support, even when you don’t think you need it. The best way to gain approvals, from department heads, customers, quality groups, etc., that DONT respond to those requests, is to ask for rejection in writing. In other words, email your requests for approval stating that “unless otherwise noted in writing by so-and-so date, we will proceed with the following <purchase> <feature> <whatever>. CC everyone that is relevant. You will get what you need, or at least, you’ll have a tight documentation trail should problems arise in the future.
Sunday, November 13, 2005
Saturday, November 12, 2005
Investment strategy
Monday, October 03, 2005
Quote of the week
Thaughts on Traditional MBA:
Whatever be the qualifications of your tutors, your improvement must chiefly depend on
yourselves. They cannot think or labor for you, they can only put you in the best way of thinking and laboring for yourselves. If therefore you get knowledge you must acquire it by your own industry.
Friday, September 23, 2005
Gas (DIS)Advantage Homes
Tuesday, September 20, 2005
US Financial markets obsession with Greenspan
Monday, September 19, 2005
Bad state of the dollar bills
Thursday, September 15, 2005
Human nature for blaming
Wednesday, September 14, 2005
How to bring a new person upto speed in a development environment
If the system already has unit tests, check what the existing code coverage is and provide a resonable new target % to achieve code coverage upon with new Unit Tests. This is a bit more tricky and would require some hand holding.
Tuesday, August 23, 2005
DB2 deadlock issue
Saturday, August 06, 2005
Jury duty experience
I organizer forewarned for the first timers that jury duty involves a lot of wait. That tells me the system has some flaws. Luckily they had a projection TV and started screening Village movie. Eventhough I had seen the movie before I didn't mind watching over again. Couple of times the movie was paused and the organizer called out 30 names in random by the order of some judge. The movie was almost reaching a climax where the blind girl is in the forest all by herself when it was paused again. This time my name was the first to be called amongst 30 chosen. After some minor procedure explanation we were taken to the court room. The judge and the defendant and the attorney were there. The clerk called in 12 names at random to sit in the jury box. The prosecuting attorney briefly introduced the case.
It was case bought in by the DA's office of NC against a 19 year old boy. The charges were taking indecent liberties with a child and committing a act against Nature. Some of the jurors were not comfortable hearing about anal sex and specifics. Both the prosecuting attorney and defense interviewed the jury and I was called into the 12 after one of the jurors had to be excused. The jury selection went on the whole day and continued on the next day. Finally they had 12 + 1 alternate juror as backup. The incident occurred on Dec 28 2003 and only now it is being heard. Whatever happened to the concept of Justice delayed is justice denied. The first witness was the victim himself. The witnesses testified the next couple of days. At the end of all the testimonies the judge explained to us what the charges are and what is the law is and what the sentence would be if found guilty.
We were off to the jury room to deliberate. We took an initial vote and it was 8 to 4 for not guilty vs guilty. Next 5 hours the deliberation went on. No consensus. We informed the judge we cannot unanimously agree on a decision. The judge declared the trial as a mistrial and sent us back home after 4 days. That is all to it.
Both the victim and defendant being boys ( 17 and 12) no big deal the claim of rape. There were too many inconsistencies in the victims story. In fact all jurors agreed that the defendant was setup. It is just the age factor that made the incident a crime.

