Category: Programming

Why I love VSCode

I’ve been programming for a long time, and I’ve tried a lot of editors over that time. As a developer, I believe that my editor is the most important tool I have. At least half of what I do is done in my editor, a really terrible editor can even lead to injuries. Having a bad editor that isn’t working with my workflow leads to a lot of stress and wasted time. I was happy with Visual Studio for the most part, it could do everything I needed as long as I stayed on the microsoft stack. I find VS Code to be different, very different. Continue reading

What is ORM?

What is ORM

Most software projects need to talk to a database at some point – they usually do GET queries for data, update a field or create a record. In the past, people would write raw code that communicated with the database and built an object or some code representation of the data that they would manipulate. This lead to an incredible amount of duplicated code for every project that usually had some subtle bug that was present in all libraries. Continue reading

5 Tips for Finding Amazing React Components

5 Tips for Finding Amazing React Components

One of the most important parts of building scaleable systems quickly is to find work that others have done and use it as part of our system. Using packages others built and assembling it with your business rules and logic is a lot like putting together pieces of Lego but following your instructions.

One of my favourite parts of React is that there’s usually hundreds of small open source components that can be used and usually easily modified to suit my needs. For example, there’s dozens of really well done date/time pickers that usually require no effort to put into place. Continue reading

What are Design Patterns

What are Design Patterns

Design patterns have been around for a long time in software development. Design patterns are basically a standard approach to solving a problem that can be found constantly in software development. Patterns are typically used for creating reusable designs, and defining the interactions between different objects or subsystems. I like to think of design patterns as a structured approach to software development and a very good way of improving communication between software developers. Continue reading

5 Reasons to Use Node.js on Your Next Project

5 Reasons to Use Node.js on Your Next Project

JavaScript has forever changed the way that websites are built. Even in it’s early days, it was being used to validate forms before data was submitted to servers. In the last 5 to 10 years, we no longer needed to do full page refreshes because of JavaScript which made the web feel faster and more responsive. Continue reading

What is Cloud Computing?

What is Cloud Computing

Cloud computing is basically using servers whether they be for databases, storage, application or something else through the internet. There’s quite a few different cloud computer providers – they’re billing schemes are typically very similar to how you would pay for electricity or gas for you car. Continue reading

5 Tips To Write More Maintainable Code

5 Tips To Write More Maintainable Code

Writing maintainable code can be challenging especially to newer developers, because they won’t have experience with coming back to code later or having to review somebody else’s changes. In this blog post, I provide 5 Tips on How to Write More Maintainable Code. Continue reading

Best Practices for Writing Tests

Best Practices for Writing Tests

When I say the word test, what’s the first thing that comes to your mind? It’s probably the boring tests that you did in school that were either multiple choice or required sentences or in math showing your work. When I talk about tests it’s usually an automated process which can execute on software and help improve the quality and act as part of the quality assurance process.

There’s a bunch of different ways of doing tests such as automated testing, manual testing, smoke tests, and then various different subtypes such as unit testing or regression testing. Continue reading

How to Use CRM To Grow Your Business

How to Use CRM to Grow Your Business

Implementing Customer Relationship Management (CRM) software is vital to growing a company’s business because having a relationship with customers is vital. In this post, I will detail how to use crm to grow your business by implementing it correctly, making sure staff are using it and providing a few really good tips to automate business processes which will help reduce costs and drive revenue. Continue reading

5 Strategies to get Around SOQL Query Limits

5 Strategies to get Around SOQL Query Limits

In Apex, there’s quite a few constraints that are strictly enforced because the platform is a shared multitenant environment. Quite a few of the limits result in runtime exceptions that can’t be handled.

For those familiar with Salesforce, it’s no secret that there’s a lot of limits. For example, there’s limits around the ViewState which were pretty painful to work around.

One of the first limits, I believe all new Salesforce developers hit is the limit for a maximum of SOQL queries that can be done. Continue reading

Awesome Resources for Learning Salesforce Lightning

Resources for Learning Salesforce Lightning

At Dreamforce 2014, Salesforce announced they were changing the Salesforce User Interface to make it simpler to use. The new User Interface is called Salesforce Lightning. In my blog post, What is Salesforce Lightning I cover a lot more about what it is and how development differs from using Apex and Visualforce.

If you don’t have any experience with JavaScript, it will make programming Salesforce Lightning a lot more difficult. I strong recommend having a look at my blog post Resources for Learning JavaScript before you dive into learning Salesforce Lightning because JavaScript is what’s used predominantly in the controller now.

In the last two years or so, there’s been a steady increase in the number of resources that have become available for learning lightning. I launched my first lightning component as part of an AppExchange product about a year ago and have been doing lots of lightning, react and node development since then. I believe that all Salesforce Developers will need to learn and master javascript to avoid becoming irrelevant and unemployable in the next couple of years. Continue reading

How Code Becomes Legacy Code

How Code Becomes Legacy Code

I like to think that a legacy system is code that’s being used in production and still works fine, but is using older designs or older techniques that are no longer in common use. Legacy isn’t a label that means something is broken or retired, it means the software still works but might not be modifiable for some reason – possibly the software only runs on an older version of Linux or Microsoft Server because the language or libraries it depends on has been deprecated.

When I mean the code isn’t modifiable or updateable this can be for a variety of different reasons such as the language it was built in is no longer generally available or can’t be built on a more modern machine. Possibly, your company is already in the middle of updating/re-writing the legacy system or has lost the source code over the years. Over the years, I’ve spent time trying to decompile code and sometimes this works really well and other times it’s completed but the code is impossible to read.

Continue reading

5 Ways to Increase CRM Usage

5 Ways to Increase CRM Usage

Implementing CRMS like Salesforce into an existing company can be really challenging if users aren’t interested in using it or resistant to change. I recall the first time I integrated Salesforce into an organization, we had a very difficult time getting the sales staff to actually use it. Eventually we found a way to get staff interested in using the CRM and stop using Google Docs or Excel sheets.
Continue reading

Using Promises in Salesforce Lightning

Using Promises in Salesforce Lightning

It’s no secret that Salesforce Lightning is changing the way we develop for Salesforce. At Dreamforce 2014, Salesforce introduced Salesforce Lightning and it is proving to change a lot of things we do on the platform and I’m sure it will make things a lot better for users in the long term. If you aren’t already familiar with Salesforce Lightning then you need to read my post called What is Salesforce Lightning. Continue reading

A beginners Guide to Understanding CRM

Beginner's Guide to Understanding CRM

In the days of early computing, it was rare that companies would have a way of communicating with their customers that would scale as the company grew. Everything went into different “data silos” that wasn’t necessarily accessible to the right person at the right moment. When I started my career, I worked on phone systems that were mostly being used by mortgage brokers that usually worked off of lists of potential customers in excel.

Usually the brokers had no insight into how things were going or would go unless they kept adding columns for notes each time they called or emailed the person. If the mortgage broker worked on a team or had a manager – it was nearly impossible to coordinate how things were going because everything was based off of the data or papers even that one employee would keep on their computer or on their desk.
Continue reading

How to Add Third Party JavaScript Libraries to Salesforce Lightning

How to Add Third Party JavaScript Libraries to Salesforce Lightning

It’s not secret that Salesforce Lightning is a huge shift away from Visualforce and Apex, I feel like I’ve had to relearn years of development and lean heavily on my javascript development experienced. If you aren’t sure what Salesforce Lightning is or aren’t sure why it’s a huge shift, you need to read my blog article called what is salesforce lightning.

What is a Third Party Library

Third party libraries allow developers to build quickly and take advantage of other people’s abstractions to avoid having to spend time working around browser issues or etc. In JavaScript, third party libraries and code reuse are all of the rage. A third party library is basically anything your team personally write and require for your project to work. Continue reading

How to Adapt to Serverless Computing

Adapting to Serverless Computing

Serverless computing is a really new and very trans formative change that allow companies to grow and scale their businesses very quickly. Serverless computing done correctly has the potential to dramatically increase development velocity, and reduce costs. In my blog post, What is Serverless Computing I covered what it is and some of the vendors that are available.

Adopting serverless computing makes a lot of sense for companies, but there are steps that you need to do before you can begin moving to serverless technologies. One of the first things to make sure you and your team understand is that serverless computing is primarily event driven and functional programming has the potential to make things a lot easier. Continue reading

What is a Self Invoking Function

What is a Self Invoking Function

In JavaScript, it’s common to hear lots of strange terminology without a lot of description around what it is or what it does. I want to try and demystify what a self invoking function is and why you should consider them and the times when maybe you shouldn’t consider them. Continue reading