What is Serverless Computing

What is Serverless Computing

In the ten years or so that I have been programming professionally, there’s been significant changes to the way we did things whether it be the way we developed software, the way we managed software, or the environments we used to execute our code. Over time, these changes have become increasingly more and more dramatic to the point where it’s now possible to run a company and maintain almost no actual servers.

For the last 18 months or so, I have been working with “serverless computing” which is an incredibly encompassing buzzword for a lot of different technologies and techniques.
Serverless computing is a very large break from the traditional way we developed software and deployed software to servers. Serverless computing is basically an architecture where code is stored and executed by a fully managed provider. Continue reading

Why JavaScript

Why JavaScript

In the earlier days of the web, there was a battle between two scripting languages VBScript and JavaScript. VBScript, thankfully, eventually died and JavaScript became the dominant language for making really easy to use and interactive websites.

In the years since, JavaScript has become more and more used. Backend code can be written in basically any language, even in JavaScript, but the client side will almost always require a developer with some JavaScript knowledge. Every industry has a lot of javascript and some are even rewriting core functionality to use more. Surprisingly, even large banks and credit card companies are beginning to use JavaScript or Node in big ways. PayPal has been rewriting very large parts of their code base to make it more scalable and usable. Continue reading

How to Use Reduce on JavaScript Arrays

In functional programming, being able to reduce is one of the fundamental concepts. Reduce is used to iterate through the values in an array and condense all of the values into a single value. Usually the value is a sum of all of the elements.

Normally, you would want to use a reduce method when you want to sum all of the values in an array and then use the total for some operation. For example, it might make sense to use a reducer when you want to get the total number of items in a shopping cart and determine the tax or determine how many items a customer purchased. Continue reading

How to be a more Efficient Debugger

How to be a More Efficient Debugger

For the last 10+ years or so, I’ve been programming professionally. Even with ten years of practice, I still am unable to write a bug free applications. In this blog post, I have put together some tips on how to be a more efficient debugger and how to actually resolve the issue. A lot of my bugs aren’t as obvious as they used to be, but they are definitely still there. In the book Code Complete, Uncle Bob Martin, suggests that every error is an opportunity to learn. Continue reading

Detecting Inactivity in JavaScript

Detecting Inactivity in JavaScript

In a lot of web applications, it can be really useful to detect whether the user is still active or not. For example, when a user is no longer active it can make a lot of sense to automatically log the user out or remind them that they’re about to be logged out. Continue reading

How to merge Objects together in JavaScript

How to Merge Objects in JavaScript

Merging objects together in JavaScript isn’t very difficult although there’s quite a few different ways that it can be done.

Note, I’m not covering deep cloning for the sake of simplicity although this can be easily done through most of these different methods.

Continue reading

Book Review: Advanced Apex Programming

Advanced Apex Programming

It’s no secret to those that know me that I read a lot and spend a lot of time gathering knowledge and honing my craft. I believe I own and have read most of the books on apex and salesforce that are available right now. Advanced Apex Programming by Dan Appleman is definitely the most advanced book for programming on Salesforce and Force.com. Continue reading

How I stay informed of Salesforce Changes

How I stay informed of Salesforce Changes

Salesforce does three major releases per year which often include hundreds of changes whether they be bug fixes or new features. Staying on top of what is changing is very difficult as the company continues to expand and is consistently enhancing the platform.

As a professional it’s part of our jobs to stay current on what is available in Salesforce and what may change in the next year or few years. Continue reading

10 Awesome Podcasts for Developers

Awesome Podcasts for Developers

Podcasts are radio like shows that are freely distributed on the internet. A lot of the time they’re distributed through Apple iTunes, Stitcher or other Audio Apps. Podcasts around technology aren’t new – some of them are over ten years old and have over a thousand episodes.

The podcasts I’m mentioning usually cover development and new and exciting technologies. Continue reading

How to Choose An Apex Trigger Framework

How to Choose an Apex Trigger Framework

If you have been programming on the Salesforce/Force.com platform for any amount of time I’m sure you have come into contact with Apex Triggers. If not, Apex Triggers are units of code that execute whenever a database operation occurs. I’ve put together a post about Before and After Triggers that you should read if you aren’t very familiar with how triggers work.

Apex Triggers can get complicated very fast if your company has a very customized Salesforce Org. Apex Trigger Frameworks are a way of offering generic functionality that structures code in a certain way. If you were to use a building metaphor we could say that a framework is the supporting structure of the building – it’s the steel or wood shell that supports the building. Trigger Frameworks are very good at enforcing trigger best practices. Continue reading

How to Improve as a Developer

How to Improve as a Software Developer

As a software developer, it’s really important to take time and improve your programming skills by learning new technologies and techniques. By constantly trying to improve as a developer there’s potential to become a highly sought after developer. Continue reading

Introduction to Salesforce Approval Processes

Introduction to Salesforce Approval Processes

An approval process is process that is used to approve records going into Salesforce or being modified within Salesforce. Approval processes are commonly used in companies that are publicly traded or highly regulated. Having a knowledge of how setup Approval Processes in Salesforce and how to modify them is incredibly valuable if you plan to work in finance, or government. Continue reading

How to Clone an sObject in Salesforce

How to Clone an sObject in Salesforce

Salesforce supports basically two types of clones a clone and a deep clone. We’ll go over how to notice the difference later in this post and of course how to create both types. Of course, there will also be some example code on how to create both types of clones. Continue reading

How to Sync Quotes using Apex

How to Sync Quotes using Apex

In Salesforce, quotes are a representation of prices that have been proposed to a customer for products or services. If you aren’t familiar with opportunities, quotes and products please review my post about Designing a Sales Process in Salesforce.

An opportunity may have lots of quotes associated to it but only one quote may be synced to an opportunity at a time. Quote syncing links a quote a specific opportunity which allows updates to update between the Opportunity and Quote. Basically, when an Opportunity is added or removed it can be removed from the list of Opportunity Products without having to write any code. Keep in mind that this means Opportunity Products will be automatically removed and readded. I have been confused a few times by this. Continue reading

How to Start a Career in Salesforce Development

How to Start a Career in Salesforce Development

Salesforce is an incredibly popular product and has a pretty large following in the technical community. Salesforce Administrators, Business Analysts, Developers, and Architects are constantly being required. There’s a lot reasons to consider starting a career in Salesforce development. Continue reading

Apex Trigger Best Practices

Apex Trigger Best Practices

Apex Triggers are very powerful and are easily one of the most important parts of Salesforce because they significantly impact all database operations (inserts, updates, deletes, etc. ) With this incredible power and flexibility there’s a lot of room for problems. In my career as a Salesforce developer, I’ve looked at hundreds of different apex triggers and realized there are a lot of points of failure with apex triggers. This post is a very high level list of best practices and why they are important for apex triggers.

Continue reading

Avoid Multi-Select Picklists in Salesforce

Avoid Multi-Select picklists in Salesforce

Salesforce’s multi-select picklist seems like a great fieldtype, but it has an incredible amount of limitations. I strongly recommend avoiding multi-select picklists in Salesforce. I’ve learned this and suffered a lot after incorrectly deciding to use them instead of using a bunch of checkboxes. Continue reading