I recently had an interview with Fred Odhiambo from Intel East Africa. He is a developer and his work is to help developers come up with software applications that can successfully run on Intel architecture like the Samsung Galaxy Tab 3, The ASUS Fonepad and the Intel YOLO smartphone. The interview is as follows:
George Murage: Hi Fred, please tell us more about your educational background.
George Murage: Oh! Great. OK, Which code source control do you use and why?
Fred Odhiambo: I use Bit Bucket. Bit bucket supports unlimited number of private repositories for free while you pay for that in other providers.
George Murage: We have seen initiatives like the Intel SSG that was launched in Kenya sometime in July and a lot of other efforts from Intel such as the Intel Shark Tank and the Intel Codefest in Uganda. Mind telling us why Intel cares about software?
Fred Odhiambo: As far as most people/developers are concerned Intel deals with hardware only. The organizational function I work in is called the Intel Software and Service Group. This group constitutes of 12,000 employees who work closely with independent software vendors and operating system vendors. Our aim is to enable them make the most of our hardware by developing software that runs optimally in our platform. In the developer space which is my main focus locally (in East Africa), I seek to enhance local innovation and provide technical expertise support and tools to developers that enable them create applications with rich user experience on devices running on Intel technology.
GM: Do you have any preference as far as development goes? You have mentioned C++, Java for Mobile (J2Me), and Java. Does this mean you’re a big advocate for native development? Please also explain what ‘Going Native’ means?
FO: Going native means developing differentiated Android apps using native programming languages like C, C++ or Assembly Language. You’re probably asking what native development does as opposed to Dalvik development. Well, native development gives the developer a better, differentiated app that takes advantage of direct CPU and hardware access. Native development is good for performance intensive tasks like signal processing, image manipulation and complex algorithms. A look at Google Play numbers will reveal that 68% of top 300 free apps are native Android apps and only 32% are Dalvik Android apps. This trend is the same for Top 300 paid Android apps, where 80% are native Android apps.
GM: You seem to be a proper developer. How many apps have you developed so far? Which are the successful ones and why?
FO: I have developed a total of 5 apps and they all run on different platforms i.e. J2Me, Android, Qt and HTML5. The most successful of these
is a mobile phone utility for the Blind, a free text to speech application based on low end, inexpensive java phones. The application helps visually impaired persons to use their mobile phone utilities with ease, i.e. calculator, SMS, phonebook, and other phone functions. This application is in Swahili which is the most widely spoken language in East Africa, after English and is being used by visually impaired and blind people across the country and has had a huge impact on the lifestyle of the disabled.
GM: Onto games now – You have been really pushing for Havok gaming engine. Tell us why a game developer should be paying attention to Havok gaming engine.
FO: First, the Havok Gaming engine enables developers to create world class gaming apps. Secondly, the Havok Gaming Engine is totally free, is cross platform meaning it supports Android, iOS, and Tizen and has a published roadmap with regular releases.
GM: Are you learning anything new right now?
FO: Yes; something called Perceptual Computing. It is a branch of computing that focuses on Research & Development of technologies that leverage on natural user interactivity enabling users to interact with their PCs in more intuitive, natural engaging ways. Main modes of interaction are speech recognition, finger/hand gestures, face recognition and augmented reality. A typical example is the facial login, no passwords required at all, the system “remembers” the user.
GM: Let’s talk security for a minute. There’s something called SQL Injection which I see some websites that get hacked suffer from. What is is?
FO: SQL Injection is a common hacking technique that targets poorly coded websites. This technique attempts to pass malicious SQL statements through a web based application for execution by the server side database. If not developed robustly, web applications may suffer SQL injection attacks that can view, edit or wipe out the database of the application.
GM: There’s a lot of budding developers in East Africa and even as far as in Africa as a whole who look up to you especially because of your education background and the role you plan at Intel. What would your advice to them be?
FO: Sign up at Intel Developer Zone Africa. It is a global program that enables developers to engage with Intel on topics related to software and is designed to answer today’s software development challenges. The portal gives developers to our latest software development and optimization tools. And one last thing, when you’re thinking of development, think Native. Developing native will give you as a developer an app that takes advantage of direct CPU and hardware access and a differentiated experience.
In case you need to contact Fred for any development advice reasons, reach out to him via email on firstname.lastname@example.org