Best Practices for Developers


Have you ever being involved in a project where you had to develop a script and suddenly you lose track of how many versions you have? Or how about a time when you were almost finished with your project and suddenly your computer died and your changes were not saved? Well, in this article we will be discussing a few best practices for developers that will help you solve some of these problems. My name is Ricardo A. Chavez, and I am currently a Senior Software Engineer here at SFCG and have been for about 4 years. During this time I have come to learn some coding tricks that will help any developer make their code and scripts easier to understand. My learning experience also involved some best practices that any developer should follow in order to make their work experience the best one. Below I will share three best practices that I follow every time I am developing a new application for any of our clients.  


  • Use a Good Developer Tool

Your biggest weapon when developing a script or project is to use a good developer tool. They are software specifically designed to help developers write code in different languages. There are some built specifically for a single programming language like C#, but most of them are multi-purpose, being able to process several languages like PHP, HTML, Javascript, etc. I have found out throughout my years as a developer that the best and easiest tool to understand and use is NetBeans. It allows for easy and efficient project management, highlights places where there might be bugs or errors, and allows you to write applications in several programming languages. If there is a tool you were looking for, this is the one!


  • Always Save Your Code

You would not believe how many times I have been writing code on my laptop when suddenly something might make it crash or shut down. At this point the whole project will be lost and the need to start from scratch will arise. A good practice is to always save your code whenever you finish a small piece of logic. This could be a function, a loop, or just some comments about what your logic will do. A good practice is to also save a “master version” of your code that will be used in case you might need to revert to a previous version.


  • Backup Your Project

This is the big one. Let’s say that you are working on your project, you finished it, you tested it, and everything works great so you push it to production and everything is right. Then suddenly the server where your code is hosted might crash and all your hard work is deleted without you being able to recover it. It is then that you realize your code was not backed up and there is no way for you to get it back. A good practice is to also save your code locally, however what would happen if your laptop/computer suddenly crashed and you have to delete your hard drive and install a new one? This is where websites such as BitBucket come in handy. This is a site where you can create repositories, upload your different script versions, download and copy previous projects and best of all, all of your stuff will be private meaning that only you will have access to your projects. Having a website where you can back up all your scripts is a good way of preventing situations as the example described at the beginning.


  • Communicate

This is habitually something that developers have trouble with. Most of the time, developers will let someone know when they start a project and once it is done. That is only two times that they communicated with someone, however this is one of the most important practices that need to be used. Clients are usually happy when they are given progress reports of the app they requested, and at the same time, your team members' work will be easier to manage if they know at what stage of development you are. A good practice is to communicate with your clients at least twice a week and let them know what the status of their app is while  also communicating with your team members about any potential roadblocks, updates, progress, etc, on a daily basis. This way you will be able to make sure expectations are set and everyone is on the same page to ensure a good project, 


These are only a few of the best practices recommended for developers, but they are the ones I apply every time I am building something for our clients. This way you will never lose track of how many versiosn you might have or worry about your code reverting to a previous version and you having to build it from scratch. Your clients can rest assured that their app will always be available and that they would have the latest and best version of it.

Speed and Visibility: Two Biggest Benefits From Using PandaDoc to Generate Proposals

, ,

Before the year 2000, almost all contracts were only considered binding with a physical signature.  This obviously caused delays in operations and left a lot to be desired from a customer experience standpoint since the only holdup was a piece of paper. Today, in the world of the internet and immediate access to things with the click of a button, we have sped up the way we conduct business with the electronic signature. But that still doesn’t come without a headache.  How many of you have put in hours perfecting a quote, searched for the right parties to send it to, finally get it in what you think are the right hands, only to be left in the dark about what happens once it’s sent?


Well, with PandaDoc, we have eliminated that feeling altogether.  There are really two big issues the application addresses, and those are problems with the time it takes to create and send a document, and the lack of visibility across yours and your prospective client’s organization into the proposal process.  I will dive into how this application will allow you to speed up that process on multiple fronts, and also give your company a look into what is happening with your document from creation to execution with signatures.


First, let’s talk about speed…

Here are the top 3 ways that PandaDoc has sped up the closing process in a sales cycle…

  1. Tokens Integrated from CRM ( Oracle Sales Cloud ) – The first way it speeds up the proposal generation process is by automatically pulling information from your CRM into the actual document with tokens, which are field merges that leverage the integration between the two applications to have information such as Company Name, Address, Primary Contact Name, etc. already in your document upon creation. For information that is commonly placed in multiple locations, you can save time with these. (ex. [opportunity.CompanyName] )
  2. Templates / Content Library –  Another way PandaDoc decreases the amount of time spent on a proposal is by allowing you to create templates that you can reuse time and time again should you have boilerplate information that is standard with each proposal. Also, a tab called the ‘content library’ is a place you can store certain blocks of information to place into new documents should you need to reuse certain pieces of content, such as product SKUs and/or explanations of each product or service you are including. So instead of re-creating every proposal from scratch, you can save time by being able to reuse and edit prior documents at any time.
  3. Recipients –  The Recipients tab will let you decide what key stakeholders of the organization your are dealing with will receive notification through email with the proposal attached. Without having to create another email with an attachment, you can send the document directly through PandaDoc and have it signed electronically to send/receive it sooner than later, thus starting your relationship as fast as the two parties would like. Also inside this tab, there is an option to allow the organization you send your proposal to be able to forward the document should that be a need. So instead of crafting another email to another person within that company, they can forward it to the right person without you pressing another button.

The other major benefit is the increased visibility into each proposal.

Here are 3 ways to increase the visibility into the proposal process…

  1. Anyone with a sign-in or access to the document can view and write comments. This can be a manager or another contributor within your organization if there needs to be adjustments before it is sent out to the prospect. Or if there is any note you want to send the prospect yourself, it will also be visible so a dialogue about the terms and conditions and/or pricing could be hashed out through comments instead of back and forth redlining a document sent through email multiple times.
  2. The Analytics tab is another way to increase visibility. Once the proposal is sent out to your prospective client, all actions taken against this document such as viewing, signing, and forwarding is tracked. It even lets you see what pages were viewed and for how long each person was on any page. This will give you insight into what is most important to your customer while also arming you with what is most important to talk about in subsequent conversations.
  3. You have the ability to generate a “key” that allows others to view upon your authorization, so you can control who can and cannot see any document sent. If you are working with someone in an organization that doesn’t have signing authority, or even a channel partner that doesn’t have any direct action to take on your proposal, giving them a copy of the document is as easy as pressing a button. The key will also let you know any and everything they do with that document, thus giving you ultimate visibility into what happens with your proposal.


How much time and headache can these areas of improvement in the proposal generation save your team? It is not every day that you find something that fits your budget but also increases efficiency in something as tedious as generating a quote and getting it in the right hands at the the right time. Everyone could use more time and better information about what happens to their proposal once sent out.


For more information or to inquire about how easy it is to set up PandaDoc, please contact


Oracle SRM June 2017 Upgrades

, , , ,

Oracle Social Network has announced the updates to Engage and Listen and work began in early June. If you are using SRM, check out the new upgrades and enhancements including Instagram posts in Listen! 

Starting June 8, 2017, all users are now automatically directed to the new Engage interface when accessing it from within Oracle Social Cloud or from a bookmark. The new Engage interface will be the default experience for all users. Users will have the option to access the Classic Engage interface via the Back to Classic Engage link until July 20, 2017
The following Engage enhancements make it easier for you to be more effective and proficient in responding to multiple messages. When using the new Engage, you can:
  • Filter by any or all selected labels

  • Display multiple photos in Tweets

  • Filter to unread posts and comments/replies

  • View a side panel that displays message activity

  • Display photos and videos for Facebook offers

On June 26, 2017, all active Listen topics with the Social Sites content type selected will begin collecting Instagram posts. Topic search terms will match Instagram post hashtags. Instagram posts will be shown in Listen with their associated images and videos.
Oracle Social Cloud customers can get insights from Instagram hashtag mentions in the Listen dashboard and see attached photos.
For customers who want to exclude Instagram content from topics, use the Source/Post URL filter and exclude Instagram posts will be matched only based on hashtags: caption text will not be matched.