Role summary
Canonical's Mir team is developing and delivering the next generation display server that will support linux devices across multiple form factors. This is an engineering technical lead position with both technical & line management responsibilities . Your ability to lead a distributed team, encourage others to work to the highest standards to deliver quality software on schedule and to communicate effectively with both the Mir team lead and external stakeholders will make you a valued member of this talented team of developers.
Key responsibilities and accountabilities
Own & guide the technical architecture & implementation of Mir
Ensure a functioning and performing Mir is being delivered into the ubuntu archive
Ensure the team is following good engineering practices, performing appropriate testing
Monitor and help ensure bug tracking and code merge proposal remain moving
Train and mentor developers
Be able to report on feature development progress in detail
Provide input on priority planning and scoping estimates
Allocate responsibilities & tasks to individual team members
Participate in private and public meetings to help drive the strategic direction of Mir
Work with other teams in Canonical throughout the software lifecycle to deliver high quality systems to production
Take part in the review and specification of requirements, designs and transfer to production
Participate in development "sprints", often involving international travel
Required skills and experience
Expertise in mobile graphics stacks
Strong experience in desktop graphics stacks
Strong grasp of working with Linux desktop and server technologies
Ability to design and develop code in C++
Experience in delivering to and helping to launch consumer products such as laptops, tablets, mobile phones
Strong English language communication skills, especially in online environments such as mailing lists and IRC
Ability to be productive in a globally distributed team through self*-discipline and self-*motivation, delivering according to a schedule
Desirable skills and experience
Experience with OpenGL
Experience with OpenGLES
Experience with window management
Experience with Android's graphics stack
Experience with the Xorg graphics stack
To apply, visit Canonical's job listing.
Related
Skype is willing to sponsor relocation for this position
The Wider Brief
Skype for iOS is a strategic for Skype and an important revenue generator. To follow the
groundbreaking developments of the platform and the possibilities it keeps providing, Skype is
committed to actively introducing new functionality and product features on the iOS platform and
devices.
The Business Specific brief
The Skype for iOS team delivers several major releases for the platform yearly. The Senior iOS
Developer role is essential in turning even more business aspirations into elegant, robust software
that will delight our customers. The position is part of a team of highly qualified peers with
significant experience and expertise reporting to the Product Engineering Manager of Skype for
iOS. The cross-functional product team delivers Skype for iOS software in an agile Scrum
development environment.
Key Responsibilities
Developing new features
• Developing new features in tight cooperation with designers, product management
• and quality engineers, iterating daily and contributing to maintaining a healthy build
• Employing test driven development and unit testing
• Demonstrating creativity in finding optimal ways to implement features
• Demonstrating critical thinking and paying attention to corner cases
• Making sure that software components are consistent and work well with each
• other
• Actively communicating with fellow developers in order to synchronize work and
• making sure that developers understand each other's work
• Taking responsibility and ownership in the team's work
Maintaining existing features
• Investigating incoming bug reports
• Troubleshooting and fixing issues, chasing issues across teams and functions as
• necessary
• Driving issues to conclusion
Optimizing overall performance of the application
• Pro-actively searching for potential optimization possibilities
• Identifying potential performance problems
• Devising and discussing possible solutions
• Implementing solutions
Learning new technologies
• Continuously keeping an eye on the latest cutting edge technologies and
leveraging these in one's own and the team’s work as necessary
Candidate Profile
Expertise/Experience
• Significant professional software development experience (8-10 years) in an organization with multiple interdependencies
• Significant experience of working as a member of high-performing cross-functional teams
• Meaningful iOS and/or Mac software development experience, using Objective-C language and Cocoa framework
• Experience in multithreaded programming, asynchronous and event driven application design
Expected functional / technical skills
• Objective-C with Cocoa (Expert level)
• C++ (Intermediate level)
• iOS, Mac OS X (Advanced level)
• Great overall understanding of software development process and practices including Scrum, test driven development, unit testing and working in close
cooperation with other developers, interaction designers & quality engineers
• Excellent interpersonal communication skills
• Excellent working English skills, both written and spoken
Behaviours
Problem Solving Skills/Analytics:
Providing meaningful input in discussions and analysis on new features: analytical skills, technical
judgement and the ability to use data get a coherent point across
Leadership
A genuine, contagious can do attitude with capability to chase issues and dependencies between
different teams at Skype until complete resolution. A strong will to follow through on each task until
it's finalized, a drive for true excellence in coding, overall a responsible grown-up.
Interpersonal Skills
The candidate should have demonstrated skills and experience in working within / contributing to
high-performing teams. An ability to understand technical requirements and articulate them in plain
English, as well as ability to understand commercial requests and translate them into technical
requirements. Cultural sensitivity and a proven ability to work with teams and partners across
multiple geographies.
Motivation and Passion
Demonstrate passion for software development and Skype products as well as passionate
advocate of great customer experience. Demonstrate professional and personal maturity, a selfstarter
able to work well without direct supervision. Demonstrate commitment to achieving strategic,
operational and project goals.
Qualifications:
Bachelor degree in Computer Science or a comparable scientific field
Interested parties should send their resume to james.cooper-richardson(at)skype.net.
Job Description
This Sr. Software Engineer will lead overall software development for the company and its initial product line. In this role, the successful candidate will have ownership of defining the agile software development process used by the company with emphasis on 2 week cycles for improving the code base that is reliable as built when used by a non-expert. Best practices for code documentation will be defined and implemented under your guidance. Since the people you work with and autonomy are the most important part of a job, the Senior Software Engineer will hand-pick the implementation team and their product will be his/her responsibility.
As projects within the company evolve, so will the technical focus of the Senior Software Engineer. Initially, the individual will design the core software architecture to realize Allied Communications’ quality of service (QoS) solutions based on existing algorithms for improving data flow from end users and machine to machine (M2M) on LTE and legacy 2G/3G cellular systems. The Sr. Software Engineer will code a presentation-ready demonstration of the concepts, in part via hands-on coding and in part via supervision of the programming team consisting of a Software Engineer and Associate Software Engineer. The Sr. Software Engineer will implement an efficient approach for code reuse that enables the original demonstration GUI and code base that adapts to many different end-user applications ranging from an Android handset to a smart grid or LTE modem on a consumer appliance.
This individual is expected to have a broad background in software development, including both application-layer software development using standard SDKs, particularly in the mobile arena (e.g. Android, iOS SDKs), in addition to experience doing lower-level software development in the embedded/OS area.
Responsibilities:
Define the foundational software architecture for products
Significant hands-on coding
Manage version control of software development
Re-engineer early-stage research code to allow for flexibility, stability, and scalability while preserving existing functionality
Gather requirements, design, code, test and implement according to design specifications
Oversee software version control across product line
Collaborate with architects and business development on design decisions and direction implementing customer functional requirements
Work closely with Director of Engineering to provide timely and accurate communication of status of project and technical hurdles
Implement mechanism to leverage efficient code reuse
Take lead role in identification of implementation problems and suggest solutions
Work with Director of Engineering and other senior staff to mentor junior developers
Provide significant input into hiring of technical staff
Desired Skills & Experience
Required Skills:
Earned Masters in Computer Engineering, Computer Science, or related field
>3 years experience in industry standard software development practice such as Scrum and Agile Development and version control systems such as Git
Detailed understanding of OSI and TCP/IP layered architecture and routing protocols
Understanding of cellular network architectures, protocols, and technologies
Significant experience with object oriented software development especially C++ and Java
Socket programing, threading
Embedded and/or system-level programming
Hands-on hardware software integration, proof-of-concept development
Demonstrated understanding of commercial use of open source software license such as BSD, GPL
Self-directed learner
Takes personal ownership of their work
Preferred Skills:
Experience in App development cycle on Android and iOS devices
Familiarity with modeling and simulation packages such as OPNET, NS-2, NS-3, and MATLAB
Experience with core cellular networking equipment, including both the 3G and 4G data network core systems
Experience with emerging mobile research topics, including applications of software-defined and cognitive radio
Invention and publication experience, such as conference/journal publications and/or patent applications or invention disclosures
Company Description
Allied Communications is a venture-backed, well capitalized startup company focusing on enabling the next generation of cellular wireless communications. We commercialize early stage research out of Universities and Federal Labs around developing enabling technologies for next-generation mobile networks. We are a small, nimble start up and this position is part of our first ramp up. As early employees of the company, the successful candidate will have an opportunity to help shape the culture of the future organization. We give employees the autonomy to roll their sleeves up in a casual environment to build something real and have a say in technical decisions. Our culture is one of technical innovation, hands-on, self-directed learning, collaboration, and strong work ethic.
To apply, please email your resume to Kathryn.graves (at) alliedminds.com
Job Description
The Software Engineer will work in a team of software developers under the supervision of the Director of Engineering and Senior Software Engineer. This position seeks someone with broad software development experience, but specifically seeks candidates who are strong in the embedded and system software development area in Linux-based environments. The software engineer will work within a 2 week agile development cycle to create high quality, reliable demonstration systems of the company products that relies on efficiency code reuse strategies.
As projects within the company evolve, so will the technical focus of the software engineering team. Initially, the individual selected for this position will focus on realizing Allied Communications’ quality of service (QoS) solutions. Specific areas of work may include mobile device system program (e.g. Android Linux system and kernel development, embedded mobile device operating system development, etc) and Linux-based traffic router system development.
Responsibilities:
Assisting in defining system requirements
Collaborating with other software engineers on system architecture
Coding detailed designs
Unit testing of code
System testing
Develop documentation
Follow version control protocols
System-level programming on Android platform
System-level programming on embedded devices
System-level programming on Linux server devices
Provide timely and accurate communication of status of project and technical hurdles
Mentor junior software engineers
Handle other duties as assigned
Desired Skills & Experience
Required Qualifications:
Earned Bachelors in Computer Engineering, Computer Science or equivalent
2 years + experience in software development lifecycle including agile development processes
Hands-on system-level development on the Android platform
Hands on development in iOS platform
System-level programming on Linux
Demonstrated knowledge of cellular data QoS
Solid experience with version control and bug tracking
Self-directed learner
Takes personal ownership of their work
Preferred Qualifications:
Invention and publication experience, such as conference/journal publications and/or patent applications or invention disclosures
Familiarity with modeling and simulation packages such as OPNET, NS-2, NS-3, and MATLAB
Company Description
Allied Communications is a venture-backed, well capitalized startup company focusing on enabling the next generation of cellular wireless communications. We commercialize early stage research out of Universities and Federal Labs around developing enabling technologies for next-generation mobile networks. We are a small, nimble start up and this position is part of our first ramp up. As early employees of the company, the successful candidate will have an opportunity to help shape the culture of the future organization. We give employees the autonomy to roll their sleeves up in a casual environment to build something real and have a say in technical decisions. Our culture is one of technical innovation, hands-on, self-directed learning, collaboration, and strong work ethic.
Role Summary
Canonical leads the development of Ubuntu. If you’re inspired by the idea of shaping the daily software experience of millions of users, on a variety of devices, want to see your skills and talents make a meaningful difference in the world, and you believe in craftsmanship in everything you do, then read on.
Canonical is seeking a talented, productive and friendly C++ developer, to work in the Display Server development team. You will be developing a technology that is set to replace X.org and will be the foundation for the work on newer form factors.
You consider the singleton as an anti-pattern, but still appreciate the gang of four book and know that knowledge of patterns is a tool, not the target of design. If you are also familiar with the names Sutter, Josuttis, Alexandrescu and Meyers then you may well fit the mould we are looking for.
Key Responsibilities
Take responsibility for engineering delivery to spec and to plan
Design and implement Display Server features
Use test-driven development, ensure code test coverage, add tests for untested code
Create tools and monitor metrics to validate the robustness and performance of features during the development cycle
Design API’s for third-party developers, or other contributors to your application
Manage code branches for features and contributions from third party developers
Provide reviews of code for other team members and contributors
Participate to the release process, by preparing feature releases on a regular cadence
Prioritize and fix bugs in your components or applications, based on management goals
Take proactive steps to ensure the quality of code for which you are responsible
Required Skills and Experience
Excellent C++ programming skills with extensive and diverse experience of client side software development
Knowledge of CMake
Experience with the SOLID design principles
Experience designing for performance and robustness requirements
Experience of API and application architecture design
Experience with Linux as a development platform: editors, compilers, conventions
Experience with OpenGL
Desirable Skills and Experience:
Experience working in distributed teams and of collaborating with remote developers, by IRC, telephone and email
Knowledge of Ubuntu packaging and release processes (dpkg, PPAs etc)
Working experience with desktop toolkits: Qt/QML and GTK+
Familiarity with higher level languages like Python, Javascript or Java
ARM and embedded development experience
Experience with iOS and Android development
Open source and community development experience, with identifiable work and contributions to one or more open source projects.
To apply, please visit Canonical's job listing.
Descartes (TSX: DSG) (Nasdaq: DSGX) is a global leader in providing on-demand, software-as-a-service solutions focused on improving the productivity, performance and security of logistics-intensive businesses. Descartes' B2B network, the Global Logistics Network, integrates more than 35,000 trading partners to our cloud-based Logistics Technology Platform to unite their businesses in commerce. Customers use our modular, software-as-a-service solutions to route, schedule, track and measure delivery resources; plan, allocate and execute shipments; rate, audit and pay transportation invoices; file customs and security documents for imports and exports; and complete numerous other logistics processes by participating in the world's largest, collaborative multi-modal logistics community. Our headquarters are in Waterloo, Ontario, Canada and we have offices and partners around the world. Learn more at www.descartes.com.
POSITION SUMMARY
Reporting to the Director, Wireless Network Services, the Mobile Device Software Developer will be a key member of the telematics mobile development team whose primary responsibility will be the development, enhancement and maintenance of Descartes mobile solutions. The candidate will work in a fast-paced work environment focused on delivering critical features involving leading-edge web technologies.
RESPONSIBILITIES
Your responsibilities will be situated in the following domains:
Articulate product vision to Engineering and take lead in entire cycle of product development/design.
Collaborate with QA/E2E QA team to ensure quality of the product. Provide use case and other sufficient documents for this purpose.
Design, test and integrate new software products to control and/or support related products.
Create, revise and maintain design/technical documentation.
Responsible for developing, applying and maintaining quality standards.
Establish and maintain effective working relationships at all levels.
Provide ongoing support for existing production applications.
Maximize productivity and efficiency to meet challenging work goals.
QUALIFICATIONS
University degree in Computer Science/Engineering or Software Engineering.
Minimum of 5+ years of software development experience with C/C++.
Minimum of 3+ years of software development experience with Java.
Strong experience with C/C++ and ability to facilitate debugging low-level kernel and driver code.
Knowledge related to telematics hardware - automotive grade processors, analog/digital sensors, etc.
Experience in developing applications involving multithreading, GPS and socket communications are mandatory.
Strong experience in writing functional specification and design documents from product requirements.
Must have excellent communication skills.
Strong problem solving skills.
Experience or knowledge in porting Linux to telematics hardware.
Working knowledge and internal design understanding of device drivers in the Linux environment.
Operational knowledge related to HDMI/VGA drivers in the Linux environment.
Experience in porting Android to embedded or other hardware systems would be an asset.
Experience in development and understanding of Android life cycle and ecosphere would be an asset.
LOCATION
Waterloo, Ontario
OFFER
We offer a flexible and casual work environment, as well as mentorship and on-the-job training to support your personal growth. You will have an opportunity to contribute new ideas and we welcome your fresh perspective.
APPLICATION INSTRUCTIONS
Please submit your resume, and a covering letter describing why you are a unique fit for this position, to jobsna (at) descartes (dot) com citing “Mobile Device Software Developer” in the subject of your message. We thank all applicants for their interest in Descartes; however only those candidates selected for an interview will be contacted. Agency calls will not be accepted.