Java was the buzz word as developers came together for theOracle & iHub Kenya Java day at the Panafric Hotel yesterday (22nd November). It was a great gathering of like minded Java developers brought together by Oracle who were showcasing their various tools that make it easier for developers when coding applications. But it was during the interactive Q&A sessions that I noticed an interesting overriding theme that was repeated to the eager young audience. Allow me to digress, question what are some of the major hindrances to local developers when it comes to selling their product to the market? Now while we can all come up with various answers to this questions which the audience at the Java day also did, one particular answer stood for me personally. Customers do not believe that local software matches the standards of foreign ones. So is the problem on the end user side or the developer? Which brings me neatly back to the subject at hand, one of the recurring themes during the Java day was the need for more developers to begin to focus on enterprise solutions. Currently we seem to be knee deep in all sorts of applications catering to a wide range of needs. However what percentage of current developers caters to the huge demand that exists for enterprise applications?
Let’s not jump the gun, so what exactly are enterprise based applications? Put quite simply they are applications used to solve problems or address the needs of a business. For example an online clothes retailer may require a method in which clients can be charged for purchases. In this case an application that would assist in the processing of payments is an enterprise application. Some other common enterprise applications include automated billing systems, content management systems, among others.
So what exactly can developers do in order to begin reaping the benefits and tapping into the enterprise applications market? Here are a few tips that I picked up from the Java day.
1. First of all listen to the customer before coming up with the solution. It is important to have a thorough understanding of the market place and customer needs, wants & demands. Remember enterprise applications are built to address specific needs. Hence trying to guess what exactly the customer needs seems almost like a futile attempt. In this case the old adage the customer is always right rings somewhat true. Conducting research to find out the specific needs of your customer will save you the inconvenience of developing an application that is not needed.
2. Think stability on top of functionality. As a developer it is often tempting to fall into the trap of as soon as the app does what it is meant to do then the work is officially done. As paramount as functionality is to an app stability is also as important. A great example of functionality but no stability was the IEBC app that caused quite a bit of ruckus when it suddenly crashed while electoral officers were uploading their results. On the surface the application worked fine but unfortunately it could not handle several users at once. On that note Oracle presented an interesting process they call Real Application Testing. This is a tool that picks up an existing real world load and runs it on your app to determine how it fairs under a stress test.
3. Team work team work team work. It seems like a bit of overkill to repeat the word thrice, but this is an often forgotten aspect of not only enterprise applications development but also being a developer in general. Often when you mention the word programmer or developer the image that comes to mind is someone hatched over their laptop typing code in a manner that can only be described as fast & furious. Developers often oversee every single process from data gathering, design and developing. Being a Jack of all trades may not be the worst thing but dividing work and specialization helps immensely when undertaking a project. That is why communities like the iHub exist to provide connections where techies can meet, make connections team up and form viable businesses. At the end of the day it’s all about team work.
4. Lastly break down that information. When a client asks about a project and you throw terms like SQL Performance Analyzer, and you wonder why he or she is blankly staring at you as their eyes glaze over remember outside the techy community you might as well be speaking a completely different language. This ties in closely with understanding a client’s needs but at the same time breaking down information in a manner that is easily understandable. This will help a client understand your process of working without having to Google the large terms thrown at them.
All in all the Kenya Java Day was great and it was insightful to listen to Oracle's plans in the country.