Code-Robot – Better Unit Tests, Faster!

code-robot: better unit tests, faster, on the blog

Written by Mathieu Bonin, Developer at Nubik

For the first Nubik Developer Expo, DevX, I was tasked with presenting a newly available tool to our team. That tool was Code-Robot. It sounded great on paper, but now that I’ve had the chance to use it on actual projects, I feel better equipped to give you a tour. If you’ve ever had to immense pleasure (ahem) of having to create unit tests, you’ll thank me.

What Is Code-Robot?

But before we get to you thanking me, it’s probably a good idea to talk about what Code-Robot even is. Well, in their own words it’s, “designed to take data from a Salesforce ORG and convert it into well-structured, deployable Apex test code.”

You can plug Code-Robot into a live production environment and target records for the objects you’re doing unit tests for. Code-Robot will look at all the lookups and relationships for those records, and generate code that will give you access to a copy of those records to put through your test code.

Why is that so cool?

It feels a little self-explanatory to anyone who has jumped in a massive client org before without a thorough knowledge of all the interconnected objects, processes, and workflows in place… but let’s say you’ve never had such a scenario…

On one hand, creating records in unit tests obviously requires a lot of manual work filling in required fields, but it also requires creating records for all the objects that are incidental to what you’re actually testing, since the tests records are submitted to the same triggers and workflows as in the real org. Often, just making sure your test records even work can eat up many hours of dev time. Not to mention it’s just unpleasant to analyse and build.

An image is worth a thousands words they say, I suppose an image of words might be cheating a bit, but it’ll have to do. Here’s the amount of code that Code-Robot generated – just the part creating test records – for a project that the actual implementation took about an hour of work :

I know it’s all super tiny but you get the idea, right ?

Show Me

Alright, let’s go through it.

  1. You need to install Code-Robot in the production org you wish to “capture” data from. Head over to, and click on “Get in the AppExchange.” Install it like you would any other package from the AppExchange.Again: you must install it to the org you wish the create data from, not necessarily where you’ll be developing your test class.
  2. In Classic, select “Code Robot” from the AppMenu on the top right.
    In Lightning, select “Code Robot Project” from the App Launcher on the top left.
  3. You’ll be greeted by the main Code-Robot window which looks like this:The only button we’re interested in right now is the “New Project” on the top right. You’ll then be asked to name your project and add a description.Of course, Projects allow to generate up-to-date data at will for any test class you previously generated code for.
  4. This is where the magic happens: From here, we are now able to select the actual records we want to replicate in our test code. Personally, I like to use the “Add Single Record” button, that allows you to just paste a record ID, and Code Robot then takes it from there.For this example, let’s go add an account. So we just click on “Accounts” and select the account we wish to use: Then we click on “Add Records” at the bottom.
  5. You can now see on the left that the record is added to the project: 
    If you click on the Account here, the view on the right will update to show the Lookups and Relationships available for this Record, and you can choose what needs to be added to the Test Class: 
  6. All that’s left to do is to scroll down and click on “Generate Code”, to get your prize ! And by prize I mean test code: 
  7. The generated code clearly shows where to insert your tests (That “todo” comment at line 25). You can see the variables created on top that contain the records – in this case, there’s only one for our Account. That’s all you need to get started building a test class using real, production org data.

Is that all you have to do?

Pretty much! In the project I mentioned at the beginning of this article, I had to comment out a line or two of data that would prevent the test from working because the sandbox I was deploying the test class to had some differences from the production environment where Code-Robot was used; some picklist values were different and validations rules were being changed.

So nothing that isn’t “normal” I would have had to take that into consideration if I had built the test class from scratch anyway, so yes, this is all you have to do.

Can I try it out?

That’s the beauty of it : As you saw from the last screenshot up there, our example here was built using the trial version of Code-Robot. The trial version offers full functionality up to a certain number of “code generation.” So it’s more than enough to get some good tests in place and really understand what it can do for your projects.

Anything else I should know?

There are some interesting ways to use Code-Robot that go beyond the obvious functions that I might get into in a future article, but here’s the short version:

Let’s say you have a record causing you problems with production, but you can’t replicate the issue in sandbox to do some test and debugging. You could use Code-Robot to bring that record to sandbox and create a test class that replicates the issue, at the same time, creating a very good – real-life tested – test scenario that all future code needs to be tested against.

Code-Robot is a very new tool. We had a chance to talk with the developers during TrailheaDX 2017, which happened to be their official launch and they’re very receptive to feedback. So if you test it out and find some issues with it, let them know; everyone will benefit from the improvements they can make to it.

That’s it! Now go make better unit tests!

How To Simplify Complex Sales

how-to simplify complex sales on the blog

By Serena Clermont, Salesforce Administrator at Nubik

In today’s sales environment, selling complex products is the norm. Any sale can have a dizzying array of options, complex guarantees or special discounts for specific clients, and sales reps are faced with the challenge of hitting the perfect combination of all of the above for each sales pitch. Without a tool to keep track of it all, it’s much too easy to make mistakes, leading to confusion and frustration for the company. So how do you avoid the pitfalls? By using the right tool for the job! As far as I’m concerned, the right tool is Salesforce CPQ.

I started working with Salesforce CPQ a year ago, and the more implementations I complete, the more I like it, which surprised me. Salesforce CPQ excels in the following areas:

  • Complex product management and assembly
  • Discount management
  • Quote development

Of course, Salesforce CPQ does a lot more than this, like contract management and renewals, but I’ll concentrate on these three features, for a broad overview.


A basic CRM system just can’t handle products with multiple options and sub-options, but this is where Salesforce CPQ shines. How can you be sure that all your various features and options are included in your quote?

For example:

  • Product X
    • Option A
      • Sub-option E
      • Sub-option F
    • Option B
      • Sub-option F
      • Sub-option G
  • Product Y
    • Option B
    • Option C
      • Sub-option E
      • Sub-option H

This example, though simple, shows how complicated things can get. Imagine the mess if you also had different options for different countries!

Salesforce CPQ’s forte, though, lies in building modular products while keeping the various options simple.


All companies have “strategic clients” who receive preferential pricing. Sometimes they get volume discounts, other times they reap the benefits of a long business relationship, or maybe they’re testing out a new product for you. Whichever case, it can be hard to keep track of discounts, and mistakes can end up costing your company, or even costing an entire business relationship. But never fear, CPQ allows you to program complex discount management rules. For example, you can set thresholds that trigger certain discounts, or associate corporate discounts. Salesforce CPQ allows you to manage all these scenarios.


Choosing the right options is one thing; developing a quote is quite another. Quotes have to speak to clients. For example:

  • Clear presentation of various sections (i.e. products vs. services vs. training vs. support)
  • Use of correct currencies
  • Separating taxable and non-taxable items

So many variables to consider that will keep you amused for hours! Salesforce CPQ allows you to take your quote development light years beyond a standard CRM tool. It’s really worth your while to check it out.


If selling complex products is what you do day in day out, then you know how important it is to optimize your reps’ activities, minimizing sales prep time to free them up for actual sales. If “time is money,” then sales reps’ time is gold.

Your CRM Should Be Fun!

Your CRM Should Be Fun! - Blog

By Alexandre Boyer, VP Operations at Nubik

CRM systems are seen as tools that provide structure to sales and service teams and help their efficiency. This makes sense, since that’s really a CRM system’s primary function. But Salesforce, or any other CRM system for that matter, can and should also be used as a tool to engage and motivate your teams. You can also use it to share your teams’ successes and to implement practices that make team members feel valued. Here are a few ideas to help make your CRM even more engaging.


As the saying goes, a healthy mind goes hand-in-hand with a healthy body. Since healthy minds achieve healthy results, businesses have a vested interest in supporting physical activity. How does your CRM system fit in? It’s simple:

  • Form teams
  • Create an object to enter exercise time on a daily basis
  • May the best team winvotre crm doit etre amusant Nubik Blogue

Cue healthy competition between teams! Simple yet fun!


Several not-for-profit organizations use Salesforce to manage donations. Why not use a similar concept internally? Giving to charity is the right thing to do; all the more reason to share donation information among employees and celebrate those who give. Whether your employees give time or money, you can build a simple object to enter donations in cash or in kind. Then, once a month, you can share the information to a public group and thank the three top donors of the month!


votre crm doivent etre amusant Blogue Nubik.caOne of the things Facebook does best is generating a tidal wave of love on birthdays. But most people aren’t Facebook “friends” with their colleagues, meaning that coworkers’ birthdays can go unnoticed. A simple “Happy Birthday” can make someone’s day. Why not replicate FB’s birthday feature on your CRM system? It’s simple: enter your team members’ birthdays, set up a simple share command, and voila! Your birthday greeting is broadcast. No more forgotten birthdays!


Share successes through communication tools like Chatter, for example. Whether it’s sales achievements, team certifications, glowing client reviews or projects delivered, celebrate it all! Jump on every opportunity to shine a spotlight on your teams and colleagues.


There are so many other ways to have fun with a CRM system, and we haven’t even mentioned the thank-you badges or the ideas box. There are 1,001 ways to make Salesforce engaging!

Have fun!

How To Easily Create, Save, and Configure Snippets

how to easily create, save, and configure code snippets on blog

By Jordan Ojeda, Developer at Nubik

I’m pretty sure you have been coding for a long time, and you have often seen the need to reuse code you’ve built in the past. Your first reflex is to go look for that piece of code you need so much, the one that solved a particular problem months ago on a different project, you’re so proud of yourself for building that nice piece of reusable code and you’re really looking forward to reusing it and saving a lot of time to do something more entertaining… like unit tests for example :p (unit test are extremely important so let’s give them some love!). But then, reality slaps you in the face. You cannot find the class you’re looking for, you no longer have access to the code repository for some reason, and you turn into a pirate looking for a treasure. Well, this time I’m bringing an interesting idea for you with the hope you will help me to improve it so together we can make it much more powerful and productive… shall we?

This is a set of snippets that I have been working with for a while, and that you can use with The Welkin Suite IDE to reach these important fragments of codes in the blink of an eye. Just a keyboard combination followed by a couple of clicks, sound great doesn’t it? You can download these snippets from the following GitLab repository:
(at the moment we working with share permission-based politics. That means we will need to add you as a collaborator. You can send an email to jordan.ojeda at nubik dot ca and I will allow you to download the repository). After that, you will need to make this folder visible and recognizable by the IDE, but hey! Don’t worry that’s easy! You will see ☺!

Download the folder from this link:
Go to the folder where The Welkin Suite is installed in your computer and paste the folder in the following directory: “\The Welkin Suite\Extensions\Application\Editor\CodeSnippets\Snippets”.

Open The Welkin Suite and verify that the new folder is recognized by the IDE.

how to create and save snippets on blog

Note: You can add the folder using the code snippets manager so you can put the folder in any other place (I recommend the first method because sometimes by using the custom path, you need to add it again once the IDE is closed and opened).

Easy, right? Now, all we need to know is how to use them:

Open The Welkin Suite and the project you are working on.

Go to the line in your code where you want to use the snippet.

Right click on Insert Snippets

Double click on the “Custom snippets” folder and navigate until you find the one you want to use, and double click on it.

how to create snippets by

You will notice the snippets provided allow you to define certain parameters. You can update those parameters one by one, by pressing Tab and writing the value for each one. When you are sure your parameters are completely defined you can press Enter to leave the parameters setting mode and accept the snippet insertion.

Developing new snippets:

If you are still reading, is because you want to help me with this. Well then, you rock!
The first thing that we need to know to do this, is how the snippets source files look like. You can go here to see detailed information about the code structure, but basically, each snippet is an XML file with some special tags wherein you can specify general information about the snippet, input parameters, and the body.

General information

In there, you can specify things like the title of your snippet, the author and even the type of snippets that you want to create. You can create snippets to expand code or snippets to surround code with. If you want to know more about this, please go to the official references:


This is the section where you specify the parameters that will allow the users to configure the snippets outputs to adapt them according their needs. I encourage you to use the Id “Developer” just when you want to refer to the current developer (this is because by using the slight tool included in the folder we can update the default value so you don’t need to write your name down every single time you are using a snippet that involves the developer name).


The actual body of the code that the snippet will generate. This is the part where using the variables you will include the code that the user will get by applying the snippet.

Configuration tools

Looking for more? Well, this is for you! If you open the folder that you downloaded minutes ago, you will see there an app called “Snippets Configuration Tool.” You can use this simple app to change some special parameters in all the snippets that use them.

It will replace with the specified value the default ones for the parameters that are used across the snippets data set. You just need to put your new default values and click on the “Configure” button, and then you should be ready to go and conquer the world with code!!! (and snippets)

You can add new fields by using the button “Add new field.” Then you will need to specify the ID of the attribute and the default value. 

Remember, this project will be evolving and improving. Some new snippets will be added in a near future (for example snippets related to Conga, uploading files to Salesforce, and some others for javascript, visualforce and Lightning Components), as well as some upgrades on the existing snippets, and configuration of the app coming soon as well.

Stay tuned!

My First Time at Dreamforce

by Jennifer Hickey, Project Manager at Nubik

I had the thrill of attending my first Dreamforce this year and what an experience it was. There are blocks and blocks of San Francisco reserved to host the 3500 sessions for the over 170 000 attendees. There were Salesforce guides all over the city ready to answer questions and point you in the right direction. I stopped by Moscone West to pick up my pass for the event and the energy was amazing. Excitement and curiosity filled the room with crowds of smiling faces,  music playing, and event staff welcoming and helping make the experience as pleasant and smooth as possible.

I made some rookie mistakes on the first day and missed out on two sessions I had reserved, not realizing scheduling back-to-back sessions in different buildings would not be logistically possible. So instead I explored and oriented myself to the different venues and expos, talked to partners, collected swag, and participated in Trailhead challenges.

By Day 2, I was ready to take Dreamforce by storm. Over the three days, I attended 12 sessions, some Keynotes, but mostly Roadmap sessions. This was a great opportunity to learn about all the new product and features coming soon, and hear how customers are using Salesforce to transform their companies.

I attended sessions for Sales Cloud, Service Cloud, Community Cloud, Trailhead, IOT Cloud, Field Service Lightning Cloud, and though all of these have different functions, one thing remained constant. Each session had a recurring theme: the 4th Industrial Revolution. There was Steam, then Electricity, Computing and now Intelligence.

People are more connected than any other time in history. They have more access to information and are faster, smarter than ever before. Customers’ expectations and desire for meaningful experiences have reshaped the way business need to interact with their customers.  So how do companies adapt to this change and learn more about their customers?

Salesforce has made it easier then ever to personalize these experiences by giving their Trailblazer community a new set of incredible tools to work with:

myTrailhead: Companies will soon have the ability to create their own learning trails for their employees, with personalized content and branding. This is game changing in the world of training, for new-hire onboardings and employee motivation.

myLightning: Salesforce Lightning will be fully customizable to a company’s look and feel. Previously, you had the ability to add a logo. Soon you will be able to modify colors, fonts and images to personalize the user experience for your company.

mySalesforce: With the click of a button, any company will have the ability to create their own branded IOS or Android App built on the Salesforce platform.

myEinstein: Admins will be able to use a wizard like prediction builder to analyze changes in data and create alerts based on those changes. For example, a customer’s sales drop and the account manager receives an email notification to engage with the customer.

myIOT: With IOT, Smart devices can be connected to Salesforce with a point and click interface to predict, be proactive and engage customers like never before. Imagine having the ability to create a series of rules that automatically create cases, work orders, and schedule service appointments upon receipt of an error from a connected device, all before your customer is even aware.

So much to look forward to! Thank you Dreamforce for making my experience highly engaging, inspiring and motivating!

2017 Best of Dreamforce

Members of the Nubik team just returned from another amazing Dreamforce, and we’re bringing you the best and latest of the announcements and new features coming to the Salesforce platform. Read on to learn what got us excited!


Of course, we were introduced to Einstein last year, but now we get to go a little deeper. Just as we mentioned at the beginning of the week, we were really interested in this keynote.

First we need to remember to focus on what Einstein is designed to do. Its objective is to enhance all aspects of the sales experience, which includes:

  • The best deals
  • Customer satisfaction
  • Increased engagement
  • The Shopper experience
  • Smart experiences

In other words, helping us work more intelligently!

Key features:

Yes, you have all these great features in standard objects, from Lead scoring, Predictive Forecasting and Opportunity Scoring. With just these features, Einstein is awesome! We could write a whole book about these key features of Einstein. But it’s way more that that! About 80% of objects in Salesforce are custom objects. What about being able to customize these? Can we be intelligent about it! Yes, myEinstein allows the building of AI powered apps.

  • Einstein prediction builder:
    • This is the key component of Einstein. It guides you in making the best decision based on your collective historical data! Just think about the predictive forecast! Einstein can tell you when you will hit your quota…and will also detect sandbaggers!
  • Einstein Bots:
    • AI self-service experience, combining Einstein with flows. Just imagine the service bot agent that can proactively guide the customer based on his profile.
  • Einstein Vision & Language
    • Deep learning on unstructured data. For instance, you can classify Notes fields and retrieve commonalities between them
  • Einstein Discovery
    • This is about customer insight. Looking at information about your customer, when you don’t necessarily have that data in your system, and intelligently helping by providing you with the right actions.


How do you implement it successfully?

Make sure that your team wants to use it. Focus on user adoption, and follow these simple rules:

  • Have an Agile approach. Introduce Einstein progressively
  • Make sure to have quality data. Start with a few parameters and ensure the data is right before introducing additional parameters 
  • Understand the needs of your employees, and enable the platform to help them.
  • Bring your stakeholder in early to mitigate the risk!
  • Celebrate your successes!


Process Driven Self Service Community

We attended a good session given by Phil Weinmeister on creating Lightning Bolt communities, and how to integrate automation.

Over the past years, Salesforce has revamped Communities. Now with Lightning Bolt, communities are reaching another level in terms of functionalities and layout. With the integration of automation, it brings an even more personalized experience for the customer/partner.

Let’s introduce some concepts: what is Lightning Bolt and what are the automation tools, and how they fit together!

Lightning Bolt

Lightning Bolt is a new term for Community templates, which is a starting point for building a Community. It can enable quick start or complex communities.

Before Bolt, templates were provided by Salesforce only. As we know, Salesforce loves to leverage the ecosystem, so now templates can be provided by partners! We can select through a huge list that are functionality or industry based.

Creating a new Bolt solution is fairly simple:

1- Start with a Bolt

2- Add/Remove/Modify

3 – Create a new Bolt

The changes can be on themes, layout, pages or components available in the Community.


Since Flows are available, it is impressive how far we can go without coding. One of the key features of Flows is the screen interaction, which is amazing in the case of Communities.

Now, Flows have been added to Community! One can add automation and layout based on users, for instance! Think about all the possibilities. Creating messages and components based on territories, or on products…the sky is the limit!

Financial Services keynotes

Financial Services Cloud was launched 2 years ago. Over the years, many early adopters used the solution, and helped shaped the product into what it is today. In Canada, with the new Amazon server, many companies from the public sector, and from the Finance are now reassured that their data will stay in Canada, which was previously a concern.

Let’s look into the highlights of the keynote!

Most customers do not feel their bank has their best interests at heart. Over 36% of them are now shopping for different financial products at their competitor. How can we change that?

There is so much data to better understand the customer. It is possible to retain these customers if they feel connected, if they get personalized offers, and at the right moment. All this is possible if you leverage the Financial Services platform.

Here are some key features demoed:

  • Through the Customer Console, all data is shown in one single screen, including financial goals and financial accounts.
  • It also provides a full graphical view of a household, and more specifically their relationships. These days, these relationships are more and more complex. The visual representation guides the advisor to suggest not just the right product for the individual, but also for the whole household.  
  • Finally, myEinstein is able to integrate data from other media, and provide great insight about the customer.


CPQ & Billing roadmap

CPQ and Billing roadmap is taking an interesting turn. Before we even jump into the new CPQ additions, one should know that CPQ is now integrated in the Sales Cloud platform. From a development perspective, it means that it will better benefit from the tools and development lifecycle of Sales Cloud. It means also that the CPQ team can now focus on making the product faster and better performing!


Since the acquisition of Steelbrick by Salesforce, CPQ usage has been exploding! The team has indeed been exposed to fairly complex scenarios, for which custom development was required.

One by one, these scenarios are being managed directly by CPQ, which can handle some of the most complex use cases. In addition, it has been adjusted on multiple aspects, from the Lightning side, to the large quoting experience.

More specifically, 2 new features were discussed:

  • Usage based pricing: Through Rate cards, it is possible to define different price levels
  • Installed product: Provide a complete view on customers current install base



Billing is still a new product, 100% built on CPQ, so it can leverage every single feature of CPQ!

Lots of improvements have been made, including dynamic invoice plans, and the automation of revenue recognition.

Fully integrated in Lightning, the new payment user interface was demoed, including both payment center and credit center.

Einstein… again!

Finally, the power of Einstein is there again! By providing product recommendations, predictive pricing, or expected customer lifetime value, Einstein guides the user experience.

All in all, it was another great Dreamforce and wonderful to see how Salesforce continuously strives to improve and expand their products. If you are looking to learn how the platform can best optimize your business processes, reach out to us anytime! 

New Pardot Release: Campaign Influence Attribution Models

By Shilpa Varghese, Marketing Automation Consultant at Nubik

Is your marketing team struggling with connecting the dots from campaigns to KPIs like revenues?

Any business wanting to serve its customers well is juggling a number of marketing campaigns and collateral at any given time – website visits, landing pages, webinars, newsletters, blog posts, social shares, and trade shows – to name just the most popular ones.

Planning and keeping track of all of these campaigns is no small feat, and it is disappointing when gathering relevant metrics proves elusive.

Marketers want to be able to calculate the return on their marketing efforts for two main reasons:

  • For ROI calculations
  • For help in planning future marketing campaigns.

So any detailed information on all the touchpoints in a customers’ journey –  from initial contact to a closed-won opportunity –  is highly sought and valued.

Salesforce Opportunity page layout has a field that provides the name of the Primary Campaign Source (provided the Opportunity object is set up accordingly), and ROI reports can be generated taking that information into account.

However, the Primary Campaign Source is hardly ever the one point of conversion for a customer. We can’t ignore the initial point of contact, several connections along the way, and lastly the final point of conversion.

Pardot, on the other hand, has previously provided campaign attribution only as a thematic first-touch point for a Prospect, and subsequently, a Campaign has a one-to-one relationship with a Prospect.

This is not very helpful to a marketer unless the only goal is to measure visitor-to-prospect conversion. There is not much more that can be derived from this attribution with regards to opportunities or conversions.

In addition, this has been slightly confusing when it comes to Salesforce integration since we know that in Salesforce a Campaign has a one-to-many relationship with a contact, but I digress.

So here’s the big news – Pardot has announced a new release: “Pardot Campaign Influence Attribution models,” expected to be available starting November 14, 2017. This release enables multi-touch attribution models to be viewable on Salesforce dashboards.

With the Campaign Influence Attribution Model, out-of-the-box enablement will allow marketers to view and track different touch-points of the customer’s journey – first touch, last touch, and even distribution. This data will be available from within the Salesforce CRM, supported by the Opportunity records.

Salesforce Pardot Attribution Influence model on blog

In Salesforce, in addition to the Primary Campaign Source Model, here are the three new ones that will be enabled:

  • First Touch model – will show the point at which the prospect first interacted with the brand.
  • Last Touch model  – will track the point in the campaign that helps close the deal; the final point of conversion.
  • Even Distribution model – will track the performance of all interaction between a prospect and several campaigns, as the case may be.

The Campaign Influence Attribution Model is a powerful new release, one that will not only provide more accuracy in ROI reporting, but will also help marketers in planning, budgeting, and executing future campaigns with confidence, and greater chances of success.

For all users working on both platforms, this move towards seamless integration of Salesforce and Pardot Campaigns cannot come soon enough.

As always, we’re here to help if you have any questions or would like to know more about using your Pardot or other Salesforce investments to their maximum potential.

Inspirational Leadership at Nubik

By Stéphane Poirier, Marketing Director at Nubik

Last night, November 8, 2017, Nubik President, Katie Bussieres was recognized for her socio-economic leadership. She was awarded the 2017 entrepreneur of the year prize in the medium-sized business category by the Réseau des femmes d’affaires du Québec. Congrats Katie! It’s an accomplishment we are extremely proud of here at Nubik.

Allow me to speak more from the heart.

As a newcomer to the Nubik team and in my role as manager, I am actually in a very privileged position to be able to notice and  comment in total objectivity about the kind of work our president accomplishes daily.  

The Réseau des femmes d’affaires du Québec has aptly highlighted Katie Bussieres leadership abilities, vision, creativity and determination. I can tell you, without hesitation, that she has all these qualities – most notably leadership, or rather her style of leadership – which is an excellent example to follow.

Katie knows the importance of being surrounded by a strong team and encourages each member in their pursuit of excellence. This finely orchestrated participatory leadership style seems to work, as I have never worked with such an engaged group of individuals, all focused on both the collective success of the group and towards each other.

The result is an annual business growth in at least 45% over the last three years, and an employee retention rate that would make the competition blush!

At Nubik, there’s no strict hierarchy; no gossip in the corridors, siloed departments, or barriers to success. The structure is flexible, the people are nice, and praise and encouragement are the currencies that bring everything together to benefit the growth of the organization.

No, it’s not by accident that all of us “Nubikians” are extremely proud today to be associated with the recognition of excellence of our president. With such effective hands-on leadership, our team can’t help but be inspired (or even aspire!) to excellence.

Bravo Katie!