Mobile Developer & Designer
Veteran mobile developer that was building and designing mobile apps, before mobile apps were cool ;)
I am a senior software developer and architect with over 15 years of experience building and designing mobile and web apps.
I began developing apps back in 2003 when the first generation of smartphones were just being released, long before iOS or Android even existed.
Since then I've helped corporate clients, nonprofit organizations and UN agencies develop mobile apps to gather data, engage their community or empower citizens using mobile technology.
The same mobile design principles I learned in those early days like utilizing limited screen space and handling unreliable connections still apply even more today, and continue to help me build world class mobile applications.
Some of the incredible organizations I've had the opportunity to work with over the years.
Some recent projects I'm proud to have helped bring to life. Wanna see more? Checkout all my past projects.
Ushahidi, April 2018
Emergency checkin system making it easy to triage communication so teams can stay up to date during a crisis.
android crisis disaster ionic ios pwa
The following principles guide me in everything that I develop, whether it's my own initiative or for clients.
Although it's one of the earliest things you learn as a software developer, too often we forgot the KISS principle and over complicate things. If you're having to jump through several hoops to make something work, you're probably doing it wrong.
Ruby on Rails isn't just a framework, it's a philosophy on how to develop great software. Being a Rails developer, the DRY principle is now baked into my DNA and something I incorporate into all software that I develop, including mobile and web.
Apple and Google have invested millions to establish industry UI Guidelines and UX Best Practises, it's important we follow and embrace these guidelines to ensure the things that we design and build should already be familar to our users.
Contrary to common belief, constraints can be good for design helping keep things focussed and avoiding scope creep. It's especially important on mobile considering the small screen size, limited processing power, and unreliable internet connection.
There are so many well established frameworks, plugins and modules out there, it seems crazy not to utilize them when possible. Too often developers reinvent the wheel, when so much time and pain could be avoided by reusing existing components.
Consistency is so important, within an application as a whole but also with the target platform. Following target conventions are so important, the app should should be instantly familiar to a user, they shouldn't have to learn how to use.
Although we live in a ultra-connected world, it's still incredibly important today to ensure that apps work gracefully offline, caching data locally to ensure they are fast and responsive when internet connection are unavailable.
Self-documented and well-formatted code isn't just cleaner and easier to understand, it's pure poetry! It can also improve the overall design of the program, help reduce bugs, and make it easier for others to maintain.
Words of praise from some the incredible people I've had the opportunity to work with.
Dale has a unique ability to deliver on complex and time-bound projects. A software engineer with a development hat whom constantly strives to deliver for the client.
I feel very fortunate to have worked with Dale -- his commitment to our organization's mission, consistency, congeniality, and software development skills truly set him apart. I highly recommend Dale and his work.
Dale has consistently produced excellent results. He is caring, passionate, and a very fast learner! He picked up iphone development in less than a week! great work. We are lucky to have him on our team.
Dozens of us were inspired to be part of Dale's initiative and it brought out the best in us by focussing on a shared aspiration of creating apps with some kind of social return. It was a productive, challenging, fun and unique learning experience for us all.
Dale is hands down one of the most versatile developers I've had a privilege to work with. Additionally, Dale's capacity to empathize with end users makes the output of his work that much more meaningful.
Dale is everything you could ever want in a software engineer: precise, diligent, on time, and uniquely creative in finding efficient, long term solutions to difficult technical problems.
Dale helped keep us laser focused on the core problem at hand while delivering a cutting-edge solution that was simple-to-use and required little maintenance. The experience was a refreshing change and produced results that I wished all digital projects could.
I had the pleasure to work with Dale in the development of a mobile application for one of our projects in Latin America. We actually chose an early design he made, and reached out to him to get it production-ready. Dale has a great drive to work in social projects, was very enthusiastic, and stayed engaged during even after the project, with genuine interest in the actual application of his work.
One of the most enthusiastic colleagues I have had a chance to work with. Brilliant programmer and software designer with massive amount of great ideas. I am so excited to work with Dale on a new upcoming project.
Dale, is an incredible professional. There was no task to big or small for Dale to tackle. He brought fresh ideas to the table, and always delivered ontime and exceeded expetations. I would hire Dale again anytime, and look forward to working with him in the future again.
Dale Zak is quick in learning new technologies and towards the implementation. He attends to details in reliable manner that minimize supervision/management efforts. Excellent team player in terms of development support and keeping the team moral up. Overall very balanced individual.