Who I Am
I am David Linley, a Professional and a Software Developer living and working in Toronto. I’m a graduate of the University of Waterloo’s Computer Science Co-operative Education program (UW CS co-op), and I’ve written software all over the world (or at least all around it– from Perth, Australia to Toronto, Canada). I’m interested in designing/building cool software (whether mobile, desktop or web), de-centralizing the web, and meeting people that are smarter than me; I also enjoy singing and long walks on the beach.
Where I’ve Worked
Pivotal Labs (formerly Xtreme Labs)
Pivotal Labs is a mobile application development shop set up in downtown Toronto. With an emphasis on pair programming and transparent agile methodologies, Pivotal works closely with various clients (large and small) to develop mobile applications across all platforms. I have built applications for iOS and Android while working at Pivotal, as well as dipping into web development with Rails and AngularJS. Pair programming provides great learning opportunities for new hires, and the breadth of ongoing projects means that each employee gets a chance to work with the technologies that he or she is interested in.
DownUnder GeoSolutions
Located in beautiful Perth, Australia, DownUnder GeoSolutions is a leading geosciences consulting and software development company. The Insight software package is developed in-house, used internally for hired consulting work and licensed to other firms that perform geo-analytical work of their own. Insight handles geological data manipulation and visualization to facilitate a variety of tasks, chiefly involving finding underground or under-sea pockets of hydrocarbons (oil and gas) to be drilled. Built in Java with modified Swing UI elements, Insight is a very powerful piece of software that is continuously being updated and upgraded by a skilled team of developers. I was fortunate enough to spend an eight month co-op term in Perth, learning a huge amount about creating large maintainable projects, properly integrating changes from a team of developers and effective team management. With weekly internal software releases, it was easy to get feedback on the usefulness and correctness of new features.
Sybase
Sybase is a worldwide powerhouse in database development, with a large team spread out over the world all working together to enrich the Sybase brand of products. Acquired by SAP in 2010, Sybase has the backing of a large international company while still retaining its independence. I was hired as an intern at Sybase’s Waterloo office twice as part of the IQ database team, working with departments in several continents worldwide. Developed in C++, the IQ database system is used by thousands of customers internationally and being able to develop features for the system was an excellent way to have real impact on a large project. Sybase provides a great example of how to split a very large engineering force into manageable teams that can work on many projects simultaneously without sacrificing communication within the company.
Technologies I Like
Rails for web design, Python for small tasks and Java for heavier (or more complex/robust) projects. I find TDD to be quite beneficial on the whole, and RSpec usually keeps me from pulling out my hair while trying to write tests. OwnCloud lets me store and synchronize my data my way, and has let me practice my sysadmin skills. At home I run Elementary OS, an Ubuntu-based GNU/Linux distribution– I’ve been running various (mostly Debian-based) flavours of Linux since 2006.