Featured Engineer

Interview with Amr Ali Abdel-Naby

Amr Ali Abdel-Naby

Amr Ali Abdel-Naby - RnD Engineer at SECC

Can you tell us a little bit about yourself?

My name is Amr Ali Abdel-Naby. I work as a full-time RnD Engineer in SECC for 7+ years now. In SECC, I gained good knowledge in Embedded Systems. I do the complete SDLC for a product, public training, technical consultation, and sourcing services. In addition to my work in SECC, I work as a a freelance telecom integrator, technical and business consultant, and I own the technical blog www.embedded-tips.blogpsot.com.

How did you get into electronics/engineering and when did you start?

My dad was a professor of production engineering while my mom is a metallurgical engineer. The natural result for that was that I like engineering as well. I joined the faulty of engineering in 1999. The first year in college is a preparatory year, where we take subjects from different departments. I only found my self in subjects related to electrical engineering. More specifically, electronics and communications engineering. In the following four years, I discovered how good was my choice was. I graduated with a cumulative grade distinction with honors.

What are your favorite hardware tools you use?

Most of my work is related to SW development on target boards. In addition to target boards, I only use 2 HW tools; the debuggers and oscilloscopes. Although I am convinced that these tools should be the last resort for a SW developer, they are interesting to use. Debugging is like an art, and these tools proved to be handy for me when I have a serious problem in my projects.

What are your favorite software tools you use?

I use many SW development tools during my work, starting from development tools and ending with SW process management tools. I feel attracted more to open source development tools like the GNU tools and Eclipse based IDEs. Regarding SW process managemnt, I prefer IBM Rational tools like ClearCase, ClearQuest, and Test RealTime. Recently, I had the chance to work with static code analysis tools. These tools are magnificent in discovering without the need to run the code I am developing.

What is the hardest/trickiest bug you have ever fixed?

I was involved to a year and half project where my team was developing a portable multimedia player. Our goal was to have VLC running on TI Davinci platform. The trickiest part was to have the VLC working on ARM + DSP. After profiling for a couple of months and porting some codecs to the DSP, we integrated it to the complete system. During testing, we got a green screen! With the lack of debugging tools, we had to use our imagination to figure out the problem specially we had no prior experience in multiprocessing programming. After 2 weeks of working, a single sentence in the documentation made the breakthrough. It resulted in a single line of code added to our code and we had the system working fine. I learned from that before getting my hands dirty into coding, I have to read the documentation carefully.

What are some of the embedded tips that you suggest for the EE community?

Embedded engineering is a vast area. Do not get distracted and focus on a certain area. The harder the knowledge you gain, the greater the value you earn.

Do you have tricks up your sleeve?

I learned a great concept that I learned from HW engineering. Always code with testability in mind. Add your own tracers and loggers that can help you verify your design assumptions at run time as well as compile time. A good example, I always advice is the book Writing Bug Free C Code.

What is on your bookshelf?

Many books related to the embedded SW.Examples include, but not limited to, Writing Bug Free C Code by Jerry Jongerius, Hello Android by Ed Burnette, and Building Embedded Linux Systems by Karim Yaghmour.

Do you have any note-worthy engineering experience?

Last May, Nokia in Egypt contracted me to provide a Bluetooth/proximity marketing machine. They planned to use it in Cairo ICT expo. I had a very tight notice. A younger engineer, I trust a lot called Omar Fadl, managed to integrate open source SW over a HW to get the stuff working. The blow up was that I sold a non-working machine! Whenever we tried it, it works. Whenever they try it, it halts. Omar is really a genius who managed to solve the problem at the customer’s site without their notice. I do advice, test your products in an environment similar to your customer’s environment.

What has been you favorite project?

I did enjoy all the projects I worked in. I always say, even if you do not like your project, at least you learned not to do a similar one in the future. At earlier stages of my life, I enjoyed lengthy projects like the portable multimedia player, where I was subjected to the complete system development life cycle starting from the requirements writing, architecture design, detailed design, coding, system testing, and release. Recently, I focus on short-term projects where I develop a hack-like applications to prove a certain concept. A good example was porting an open source speech recognition engine written in J2SE to J2ME and supporting Arabic language.

What are you currently working on?

I am working on porting Android.In the current quarter, I am porting Android to a new platform and I am documenting my experience in 3 Days course that will be delivered through SECC starting from Q2, 2012.

What is www.embedded-tips.blogspot.com about?

Linus Torvalds the father of Linux was asked once what was the drive behind writing a free kernel. His answer was about that the knowledge should be availed for free. In December 2009, I decided to make a technical blog where I can share my humble knowledge through simple courses and labs. I focused on Embedded Systems. My friends liked the idea and encouraged me. Even 2 of them, I call them SAMS, they added to the content by sharing a digital design course using VHDL. We are trying to build Egypt 2.0.

What direction do you see your business heading to in the next few years?

I plan to establish a technical/business services company specialized in embedded software development, telecom integration, mobile development, and business consultation.

What challenges do you foresee in our industry?

Recession is the biggest challenge, specially it will have many cycles. It will be hard in the next days to sustain business. Engineers will have to look for more innovative and niche solutions that attract investors and consumers.

Previous Spotlights

 
Click Here