We are looking for an embedded and DSP software developers with outstanding abilities.
Such people are hard to find, and even harder
to find through conventional human resources departments. It is for this
reason that I have put a job ad on my personal web page.
So far, we have hired one person using this job ad. That developer has previously
ported FreeBSD to the SPARC processor. That sort of qualification really impresses
me.
The Position
The job involves developing embedded real-time firmware and / or DSP code for a wireless
protocol stack at Research In Motion. You will be reporting to one of my coworkers
or me.
Most of the work is done in the C programming language.
However, an understanding of assembly language, as well as some hardware
basics, are essential in carrying out this task. Use of debugging tools
is limited, and debugging software problems with an oscilloscope or logic
analyzer is not uncommon.
Your qualifications
You have less than 20 years of experience. You are not an academic.
You have worked on real time and / or low-level software.
You know some assembly language, and have potentially used it to diagnose
compiler problems, or at least checked up on what the compiler does to your
code.
A good unerstanding of signal processing is very important for some
of the positions we are looking to fill.
You know how to structure a C program well, while maintaining efficiency.
You enjoy working on technology, and have written software on your own
(as a hobby).
You have at times interfaced things to the printer port of your PC.
If you have completed projects on your own, that more than makes up for formal
work experience.
Having a personal web page is also a plus.
You are very fluent in English. English is a language you use for
personal and casual conversations.
How to apply
Send your resume to
with the heading "Job application".
Resumes should be as an attachment in the form of a WORD document, HTML, or PDF.
If you wish to include a cover letter, please include it as text in the body of
your email. If you have a personal web page, I'd like to have a look at it as well.
A good technically oriented personal web page will impress me more than a resume.
As this is an out of the way method of applying for a position, the volume of applicants
is low enough that I can personally screen every applicant. I will respond within 48
hours if I chose to follow up
on your application. You can read about the rationale
behind posting this position on my personal web page
here.
If I do follow up, I will call you or ask you to call me. I will then do a brief
pre-screener by phone, typically about 20 minutes in length. For two thirds of the
people I talk to, the process ends there. For the remaining third, I will send you
a programming challenge. If you do well on that, the next step is a personal interview
at RIM.
If you do not receive a response within 48 hours, you can assume that I chose not to
follow up on your application. Please do not expect a response.
Its my experience that people's confidence in their ability doesn't necessarily
correlate with their actual ability. While its easy enough for me to ignore the
applicants with high self confidence but less ability, there's nothing I can do about
candidates with the ability but without the self confidence to apply. So if you
are not sure, you can try this little programming
challenge. If you can solve that in less than 90 minutes, its worth
applying. If you have not solved it in 3 hours, this isn't for you.
I prefer applicants geographically close to Waterloo, Ontario, Canada, but am willing
to consider applicants from much farther away.
If I do follow up, I will call you or ask you to call me. I will then do a brief
pre-screener by phone, typically about 20 minutes in length. For about two thirds of the
people I talk to, the process ends there. For the remaining third, I will send you
a programming challenge. If you do well on that, the next step is a personal interview
at RIM.
If you do not receive a response within 48 hours, you can assume that I chose not to
follow up on your application. Please do not expect a response.