YII Presentation



Company: ARM Ltd
Team: mbed (SDD)
Role: Software Engineer
2012-2013

By Tharshan Muthulingam

CSE Student by day, Developer by night

Contents


  • Who are ARM?
  • Who are mbed?
  • What did I do?
  • Problems Solved
  • Lessons Learned
  • Benefits
  • Work Samples
  • Questions?

ARM?


  • Advanced RISC Machines
  • Their business is processors and support tools
  • They license their ARM architecture, for lots of $$
    • Cortex M series, A series
  • like x86 but reduce instruction set (RISC), so low power.
  • If you have a modern device - smartphones or tablets
  • 90% chance it has an ARM chip inside.
  • many divisions.

WHERE DID I WORK?

  • mbed (SDD)
  • Their business is microcontrollers
  • Similar to Arduino
  • Low Power, C/C++ SDK, Professional Community
  • mbed.org is a service for users of the hardware
  • online compiler, version control, QnA, forums, Wiki
  • biggest advantage of mbed is no setup required, its plug and play.
  • Team of 8 people

Microcontrollers



What DID I do?

  • Title - Software Engineer (Intern)
  • Worked on mbed.org, utilising python, Django, linux etc
  • Created several major features independently:
    • QnA app similar to StackOverflow
    • Internal Server Dashboard
    • Pull Request Mechanism
    • Test Infrastructure
  • Supervision for new designer
    • 30% New Features, 70% Maintenance
    • Brief Stint as embedded engineer
      • Working with mbed SDK using C/C++
      • Other stuff I had no clue about

    MBED



    Problems and Solutions

    • Fresh eyes on problems, usually yields better results
    • Tasks that required me to rework parts of the system
      • Popularity metrics of libraries and programs
    • Testing critical code
    • Improve community interaction
      • New features
      • Competitions (japan mbed hackathon)
    • Scaling
    • Consistency in design and code style

    Lessons

    • Go on time
    • Ask questions, but also learn to work independently
    • Track tasks and time, and work to schedule
      • 2 Week Sprints
    • Big companies like meetings
      • Scrum meeting everyday at 11am
    • Suggest ideas, but be prepared to take responsibility
    • Always bearing in mind that users are important
    • Keeping UI simple, so UX is pleasant
    • Test properly
      • as a user not developer

    Social

    • nice workplace
    • cambridge is friendly and lively place
      • cycled to work
      • winter fare, food festival etc
    • pub lunches and occcasional outings
    • company fair every year
    • sports clubs
    • in house gym

    Benefits

    • Great Environment and Culture. Interesting Work. Great people.
    • Working with smart(er) people
    • Chance to test the waters
    • Networking
    • Possibility of doing something unexpected
      • Third year project - Simulating a Microcontroller
    • nothing beats experience (in this line of work anyway)
    • no exams, no coursework. just lots of fun - well kinda.

    Testing infrastructure

    internal Server Dashboard

    Project proposal

    Pull Requests

    Q&A




    Questions?


    YII Presentation by Tharshan

    By Tharshan Muthulingam

    YII Presentation by Tharshan

    YII Presentation by Tharshan

    • 1,441