Rob Nicol
Software Manager - Video Alarms @ Solink
About
Senior freelance software developer and architect, with full stack expertise in enterprise, desktop, cloud, and mobile technologies. Over twenty-five years experience in the software industry. I have excellent communication skill in English and French. With a get-things-done positive attitude, and team focus, I’m always striving to exceed client expectations. I’m eager to learn new skills, adapt to new environments, collaborate with others and do what it takes to get the job done right the first time.
Canada
Ottawa
Information Technology & Services
Software Architecture, Software Development, Object Oriented Design, Java, Embedded Systems, Eclipse, Android, ClearCase, VxWorks, Linux, Mobile Applications, XML, Ethernet, Mobile Devices, Web Applications, Integration, SNMP, Web Services, .NET, C#
Experience

Senior Software/Architecture Consultant
Ottawa, Ontario, Canada
* Embedded system development on various security cameras in C/C++ to allow RTSP video streaming from these cameras directly to cloud based VMS solution. Integrated with AWS ECS clusters, Route53, API Gateway. * React Single Page Application (SPA) with Stripe integration for customer self service portal to purchase and manage the setup of cameras. Integration with AWS S3, CloudFront, API Gateway, Lambda/Serverless. Typescript, Node.js development. * Software Architect and Lead Developer for an Android development. UI/UX implementation. Android camera setup for RTSP video streaming and video preview. Onboard motion detection. Video recording to local storage with required conversion for distribution. Low latency HLS and WebRTC integrations. Java/Kotlin development. * AWS Serverless Lambda integration with VoIP vendor for PSTN call connections to Android devices vis SIP. Leveraged call transcription service to provide textual copy of call recordings. Typescript, Node.js development.

Senior Freelance Software Architect
Rob Nicol Solutions Inc.
Ottawa, Canada Area
Federally incorporated software consulting firm with full stack expertise in cloud, web, desktop, mobile and embedded technologies. Over twenty years experience in the software industry.

Senior Software/Architecture Consultant
Ottawa, Ontario, Canada
Provided consulting services to Wesley Clover Solution (WCS) for their next generation IP voice communications solutions. WCS provides enterprises, such as financial trading firms, with mission-critical voice applications for the most demanding environments while drastically reducing the complexity/cost of system deployment, management and support. Lead the migration of WCS financial trading call control system to Microsoft Azure based cloud architecture. Integrate existing Java based solution by adding micro-service REST endpoints. Optimize existing architecture to an in-memory paradigm, and integrated with new database microservice backend. Worked with Docker container packaging for Azure cloud deployment. Productize next generation React.js / Redux based progressive web soft phone application, implemented in Typescript with npm toolset. Debug websocket, JSSIP, STUN, SDP issues to solidify trading application voice functionality. Updates to CSS/HTML components for look/feel/functionality. Reverse engineered embedded C based Bluetooth (Bluedroid) stack in the Android ROM and ported to custom Android application via Java Native Interface (JNI) for full control of Bluetooth pairing process and A2DP/HSP audio profile. Software tools included: Git/GitHub source code management, Visual Studio Code IDE, GitHub Actions for building, Linux (Ubuntu 20.04).

Senior Software/Architecture Consultant
Ottawa, Canada Area
• Solution Architect - Implemented a 3-tier architecture. Introduced Client/Server SIP based communication protocol. Implemented solution to multi-threaded non-synchronized event system. Migrated to modern frameworks. • Full Stack Java Developer - Server side development ranging from front end (JavaScript, HTML/ CSS, Primefaces/JSP based page design). Business logic (JBoss/Wildfly J2EE midleware), and backend (Hibernate and HQL with Postgres database). • Android Java Developer - Migrated to Model View Controller paradigm. Real time performance analysis of UI and re-structured for speed improvements. Encryption and security features using SSL/TLS/SRTP, localization. • C/C++ Embedded - Multi-call audio system integration in embedded Android (AOSP) using open source audio and SIP stack. Custom echo cancellation audio filters. JNI layer development using Android NDK. Custom C based Freeswitch modules for interaction with legacy telephony applications and improved conference system latency. • Tools and technologies: Java 7 Enterprise Edition, JBoss 6.1, Postgres database 9.3.10, EJB, JSF 2.1, Rich faces 4.3.7, Dojo, Eclipse Juno, Android Studio 1.5-2.2, Gradle 2.2.1, Java Native Layer (JNI), Android Native Development Kit (NDK) r10e, C, Makefiles, configure scripts, VOIP, SIP, wireshark and tcpdump packet capture tools, SSL/TLS, RTP, SRTP, RTCP, TCP/UDP, open source SIP (antisip, linphone, freeswitch, WebRTC). OpenSSL security software. VmWare and VirtualBox. Git/SVN source control systems, GitBlit Git Management. JIRA issue tracking, Confluence collaboration tools. Linux (Ubuntu 14.04/16.04/20.04) and Windows 10.

Senior Cloud Solutions Consultant
Ottawa, Canada Area
Solutions engineering and software development in a cloud computing environment for automated data mining/collection. Tools include Android emulation, Angular, Node JS, Spring Boot, Docker, Kubernetes, Amazon AWS (S3/Athena/EKS), Appium, Selenium, Python, Scrapy, Flask, Java 8, Google Docs integration, OAuth, Typescript, Linux

Android Architecture Consultant
DIVE Communications
Ottawa, Canada Area
• Provided Android architecture consulting services to Dive Communications to increase reliability and functionality of their in-the-moment video message application. • Responsibilities included: Analyse and provide feedback on the architecture of the Dive application. Advised junior/intermediate developers with best practise solutions for background job processing, UI thread responsiveness, data storage and publishing applications to the Google Play store. Inspect, communicate and/or resolve issues on the critical path. • Tools and technologies used for this project: Java Android API, Android Studio 1.5.1, Gradle 2.2.1 build system, GIT source repository, three tiered architecture, XML, JSON, JIRA issue tracking, Atlassian toolset, SQLite 3.4.0 database, Development in a Windows 10 environment.

Senior Enterprise Java Software Consultant
Ottawa, Canada Area
• Provided senior Java developer and Web architecture consulting services to Alcatel-Lucent: Led teams in requirements gathering, development and testing of custom enterprise Java Web applications. These web portals simplify network management and reporting for the largest IP/MPLS networking companies in the world. • Responsibilities included: Principle developer and team lead on the delivery of numerous high quality US$100K+ Java based web portals. Successfully worked with domain experts to build, and integrate new Spring WebFlow frameworks to increase development velocity. Managed team work flow using agile methodologies. Developed software on: UI/UX (front end), business logic (control system), and data tier (back end) of the portal applications. • Tools and technologies used for this project: Java SE 6/7, Spring 2.5, JPA/Hibernate, Apache Tiles, WebFlow, AOP, AspectJ, Three tiered architecture, Maven 2.2.1, Tomcat 6/7, Java EL, HTML, JSP, JSTL, Javascript, Highcharts, mzPivotGrid, CSS, jQuery, Dojo 1.2, XML, Logback, Eclipse, RADIUS, LDAP, TACACS+, Velocity web page template engine, MVC design patterns, JIRA issue tracking, Atlassian toolset, MySQL, Agile process using Scrums, Development in a Ubuntu 12.04/14.04 Linux environment.

Senior Android Java Developer
Lixar IT
Ottawa, Canada Area
• As a senior developer joining mid project, seamlessly integrated with team of designers in developing a Java based Android application for the automotive industry. • Responsibilities included: Quick ramp up to become productive in new project, object-oriented design, implementation, and testing. Designed, developed, and implemented User Interface webview activities for end user interaction, along with controllers for business logic, and back end integration via RESTful web service APIs. • Tools and technologies used for this project: Java, RoboGuice (Spring like framework for Android dependency injection with annotation style), HTML, Javascript, CSS, jQuery, XML, JSON, Eclipse like IDE (IntelliJ IDEA), Velocity web page template engine (MVC design pattern), Tortoise SVN and GIT source code control, Maven build automation, JIVE collaboration tools, JIRA issue tracking, Agile process using Scrums, Development in a Windows 7 environment.

Senior Enterprise/Mobile Java,C# Software Developer
Seregon Solutions Inc
Ottawa, Canada Area
• As principal developer in the company, developed and maintained the DragonRAD cross platform mobile development tool for building, deploying, and managing enterprise mobile applications. • Responsibilities included: - Managing the $500,000 R&D budget through local and remote development teams, requirements analysis and specification, cost estimation, and project management. Hired and trained new employees. - Designed, developed, and implemented a Windows based application design studio for creating enterprise mobile applications, written in C# using .NET 3.5 using Visual Studio 2008. - Designed, developed and implemented a Java Web application server for managing and deploying mobile applications. Core servlets developed using Java (J2SE) with HTML/CSS front end involving Javascript and JSP in an Eclipse development environment. Implemented generic data access solutions through JDBC based connections (Microsoft SQL Server, MySQL, Oracle), and custom data access solutions via WebService SOAP based APIs (Apache Axis 2, Microsoft WCF). - Designed, developed and implemented native mobile applications for Android, BlackBerry, and Windows Mobile. Development in Java (J2ME) and C# (.NET Compact Framework) using Eclipse, Visual Studio and BlackBerry development environments. Advised/Architected the development of iPhone/iPad mobile solution using Adobe Air. • Tools and technologies used for this project were: Java (J2SE), C#, .NET, Visual Studio 2008/2010, Eclipse Helios/Indigo/Juno, BlackBerry/Android (Java) development, Javascript, Java Server Pages (JSP), HTML, MS SQL Server, MySQL, SQLite, Oracle, XML/XSD, Apache Tomcat, Microsoft IIS, SOA - SOAP based web services (WCF), Tortoise SVN client, Apache ANT build system, Agile development process, working in a Windows XP/Windows 7 environment.

Senior Embedded C/C++ Systems Developer
Ottawa, Canada Area
• As senior developer and technical prime, lead team in development of 4th generation wireless features for telecommunications equipment in embedded systems. • Analyzed the business requirements, translated them into a technical specification based on an industry standard allowing the design team to realistically scope the project work, minimize change management and limit cost overruns. Guided junior designers in the development of the project implementation, introducing the technical details, and then monitored their development activities to ensure on schedule delivery of the project. Collaborated with partner vendors on the technical road map for WiMAX features. Achieved, on schedule, the port of proprietary IP routing kernel loadable modules from Linux 2.4 to 2.6 enabling a software base transition from a proprietary Nortel hardware platform to an Intel off-the-shelf server saving over $50,000 in hardware costs per unit. Implemented the necessary issue resolutions in the 100,000 line kernel and IP routing code base, ensuring flawless operation of the product’s core real-time engine, and shortening the critical path of the project, saving R&D expenses. • Tools and technologies used for this project: C/C++, real-time embedded system, application integration testing, multi-threaded, multi-processor Linux kernel development, Linux and Windows systems, Ethernet, LAG, IP, TCP, BGP, OSPF, UDP, ICMP, RADIUS, WiMAX, DNS, Quality Center test case management, Clarify defect tracking, IXIA and Adtech test tools. PEMS CMMI Level 2.0 process improvement model

Senior Embedded C/C++ Systems Developer
Ottawa, Canada Area
• As intermediate/senior developer, designed, developed, and tested telecommunications equipment device drivers and kernel software in embedded systems. • Responsibilities included: Designed and developed low level device driver and diagnostic software resulting in robust fault tolerant software, capable of diagnosing hardware failures in the field without the cost and effort of a root cause analysis. Collaborated with 3rd party vendors and hardware design team to implement fault isolation strategies preventing expensive in-service field repairs of equipment which could have been identified defective in the factory. Achieved, on schedule, the implementation of a Japan specific automated protection scheme which enabled the product to sell into the Japan market without the high cost of intermediate translation equipment. Mentored both junior and senior designers as they joined the team to enhance their knowledge and enable them to be more proficient in the development of the product. This not only increase the product development speed, but also cut the requirement for training costs for the company. • Tools and technologies used for this project: C/C++, VxWorks, device driver, RTOS embedded system, board support package, PCI Bus, SONET/SDH, DS1/E1, APS, GR-253, ITU-T G.783, G.803, G.842, Gigabit Ethernet, GNU cross development tool chain, Clearcase source code management, Waterfall development process in a Solaris/Unix environment.
Rob Nicol's Contact Information
Phone
Find the Right Leads
Find Verified Contact Data
What LeadContact does well
Find verified emails, phone numbers, and decision-makers with 98% accuracy.
Find Leads
Find the right people by company, role, industry, location, and more.
925M+ professional profiles

Find Emails
Access verified email addresses for your target contacts.
657M+ emails

Find Phone Numbers
Get cross-validated phone data from multiple top sources.
239M+ phone numbers

More Accurate. Lower Cost.
Find contact data in 1 tool with 98% accuracy
LeadContact integrates leading enrichment tools to deliver more accurate contact data—without paying for each one.
Great conversations start with the right contact.
It’s time to find yours.


