Feeds:
Posts
Comments

After completing my engineering from NIT Trichy I joined as Software Engineer at Conexant Systems , Hyderabad Aug 2007. I was very happy about getting through Conexant as I knew the job would be challenging and provide me with plenty of new learnings.

About fifty odd freshers joined in Software domain at Conexant and there was proper training planned for us (they must have put a lot thought in design of the training content). It gave us very good idea on Embedded Systems, virtually covering all the topics in the area. I would say I was lucky to go through this excellent training, which provided me great platform to start off with my professional career.

It covered following aspects,

1. Effective Programming using C:
Topics covered: Basic programming; data structures such as arrays, linked list, graphs and trees; algorithms for sorting, searching and some graph algortithms; and a lab on all topics covered in theory.

Essentially it was similar to Data structures and Algorithm course done during engineering, but it was nice to revise again.

2. Embedded Systems Programming:
Topics covered: Intro to Embedded systems; Basics of RTOS; Software tools such as debugger, linker, compiler; Object file formats and how to make sense of it; OS Internals and drivers; Designing a Real time system, design modules and a Case study.

This was the best training session, as you would see it covers all the important topic in Embedded System programming. Many things learned from this training which are still useful.

3. ARM Architecture:
Topics covered: Intro to RISC, overview of ARM architecture, Thumb instruction set, Interrupts in ARM, Caches and memory mapping etc.

This was another very good training, Embedded engineer must know about ARM architecture as it is most widely used in industry. I liked the concepts of Thumb instruction set and instruction decoding in ARM.

4. Linux Kernel Internals:
Topics covered: All the chapters from book Linux Kernel Development by Robert Love

I had good idea of Linux kernel before joining Conexant, but this session cleared all the doubts and gave a good overview of writing a device driver for Linux. Must buy / read book by Robert love.

5. Socket Programming:
Topics covered: This session gave overall idea about networking and how one can write socket in C.

6. Introduction to Testing:
Topics covered: This session gave idea about how testing fits into large picture, why testing is very important, and made sure that engineer does not neglects testing and considers them as important as development.

There were some sessions by HR on topics Assertive communication and team building exercise. Some good videos were shown for Assertive communication techniques such as fogging, broken record, Negative inquiry etc. Communication is as important as technical skills in industry (which many times people tend to neglect), and one has to improve upon it constantly.

Cross posting from embsystems blog; http://embsystems.blogspot.com/

As I would be moving out of Bangalore in few days, I wanted to sell my cycle which I bought in March last year. For selling it, I first went to few cycle shops nearby and got the idea of how much they would pay for this cycle. Every one told me that I would get around 1.5k not more than that.

I thought of using different medium to sell my cycle. I first thought of Twitter to sell it, so that people who are interested in it can reply back to me. But that wasn’t good enough no one replied to me, may be my network at twitter is very limited.

Then I posted free ads on Locanto and Sulekha, and to my surprise within a day I got contact of 3 people interested in buying my cycle. In particular Sulekha provides very good service, every time some one clicked on your ad as interested you would get a sms with his name and mobile no. So you can directly contact and negotiate price. Through Sulekha only I found contact of a student who recently lost his cycle and sold him happily for 1.8k.

Next, I want to sell my engineering books !

System:

A system is defined as a set of different elements so connected or related as to perform unique function not performable by the elements alone

Architecture:

The term ‘architecture’ is widely understood and used for what it is – a top down description of the structure of the system

- System Architecture definition by Eb Rechtin

System Architect is one of the crucial jobs in embedded industry and to reach there one should have various skills required apart from solid domain level skills. The essay (link below) by Dr. Koopman covers in detail the core competency required to become System Architect, they are as follows

  1. Must have an appreciation for the full breadth of complexity in the lifecycle of a system.

This would require years of experience working in various domains within a system and only then one can appreciate inherent complexities.

  1. Must have experience/knowledge of the strengths and weaknesses of various architectural approaches as well as ways to combine them.

This could be learned by knowing various approaches and should know when one can be used in particular system.

  1. Must have the ability to cope with significant amounts of complexity while creating or modifying architecture.

This is also very difficult skill to learn, would require working knowledge of various tools and to help deal with complexity.

  1. Must be able to articulate the essence of particular system architecture to others.

System Architect role is a of a leader, and excellent communication skills are expected from him. He should sell his vision and idea to the team, customers and all the stakeholders.

  1. Must be able to deal with systems that are evolved/composed rather than designed from scratch.

This is important as many of the systems or products are getting evolved, no one is designing everything from scratch.

  1. Must have good “taste” to create a “clean” architecture that scales well and ages gracefully in the face of unforeseeable changes.

Sometime the need comes to design entire thing from scratch, and here he has to play a crucial role.

Link:

1. Essay by Dr. Philip Koopman http://www.ece.cmu.edu/~koopman/system_architecture/00_04_system_architecture.pdf

Cross posting from embsystems blog; http://embsystems.blogspot.com/

Embedded Systems Blog

The area of Embedded Systems is quite close to my heart, thats why I have decided to write a blog on this topic. I would like to cover higher education, Indian industries, market updates and application areas in detail.

Do visit it at http://embsystems.blogspot.com/

Your valuable feedback is always welcome.


MSc in Embedded Systems at Delft University of Technology (or TU – Delft)

TU – Delft is one of the college which offers MSc in Embedded Systems. The course is jointly offered by three Dutch universities; TU Delft, TU Eindhoven and TU Twente, and it’s called as 3TU program. I liked the course structure and it’s designed with a lot of thought into why there should be a separate course on Embedded Systems at first place.

The main reason for having a separate course on Embedded Systems is that in ES field an engineer is required to posses system level skills in a wide range of disciplines such as computer science, electrical engineering, real –time computing, system architecture, control engineering, signal processing, security and privacy, computer networking, mathematics, hardware, sensors and actuators. Thus to create these multidisciplinary skills it requires fundamental change in education and ES course emerged.

Course Overview:
Duration: 2 Years (120 EC)
Approximate cost for one year: Tuition Fees: € 8600 and Living expenses: € 7750

Few stages in the course,
1. Homologation
This phase is prerequisite phase, here a student from Electrical background can take CS courses and vice versa.

2. Compulsory courses
Total of 30 EC (European Credits defined through European Credits Transfer System ECTS) been allotted to 6 core courses.
a. System Validation (formal methods, model checking)
b. Software testing and Quality Engineering (testing in large Embedded Systems)
c. Real time systems
d. Performance Analysis (performance modeling of computation and communication)
e. Embedded Systems
f. Embedded Computer Architecture (contemporary embedded processor, microcontrollers)

I think the design of the course is such that it covers mainly all important areas of ES. The courses on System Validation and Testing are very important as Testing and Validation consumes around half of the resources in development life cycle.

3. Specialization
There are various tracks in which student can specialize, which are
a. Embedded Software
b. Embedded Computer Architecture
c. Embedded Circuits and Systems
d. Embedded Networking

4. MSc Thesis
And finally there is MSc thesis which is of 40 EC, which can be done either in industry or in academia.

3TU Program:
As the MSc program is jointly offered by three universities, a student joining either of the college automatically gets admitted to other two universities. The core structure of course remains same at each university but the research focus is different at each of them.

For example, Delft has more focus on Embedded Software and System level engineering rather than component level engineering which is usually done in Computer Engineering courses.

Personal Comments:
1. The course content is excellent, hard to find similar course any where in the world (believe me). From industry perspective it covers all the required subjects would help to develop a System level skills.
2. For research work, the computer engineering dept at Delft offers many projects especially in the areas of Reconfigurable computing. Also one can look at Embedded Systems Lab (ESL) at TU / e.
3. Delft is one of biggest and oldest engineering schools around and a member of prestigious IDEA group. As it’s the advantageous with all big schools, here at Delft too student can look forward to work with Aerospace dept on new satellite project (similar to Delfi) or Software engineering dept to work on Static code analyzers. Thus for a student interested in Core engineering, this is the place I would say.

Finally If any one is interested in Embedded Systems and wants to pursue higher studies in this area then this is one college not to miss applying for. Fortunately I knew about this course and I applied and received an admit too. For more information go through the links below.

Links:
1. Official site of ES dept:
http://www.tudelft.nl/live/pagina.jsp?id=11b86a67-fc3e-4daa-81e9-a1cbbda52847〈=en
2. Delft curriculum on Embedded Systems:
http://www.st.ewi.tudelft.nl/~gross/Publications/Gross_2006_WESE.pdf
3. TU Delft- Detailed Costs for M. Sc. 2009-2011:
http://spreadsheets.google.com/pub?key=pwxvvhp3oPpVQj1pMlcJxLg&gid=1
4. 3TU Course site:
http://www.3tu.nl/en/education/embedded_systems/
5. IDEA league site:
http://www.idealeague.org/

Cross posting from embsystems blog; http://embsystems.blogspot.com/

Basic Skills Required

Embedded Systems* is a really huge industry and a very much diversified one too. The application area varies from designing a mobile phone, set top box device to industrial control, robotics etc. and also it requires interdisciplinary skill set for development. The various application areas and skills set for each could be another topic, which I would have in future posts.

For this post, I would limit my self to skills required for a basic Software Engineer in this domain. Similar to kind of job which I am doing in Bangalore for past two years.

Kind of Job profile:
You would be working on a particular product (such as Mobile Phones, Set top box or related to automobiles), and responsible for maintaining, development of various modules in any particular domain. The domain could vary from Telecom, Video, Audio, Drivers, Multimedia or UI development. Initially domain skills are not necessary but over the years you are expected to become master in one particular domain, thus after some time you cannot easily jump over multiple domains.

Companies:
Motorola, Samsung, Qualcomm, STMicro, NXP, LG Software etc. etc. (all in Bangalore)

Basic Skills:
a. Good coding skills in C (or C++): Very good knowledge of C language is good starting point. Suggested books are K&R, Expert C programming etc. Have a good hold on pointers, memory allocations and bit manipulation.

b. Debugging and Problem solving: This is very crucial skill in this domain, as most time is spent debugging other persons code. As an good engineer, you would be having essential skills to start up with.

c. Operating Systems concepts: A basic undergraduate level course would do, better if you know about Real time system and kernels but not mandatory.

d. Computer Architecture: Especially knowledge of any RISC architecture,recommended is to know ARM architecture, as most of the embedded devices use ARM IP in their SOC.

Other Advanced skills required are based upon domain you wish to work, such as Wireless or DSP. For this its better to have understanding of Wireless Communications (mainly protocols) and DSP (Audio and Video).

Thats all for today, in future I wish to write upon detailed job profile, exact skills and how to develop and nurture career in this space.

* When I say Embedded Systems, I restrict myself to developing Embedded Products

Cross posting from embsystems blog; http://embsystems.blogspot.com/

Find the connection

Came across this nice puzzzle at maayboli forum, try to connect these pictures..

maayboli quiz

Edit: For answer please check comments

Got Visa at Chennai

chennai central

I spent around 10 day preparing for my visa interview and finally the interview was over within a minute (seriously). After seeing that I am going to Carnegie Mellon, visa officer only asked how long you have been working? And who is going to fund your education? Then I heard those magical words “your visa is approved, you would receive in weeks time”.

It wasn’t excitement as such, but a great relief. Now almost all formalities are over, just have to relax, concentrate on work, leave Bangalore in mid July, go home, pack and leave by July end.

After the interview I went to Landmark at Spencers Plaza, but could not decide upon which book to buy, was not able to judge based upon cover. Finally settled upon buying known books, “Lexus and Olive Tree” by Tom Friedman (quite old in this context but wanted to read anyway) and “Stay hungry Stay Foolish” by Rashmi Bansal (a very nice book, at least from few chapters I would say).

sarvana bhavan

Had a nice mini meals at Sarvana Bhavan and caught train to Bangalore. In all it was plesant short visit to Chennai.

I was thinking about this for a long time — is Dhoni a good leader, or is it just a fluke

After winning T20 WC everyone refrained to comment about his approach at an early stage, adopted a wait and watch.  After that he is really unstoppable, many landmarks on his way. One could like him/ hate him but can not escape his persona.

I was thinking about what could we learn from Dhoni as a leader. The following things I could clearly see,

1. A leader is someone in his presence he could command respect, motivate people and then people perform their best. This is true in case of Dhoni, look at the way Sachin plays now!

2. Dhoni seems to be confidant of himself which is the most important virtue I feel. Before coming to Indian side he wasn’t among good wicket keepers, but he practiced a lot and it shows. This is important as you always want to see your leader in full confidence and want him to take control of situation.

3. Dhoni never shows emotions on the field very much calm and composed. This is the basic rule many people seems to miss, as a leader you don’t want to show anytime that you are under great pressure. Whatever may be the pressure the leader has to absorb and do not let it pass to next level.

4. Dhoni may not be the best player on the field, Yuvraj or Raina might be best in terms of talent. Thats what it shows, leader never have to be the best one in the room, he just needs to do job well.

5. Empower the team, give each one a well defined role. This is what is happening to Indian team, each one is free to play as he wants and I think every one has a fair say in team.

I think Leadership is all about Inspiration, and a leader has to be judged on the basis of how well he inspires the team. The bean counter or continuously tracking methods of management are things of the past. In this new age you want people to take initiatives, give them flexiblity to performy. Only thing they would need is Inspiration and Motivation and there the role of leader comes in.

Traveling with my parents is fun, I greatly enjoy their company. Few months back in March, we traveled across Rajasthan. It was nice memorable trip, we stayed around 4 days comfortably in Mt. Abu and on final day visited famous Ranakpur temples. In all we visited four Jain Temples of Rajasthan.

Tarangaji Jain Temple

Tarangaji Jain Temple


Ranakpur Temple

Ranakpur Temple

Link to whole album is here

Older Posts »