/*Power Programming Point: 01/01/2008 - 02/01/2008 Power Programming Point

Learn about the business, technical skills are not enough

This is a small article I wrote last week.
As Featured On Ezine Articles Every big company knows the importance of having a strong Information Technology department capable of delivering high-quality products i.e., efficient systems. Usually, the benefits obtained with system improvements are difficult or impossible to measure monetarily and the IT Department tends to be considered a non-lucrative division. Thus, IT departments try to prove their value by focusing on delivering solutions faster and more reliable.

The necessity to deliver results quicker, sometimes, creates the necessity to recreated, adapted or ignored software development methodologies in order to comply with the companies’ necessities. In some companies, developers are just thrown into the cooking pan without proper training or an appropriate methodology to follow. As a result, system’s quality decrease, the system becomes unstable and Quality Assurance testing has to be reinforced to solve problems increasing delivery time as problems discovered in QA have to go back to development and start over again.

Inside this culture, we still have some IT professionals who believe that it is not important for developers to understand the business aspects of the system where they work. These professionals believe that a technical view of the system is enough which might be true in less complex systems or in places where Systems Analysts still exist. However, many developers today work directly with Business Analysts who try to translate business requirements in a language they can understand. If these developers have business knowledge, the BA work becomes easier and hardly will developers start their work based on misunderstanding business concepts. This certainly makes the software development process faster and the results more reliable.

More than developers and programmers we need Power Developers or Power Programmers. We need professionals who are not only highly qualified in technical aspects but who are also business proficient. They must be interested in their company’s product and its methods. Along with the Business Analysts, they will develop better solutions; give valuable suggestions to help in improving the system and they will also be more proactive. By balancing technical skills with business skills they are a step ahead of their peers, the ordinary developers or programmers.

Every programming language is composed of a limited number of commands and techniques which many can master and become programmer experts. However, what makes some developers more valuable than others is their capacity to integrate their technical knowledge with their business knowledge as well as their ability to see the big picture and understand where their work fit. They bring valuable advantages to their companies by delivering better solutions, in less time, with less support and less need for maintenance later on.

In order to improve your skills, you can start by trying to better understand the tasks you have in hand and how they fit in the company’s system. Try to look at the big picture. The analyst working with you can certainly help or you can ask a co-worker that you know is more experience with the system. People usually like to help and share their knowledge if you present yourself as an ally. Even if you tell your boss that someone helped you on doing something, he will appreciate your work if you deliver something more valuable, more reliable and/or faster.

Do not forget. Be proactive. If you find a problem or get stuck in your work and need help with the analysis or with deciding which way to take, before asking for help try to understand as much as you can about the problem and try to come up with different solutions to fit the different scenarios you found. Bring solutions to table, not problems. Your efforts will certainly be recognized.

External article: Confessions of a terrible programmer

This post is very interesting: Confessions of a terrible programmer.

An experienced programmer break some assumptions and look at the programmer's job from a different perspective full of irony. Don't take it too serious, you are not supposed too.

Power Programming Point

External article: How to recognize a good programmer

Here is an interesting article: How to recognise a good programmer.

It focus mainly on technical skills, characteristics of highly skilled programmers and how to recgonise them when hiring a programmer. However, who needs a just-programmer nowadays? Don't companies need more than that? Don't they need people capable of understanding their business, seing the big picture and understanding where their work fit?

The skills mentioned in the article might be good to find good coders, but it won't help in finding someone who is capable of helping on improving a company's system. As someone already said in a comment there, some of these bleeding edge programmers try to push a technology where it does not fit.

The Paul Graham article mentioned sounds strange, "what killed most of the startups in the e-commerce business back in the 90s, it was bad programmers. A lot of those companies were started by business guys who thought the way startups worked was that you had some clever idea and then hired programmers to implement it." The business guys don't know how to hire a programmer and the programmers are responsible for the startup failure? I mean, wasn't the business guys the ones who failed by hiring unqualified programmers? It seems to me that people are trying to assign blame and if the business guys where more focused in contracting programmers with better business skills instead of the technical skills mentioned on the article, they would probably have higher chances of success.

People who believe the best programmers develop programs at home, in their leisure time, for fun, probably believe that the best pathologist has a corpse at home.

On conclusion, I believe that what makes a great programmer are a set of soft skills, mainly, their ability to understand the business. As I mentioned here: The Importance of Soft Skills.

Power Programming Point

A good DB2 for mainframe page

For those of you interested in learning DB2, this site is a very good source of information related to mainframe.

The content is clean and right to the point with lots of examples and code snippets.

I hope you like it.

db2examples

Power Programming Point

IT skills for 2008

I came across a very interesting article from itWorldCanada about important IT skills that can help you get a job in 2008 and, as I have been saying, business knowledge is one of them.

There is a very important idea expressed by a manager in this article: it is not hard to find an IT professional with good technical skills, but it is hard to find one who has business skills, a mix between business/analyst and programmer/analyst.

The eight important skills mentioned are:

  1. Programming/application development
  2. Project management
  3. Help desk/Technical Support
  4. Security
  5. Data Centers
  6. Business knowledge
  7. Networking
  8. Telecommunications

Click for the article: Eight IT skills almost guaranteed to land you a job

Power Programming Point

Not only programmers but Power Programmers

I started this blog to help people that work in big companies. I have been working in mainframe environment for ten years, playing different roles. I also developed a small Project Management system using Microsoft Office and VBA for couple of years.

Here, I am more focused on soft skills, those characteristics that differentiate highly skilled IT developers. Later, I will focus on technical skills but, for now, I will explore important traits for people who work for companies and have to deal with co-workers, managers, business analysts, end-users, shareholders and others.

To begin with, I am trying to define a new kind of programmer: the power programmer. Power programmers are developers, or programmers, who are more than code-writers. They are more similar to analyst-programmers, people who understand the system where they work, as well as, the business rules.

I have worked for insurance companies most of my life and I can tell you that the most successful professionals are those highly skilled programmers, some are even average, who understand the system, business and the company culture.

If you want to move forward in your career and be well regarded in your workplace, you must focus on your soft skills along with your technical ones. You have to show interest in your work and constantly ask yourself: “how can I become a better asset to my employer?”

I will discuss what you can do to improve your chances of success inside your company.

Power Programming Point