Salesforce Analyst Summit

To start off the new year, I had the pleasure of being invited to the Salesforce Analyst Summit 2017 in San Francisco. You can check out the full coverage at the hashtag #SalesforceAR but I’ll do my best to provide a good recap!

Unbeknownst to me, Salesforce has an entire Analyst Relations team that puts on their Analyst conference every year. Think the folks from Gartner, Forrester, etc. that analyze all types of software out there to compare them. This is their chance to hear about Salesforce directly from Salesforce!

Intro Overview

The first day was relatively short as most of the analysts were just arriving in town but it started off with a tremendous summary by Polly Sumner, Salesforce’s Chief Adoption Officer. She started off strong with some summaries of what she’s seeing from customers out there and what direction Salesforce is going to meet those customer needs. She had several great points such as “The person that responds to me the fastest has the highest chance of winning my business” and that companies are now asking themselves the question “What is our strategy so we don’t get Uber’d“. While many people, myself included, are doing our best to make predictions for 2017, Polly had a great summary with the overall Salesforce direction for the coming years.

SalesforceTransformations.png

Among the things that Salesforce is focusing on for the coming year shouldn’t come as a surprise to anyone:

  • Intelligence – in the form of Salesforce Einstein
  • Speed – in the form of the Salesforce Lightning Platform
  • Productivity – in the form of Quip
  • Mobility – in the form of Salesforce1
  • Connectivity – in the form of IoT Cloud on the Thunder platform

Polly also pointed out that while Salesforce has primarily focused on B2B (business to business) in the past, they are going to be taking a larger focus on B2C (business to consumer). She also raised the notion that all the products that the clouds focus on won’t be separate, but rather there will be customer specific specialists. “We’re in a world where people are going to cross over very quickly, the tools will enable them. You’ll have to become one of these modern companies or you may not be a company soon.” This notion of connecting all the products would become a common theme that I was happy to hear!

Equality

It wouldn’t be a Salesforce conference without a focus on Diversity and Equality. Salesforce invited none other than Chief Equality Officer Tony Prophet to speak about his story and his mission. “How great to be a company to write these words and actually mean them… A corporation can be a platform for good in society. What is the magic of Salesforce? This is a big part of it.” – Tony Prophet

AgeOfEquality.png

Tony also shared some Salesforce transparency statistics and answered some questions from the crowd. He also shared that he believes that while Salesforce is nowhere near the finish line, they have made progress in diversity.

Diversity.png

Some highlights from the Tony Prophet Q&A:

Q1: How far Salesforce will to go in their equality stand in terms of investors and customers given the current political climate and not having everyone agree with you?

A1: “Over the arc of time, nothing bad can come from standing for good…These have been our values from the beginning of the company and they aren’t going to change based on politics” – Tony Prophet

Q2: Do you have any target numbers you’re looking to get to in terms of diversity?

A2: “We’re not done and there isn’t really a goal of setting a finish line but rather continual progress” – Tony Prophet

Einstein, Internet Of Things, and Commerce

The full day of coverage started off with 3 key components, starting with an overview of Salesforce Einstein by Einstein GM, John Ball. At a high level, they’re creating a bunch of different models for each customer and determine the most optimized one for that specific customer!

John also shared some of the current and future Einstein features coming down the road! I’m definitely excited to start getting my hands on some of these things and to see them in action. As Salesforce continues to develop this technology, I’m excited by its potential.

Next up was EVP and GM of IoT Cloud, Woodson Martin, to talk about what’s coming from Salesforce regarding the Internet of Things. The biggest take I got out of it was the tagline “Know your device. Know your customer. Connect the two”.

Since the devices don’t have the right context to make the right decisions for the customer experience, IoT Cloud seeks to bridge the gap between devices and customers. They also showed off a pretty sweet demo!

Salesforce then brought up CEO of Commerce Cloud (formerly DemandWare) Jeffrey Barnett and SVP of Product and Engineering Rohit Goyal. The biggest highlight for me was learning what Commerce Cloud really is and does!

It shocked me how many customers are already using it and their observation that in today’s environment, 1/4 of all transactions are touching multiple devices before completing.

To put it into perspective, Twitter averages a little over 300M users per month. John and Rohit also shared that they plan to add more opportunities to integrate Commerce Cloud with all the other clouds (continuing that theme of uniting the platform) as well as make more APIs public and leverage the existing Salesforce Developer community! I talked to Jeffrey and he said at this time there are no free Developer editions but hopefully that will change in the future.

A couple other topics that were discussed that weren’t of as much interest to me (but may be to you) were the focus on the different industries Salesforce is taking, the renaming of ISVs to AIPs (Application Innovation Partners), the notion that Salesforce is expecting a 10X increase in consultant demand by 2020, and the Salesforce Ignite program, that allows Salesforce to differentiate the customer experience by focusing on the human factor in addition to the business and technical sides that others solely focus on.

Salesforce Clouds

The final part of the day was dedicated to sharing info on the 6 key clouds, providing both an overview with some of the product leaders as well as drill down on the specific clouds. Here are my highlights on each one but you can check out more slide details on the #SalesforceAR hashtag!

Adam Blitzer – EVP and GM Sales and Service Cloud (@AdamBlitzer)

  • Taking what used to be manual and rules based and making it intelligence based
  • Sales Cloud Roadmap: Focusing on Lead to Cash, Intelligence, Inside Sales, and Productivity
  • Service Cloud Roadmap: Intelligence, Lightning, Conversation, Field Service
  • Q: What’s your hardest challenge?
  • A: A lot of directions we can go in. Hardest challenge is probably making the right bets. AI is the biggest opportunity we have, and business software in general has. Releasing AI is going to be a v1. It’ll be interesting when you put it in the hands of users to see if it meets expectations.

Matt Tippets – VP Marketing Cloud

  • Marketers will become the most responsible for managing customer journeys
  • Marketing Cloud Roadmap: AdTech and MarTech, Intelligence, B2C Transformation, Cross-Cloud Journeys

Ketan Karkhanis – SVP and GM Analytics Cloud (@karkhanis)

  • “No human being can analyze all the data out there. We can’t even ask all the questions”
  • “Analytics needs to be actionable and shape behaviors”

Mike Micucci – SVP and GM Community Cloud (@mikemicucci)

  • How do we extend the core of CRM and connect to customers and partners?
  • Community Cloud Roadmap: Personalized Experiences, Answers Einstein, 1:1 Engagement, Productivity

Adam Seligman – EVP and GM App Cloud (@adamse)

  • “Want to deliver a unified customer platform”
  • “Want Salesforce to be an incredibly friendly platform for programmers”
  • 1.6M Trailhead badges earned
  • App Cloud Roadmap: Lightning, Meta-tenancy, Data & Events, Developer Experience

One of my biggest takeaways was from the App Cloud drill-down. They talked about SalesforceDX and how they’re focusing on Application Lifecycle Management (ALM) for Developers right now, but the goal will be to developer an #AwesomeAdmin experience as well! It will be using Git and have the ability to rollback behind the scenes without having to expose the command line. I’m very excited for this to become a reality!

The day was concluded by talking with some of the Salesforce partners and talking about how much the Partner ecosystem has grown!

Summary

Last but certainly not least, the day was concluded with a fireside chat with none other than Salesforce co-founder Parker Harris. He took some Q&A that I unfortunately had to leave early for to make a work meeting but I got some good insight from him before I left!

“We do have these clouds but Engineering is one unit for us. We’re well positioned to get the people to work together. My job is to get the people to work together and execute the architecture across all of the business units” – Parker Harris

“It’s not just the products we’re creating but the culture that we have” – Parker on how Salesforce is so successful in recruiting in the competitive Silicon Valley

He also came back to the theme of unifying all the clouds to create one end-to-end experience. This is something that really excites me and reinforces the notion that Salesforce can be a complete customer platform rather than just specific products. Parker is confident that this will help sustain Salesforce’s growth as they hope to reach the coveted $10B mark in fiscal 2018 (Feb ’17-Jan ’18)!

2017 New Years Resolutions

 I’ve never been great at keeping (or sometimes even making for that matter) New Year’s Resolutions but as you’ll see by my #1 resolution for 2017, I figured this was as good a place as any to make some! Happy New Year to everyone! And now for my resolutions:

2017

1. Blog more 

I really dropped the ball on this one in the 2nd half of last year, I originally set out to do a blog post every 2 weeks and while I did do a couple guest posts for other blogs, I didn’t come close to that mark last year. I’m going to try to be more reasonable this year and try to do 1 blog post per month. We’ll see if I can keep it up!

2. Stay current on Trailhead

I fell way behind on this and lost the top spot on my own leaderboard! While it is ultimately all about learning rather than a competition, I want to make sure I’m staying current on the newest technology (in addition to being #1)

trailhead-logo

3. Continue learning with more certifications

2016 was an ok year for me (by my standards), certification wise. I upgraded my Advanced Developer cert to Platform Developer I and II and took the first 2 steps in my Technical Architect Journey by achieving Development Lifecycle and Deployment Designer and also the Sharing and Visibility Designer certs! I still have a long way to go though to catch up to some people!

In 2017, I’m going to focus on some of the other Architect Academy certs and also try to actually get into some of the Marketing topics! There are a bunch of Marketing Cloud and Pardot certifications and this is a great incentive for me to learn more about them!

4. Complete additional Technical Architect training

As mentioned, I made some progress in 2016 but I still have 3 more to go and 2 optional ones. I definitely have a lot of additional learning to do on Salesforce Identity and Access Management as well as how to architect Mobile Solutions!

Hoping I should have a good shot at the Data Architecture, Integration Architecture, and Community Cloud Consultant currently with some studying!

Architect Academy.jpg

5. Build my 1st production Lightning Component

I recently completed a pretty great Trailhead module on Lightning Components but I’ve yet to complete any of these in my day job. This is a little bit out of my control as it depends on the business needs but since some of my peers have been building some of these, and I have a better idea of how these work now, I’m hoping to build one (or at least help build one) myself in 2017!

6. Don’t spend so much time at the office

This is something that as a Type A perfectionist I struggle with, but I definitely want to spend some more time this year making friends and developing some hobbies. I signed up for Gordon Ramsay’s Masterclass so I’m hoping he can teach me how to cook also!

7. Volunteer more

Being in a relatively stable position career wise and financially wise, I feel like as part of the Salesforce Ohana, it’s my duty to help those who haven’t been as privileged as I have. This year I had the pleasure of helping out as the first ever male coach in the RAD Women program teaching women to code as well as helping out an admin as part of Vetforce. I’m still trying to find additional ways to help out though so if anyone has any ideas, feel free to share them!

8. GymForce

Like many people, I have a desire to get in shape without enough motivation to do so. I was having a conversation with some about trying to find a way to make “Trailhead for the gym”. I’m sure there’s an app out there for game-i-fying working out so if anyone has any good suggestions let me know!

17.png

17 is my lucky number (in case you were wondering why it’s in my Twitter handle) so here’s to a great ‘17! Feel free to share your goals and feel free to keep up the pressure on me to hold me to mine!

TrailheaDX

I just got back (i.e. took a 5 minute bus ride home) from the first ever Salesforce developer conference, TrailheaDX! Just wanted to share my thoughts and help anyone who missed it feel like they were part of the experience as well!

OpeningBanner

I wasn’t sure what to expect when I first signed up for the conference as details were a little hard to come by. I entered with an open mind and right away identified the forest, or “Trail” theme that was present (TrailheaDX get it?). There was also a pretty sweet Dev Zone setup similar to what you’d find at Dreamforce with a very “Developer” theme present! There were a bunch of great demos available including one of my favorites on IoT from Josh Birk (@joshbirk). There was also one by Christophe Coenraets (@ccoenraets) on Bot integration, the #AwesomeAdmin team on Process Builder, and some partner demos including Amazon Web Services, Slack, and Microsoft. Normally I tend to stay away from sponsor booths unless I’m interested in the swag but I actually sought some of them out to see some of the cool stuff they were demoing. There was something for every type of developer regardless of whether you focus on declarative development, programmatic development, or sit somewhere in the middle. I stuck to more of the code focused development but there were options for all.

Keynotes

There were some exciting pre-keynote talks with the always entertaining hosts Peter Coffee and Leah McGowan-Hare. They interviewed Salesforce customers and employees such as Mary Scotton, Samantha Ready, and Chris Duarte! Sam mentioned the new Trailhead Superbadge feature that is now available!

There was also a surprise live appearance by the Salesforce MVP parody band, Apex & The Limits (@ApexNTheLimits)! It was their first time presenting live all together and they did an amazing job. Check out the footage captured by Salesforce founders Marc Benioff and Parker Harris!

The keynote itself got the conference started with a bunch of demos including showing off some IoT demos with Thunder, MetaMind, Lightning App Builder, and Lightning Components. The Summer ‘16 release was looked at and the Winter ‘17 roadmap preview was talked about as well! Both Marc Benioff and Parker Harris made appearances as well as Alex Dayon, Shawna Wolverton, Adam Seligman, and Sarah Franklin. Marc made an announcement of a $50M incubator that Salesforce has created to support innovators in the community who want to build apps with Salesforce. There were also 130 viewing parties all over the world that took part and got to say hi to the conference via webcam!

I was fortunate enough to be asked to participate in the intro video and even made it into one of the keynote slides 🙂

Check out some more keynote details here!

InKeynote

Sessions

Regardless of what type of developer you were, there were some sessions for you! True to the Trail theme, there were some campfire sessions to have some more intimate discussions. I happened to attend a pretty cool one on Inclusion in Tech with Mary Scotton (@rockchick322004)! Highlights from that discussion below. Unfortunately due to capacity, I wasn’t able to get into a couple of the other campfire sessions as they were first come first served and I didn’t get there early enough. I also missed out on a building bots hands-on training since they didn’t want to violate the fire codes. Understandable but I was a little disappointed about missing that one (fortunately the workshop was posted online!).

In terms of some more traditional sessions, there were a wide array of those as well! I saw several sessions on the agenda regarding Introduction to Apex and others on Advanced Process Builder for the more declarative oriented developers. Being more interested in the coding side, I attended two different sessions on the Lightning Component Framework, the first of which talked about how XML and CSS fit in and the second one discussed where JavaScript and Apex came into play. It definitely helped me understand a bit better how all the puzzle pieces fit together and was a nice refresher on some of the object oriented principles baked into the framework.

On Day 2, I attended a pretty sweet session with Christophe Coenraets (@ccoenraets) where he talked about how bots are becoming the new apps and showed off some bot integrations with Salesforce to Slack, Facebook Messenger, and the Amazon Echo. Even more amazing, you can download all the code and more as a package from this site here and recreate the demos yourself! This was probably one of my favorite sessions I’ve ever at a conference and I’m very excited to start playing around!

forcebot

Force Bot

trailheadbot

Trailhead Bot

code

Diving even deeper into the programmatic capabilities, a couple of engineers decided to recreate the demos using the React JS framework. Unfortunately I’m not the greatest when it comes to JavaScript so while I was able to follow along at a high level, looking at the code there in small chunks didn’t do me a ton of good. Still pretty cool to see some of the capabilities and I’m sure the JS gurus that were in attendance appreciated it!

The last session I went to was a Q&A with the Salesforce Platform team. The team answered questions from several audience members, including a few challenging ones from some of the MVPs, and did their best to convey what was coming (within the bounds of Safe Harbor/Forward Looking Statement guidance of course). They didn’t reveal a ton but did talk about how they’re looking to make changes to the deployment UI (change sets) and also add a bunch of other features. They were only able to say that it’s coming “soon” though.

panel

Swag and Friends

Outside of the learning and keynotes at Salesforce conferences, I’m always interested in collecting swag and meeting up with friends from the community that I mostly only know through Twitter. At TrailheaDX, I was able to do both! I came away with a sweet new water bottle and pair of socks for watching a demo and earning a badge while on site, a new backpack, some study materials (including a Lightning Experience Guide, Lightning Components developer guide, and cheat sheets), and a pretty sweet Rubik cube from the CRM Science team.

In terms of friends, I also did pretty well! I got to hangout with the always fun #AwesomeAdmin team, the Developer Relations team, and Team Trailhead from Salesforce, as well as meet a few of the MVPs I had only known virtually, and even snap a few selfies with some of them! I also got to meet Abhilasha Singh who came in all the way from India! Pictured below are me with Misty Jones (@MistyRaeJones) in from Arizona, Jen Wobser in from Arkansas (@crmsalesgem), Abhilasha Singh in from India (@Sweety_abhi), Kristi Guzman in from North Carolina (@KristiForce), and in the last picture Ryan Headley in from Wisconsin (@lifewithryan), Nana Gregg in from Texas (@nanahg3), and Katie McFadden also local to San Francisco (@katiesmcfadden).

There were also a couple of pics in trail gear taken that didn’t have me in them 🙂 Feel free to check those out here!

One More Thing

It wouldn’t be a Salesforce event without a little star power, and this one was no different. We got to watch a show from Lenny Kravitz and a fireside chat with the one and only Steve Wozniak! As an Apple fanboy, I was ecstatic! The concert was pretty awesome and Woz shared some anecdotes about hanging out with Steve Jobs, pulling pranks, his love for technology over business, his thoughts on the current state of technology, some good and bad experiences with recent Apple products, and how far he thought AI would get in the future. I definitely enjoyed hearing him speak and got inspired to go buy his book.

Conclusion

Overall I’d say it was a very successful conference! I’m guessing for next year if Salesforce puts it on again they’ll probably want to pick a bigger location, and I’ll definitely make sure to get in line for the really popular sessions a bit earlier. I got some sweet swag, great networking, learned some more info I can take back to work to help my company, and had a fun time hanging out with people who love Salesforce like I do (#SaaL). Regardless of your flavor of development, TrailheaDX had a place for you. I hope they do put the conference on again next year and I’ll make sure to be in attendance!

ClosingBanner

Salesforce Record Access

Overview

First of all, just wanted to clarify I’m not going to discuss how Salesforce handles security on their end, but rather how you as an admin can configure it in your org.  I would again like to remind you that I highly recommend nailing down the fundamentals of being a Salesforce administrator first regardless of which path you ultimately end up taking.  Salesforce security is so fundamental and universal, it is something that I ask interview applicants for admin positions about 100% of the time.  I should also note that while it’s probably alright to not remember every single different possible way a user could gain access to a record in an interview, demonstrating that you don’t understand the way that security works will always be a red flag for me.

“Security and Access” covers about 15% of the Salesforce Administrator certification exam and “User Setup” covers another 9%.  If you can master your understanding of how and why someone would or wouldn’t have access to a specific record in Salesforce, you’ll be ¼ of the way to being ready for your certification!

Every Job You’ll Ever Have

Every job you’ll ever have, in some capacity or another, will have an element of security to it.  There will be someone or something that you need to protect.  When working in technology, more often than not, the most important asset your company will have, is its data.  This means that you, as the Salesforce admin, will most likely be the keeper of your org’s keys.

Key

For that reason, it is imperative that you learn how to use them in the best way possible!  Salesforce has an easy to remember URL for their series of videos on this topic: sforce.co/WhoSeesWhat!  I’m going to summarize at a high level what the different pieces are but I highly recommend going through the links, Trailhead modules, and gain some experience to capture all the finer points.  I’m continuously learning new things about it all the time!

Profiles

The most basic level of access starts at the profile.  Users can only be assigned one profile so it is very helpful when choosing how to create your profiles, to choose names that capture the type of user they will be.  Profiles contain a TON of different settings.  There are so many, that Adam Torman once rolled out the complete list over 40 feet long down the side of a building:

Profile

The basic things you need to know are that these permissions contain the most basic Object, Field, and System level access for your org.  Nothing in Salesforce can restrict access to a user if their profile explicitly grants it.  The Object permissions are often referred to as CRUD permissions.  While this is an odd sounding name (and still amuses me every time I hear it) CRUD is simply an acronym for Create Read Update Delete.  This means you can grant or deny these 4 permissions for all objects.  There are also special permissions on objects such as “View All” and “Modify All” which override all other permissions in the system to give a user in that profile full access to all records of an object regardless of ownership.

Field level permissions on the same page as the Object permissions are set and can be marked as either Visible (allowing editing if the field is editable), Read Only (which includes the visibility permission by default), or left blank (which gives no access).

System permissions include things such as “Lightning Experience User”, “View All Data”, “Modify All Data”, etc can be set here as well and dictate the behavior that a user will have at an organizational level, beyond specific object permissions.  These will generally be specified on Salesforce Help pages if a certain permission is required to complete a specific action.

Access to Apex classes, Visualforce pages, tabs, apps, and other metadata can be set here as well.  Users MUST be assigned a profile and profiles are tied to license types.  It is also important to note that Standard profiles can’t be modified and are updated automatically with new releases.  They can be cloned to quicken the process of creating custom profiles though.

Organization-Wide Defaults (OWD)

Record ownership is key in Salesforce and by default users will have full access to a record that he or she owns.  What about the records of an object that a user DOESN’T own though?  This is where Organization-Wide Defaults (commonly known as OWDs) kick in.  With a couple exceptions, OWDs on an object can be set to one of 3 options:

  1. Read/Write – gives all users Edit access by default
  2. Read Only – gives all users Read access by default
  3. Private – gives all users No access by default

These settings will depend on you asking yourself a few questions such as “What is the minimum level of access someone needs to a record they don’t own?” and “Is there any reason someone would have to access a record that they don’t own?”  As I mentioned, there are some exceptions to this for specific objects but for the most part it will be one of those 3.  These can be set in Salesforce Classic by navigating to Setup -> Administration -> Security Controls -> Sharing Settings or Setup -> Security -> Sharing Settings in Lightning Experience (or simply searching for Sharing Settings in either search bar).

Permission Sets

A common issue when determining access is generally along the lines of “Well, if I give 10 users the same profile, what if 2 of them need slightly different permissions?” or “What if I need to give 2 users additional permissions for a few weeks, but then want them to go back to normal?”  Fortunately, rather than causing you to go through the 40 feet of a building process of creating a brand new profile, Salesforce has thought of this!  While a user can only have 1 profile at a time, they can have many profile extensions, known in the Salesforce world as Permission Sets.  A permission set is just that, a specific set of permissions.  This can range from Object specific permissions, to field specific permissions, to app specific permissions, to system specific permissions.  

Generally it is a best practice to have a specific use case in mind for a perm set and name it accordingly, such as “Convert Leads”, “View All Account Data”, or “Destroy Deathstar App”.  You can quickly swap out and assign permission sets to users to give them elevated privileges either temporarily or permanently.  You can also use these on users of different profiles in case specific individuals from different departments need to access an app, or a tab, or pretty much anything!

Roles Control Records

Probably one of the most important, and simple, statements that I keep in mind from learning Salesforce was something I was taught in a training video once: Roles control records.  This short, sweet, and alliteration friendly, statement refers to the last major component of basic Salesforce visibility, the Role Hierarchy.  Similar to profiles, users are limited to only 1 role.  Unlike profiles however, roles control ability to access records in an org.  Since managers often have reasons to be able to see records of their direct reports, Salesforce has made this easily doable by allowing the admins to assign roles to users that correspond to what the organization’s visibility looks like.  While I would highly recommend (from experience) against overcomplicating the hierarchy, it is possible to have up to 1000 roles.

Sharing Rules

If you have a more complicated security model you’d like to implement, Salesforce allows you to do this as well in the form of sharing rules!  You can implement rules that share records based on specific criteria to various roles, roles with their subordinates, or public groups.  These can be configured on an object-by-object basis.

security-access

Team Sharing

The next type of object sharing is of the “Team” variety.  Users can be added to Account or Opportunity teams in different roles on specific records and get additional Read or Edit access without having a relationship to the record owner.  These teams can also be saved in a user’s settings and be re-applied to help the owner work on selling to specific customers on an automated basis.

Manual Sharing

Sometimes there are one off cases where a user needs to share a record with someone else.  Maybe they’re going on vacation or maybe just need a little push from someone on a different team.  This is where manual sharing comes into place!  Users can manually share individual records at their own discretion.  In order to share a record, you must be the owner, above the owner in a role hierarchy, or an administrator.

Apex Sharing

Yet another option for sharing records is by configuring Apex sharing.  I haven’t personally done too much of this but the general idea is that you can create “share” records for any object through code that allow you to extend access of specific objects based on criteria that your developers (or maybe you someday!) define.

Wrap Up

Wow. With all these options for sharing records, there’s no end to the amount of customization you can give to your security model!  Each one depends on your company’s unique requirements.  If you’re ever in doubt about who has access to a particular record, Salesforce has you covered there as well!  By clicking the “Sharing” button on the top of the record (available if the OWD is set to anything other than Public Read/Write), you can see everyone who has access to the record, what their access is, and even click on “Why?” to see the reason behind why that particular user has access.

Screen Shot 2016-05-28 at 6.56.33 PM

Screen Shot 2016-03-16 at 7.55.05 PM

Hopefully that’s enough to get you started (and pass an interview with me) but just in case it isn’t, feel free to check out the helpful links and the Trailhead modules as a result!  Congrats! You’re on your way to becoming a Salesforce admin!

Relevant Trailhead Modules

Certification Items to Focus On

Security and Access from the Certified Administrator Study Guide:

  • Explain the various organization security options
  • Describe the features and capabilities of the Salesforce sharing model
  • Given a scenario, apply the appropriate security controls
  • Describe the various settings and permissions a profile controls
  • Given a scenario, determine the appropriate use of a custom profile

User Setup from the Certified Administrator Study Guide:

  • Identify the steps to setup up and/or maintain a user
  • Given a scenario, troubleshoot common user access and visibility issues

Additional Resources

Sharing Tips: http://resources.docs.salesforce.com/198/14/en-us/sfdc/pdf/salesforce_sharing_cheatsheet.pdf

More Info on Ownership: https://developer.salesforce.com/blogs/engineering/2013/10/behind-the-scenes-of-record-ownership-in-salesforce.html

Adding and Managing Users: https://help.salesforce.com/HTViewQuickStarts?id=000120152

Salesforce On Security: sforce.co/WhoSeesWhat

Profiles and Permission Set Auditing: http://www.salesforcehacker.com/2013/10/visualizing-users-permissions-across.html

Admin Hero on Security: http://www.adminhero.com/salesforce-security-part-1-record-access/

Manual Sharing: https://help.salesforce.com/apex/HTViewHelpDoc?id=granting_access_to_records.htm&language=en

Summer ’16 Release Recap

Hello all!  Apologies for the long delay.  Hopefully you caught some of my guest blog posts I’ve put out there like this one on the Salesforce community or this one on the Salesforce Developer certifications.  I’ve also made a few podcast appearances, presented at a conference, and gotten a few more certs since previously posting 🙂

For those of you unaware, one of the awesome things about Salesforce is that they release MAJOR upgrades 3 times per year, filled with several hundred new features each time.  By major upgrade, I mean almost 400 pages of notes worth!  Lucky for you, I’ve gone through this special 50th ever set of release notes for you so you don’t have to and want to share my favorite new things that are coming!  (I do highly recommend the HTML version by the way so you can skip around to your favorite parts.)

Be advised, I didn’t actually go through 100% of it, (it was 400 pages!) but I was pretty close.  If I missed anything awesome though, feel free to talk about it in the comments!  Without further ado, here are my favorite new features.  If you want to know when these are coming to an org near, you, be sure to check out the calendar on the Trust website.

50logo

I’ve divided it into 3 sections:

  1. General Admin Functionality that all #AwesomeAdmins can take advantage of either in Salesforce Classic or Lightning Experience
  2. Lightning Experience specific functionality that will help with your argument to make the switch.  These are available in Lightning Experience only
  3. Developer features that will come in very handy for anyone doing some coding

GENERAL ADMIN FUNCTIONALITY

Remove a Picklist Field Value from Records

Have you ever wanted to cleanse your data from an old picklist value? Now you can replace an old value with another value or a blank value!

Replace a value with an empty field

Change a Record’s Owner from Salesforce1

Now you can reassign records right from your cell phone or other device!

The Change Owner action and Change Owner dialogue in Salesforce1

Processes Can Execute Actions on More Than One Criteria

Now you can execute actions and then continue down your decision tree to check more criteria to potentially take more actions!

Stop or Continue process

Save Time by Cloning Sandboxes

Have you ever been in the middle of rolling out a feature or project and then had to start creating something brand new and been bummed the only way to get a fresh environment was to start with the current production environment? Or even just wanted to freeze development in one sandbox while not freezing development altogether? Now you can by cloning your sandbox!

Automatically Get Geocodes for Addresses

Now every time you enter a standard address value, the Latitude and Longitude fields will populate with accurate data allowing you to query by distance!

  • Billing Address on Accounts
  • Shipping Address on Accounts
  • Mailing Address on Contacts
  • Address on Leads

Associate a Contact with Multiple Accounts

Ever have a contact who worked at one company but helped out with another in some capacity? While contacts will still have a primary account (direct relationship), you can now add multiple additional account relationships (indirect) to contacts.

Directly and indirectly related accounts on a contact record

Copy and Paste Text on Record Detail Pages on Salesforce1

Also a big boon to avoid having to retype things on a mobile device, you can now take advantage of the native iOS and Android copy/paste functionality to quickly make changes to your records

Share Notes with Other Users or Groups

Ever taken some notes in Salesforce that you wanted to share with others? Now you can and rest assured that while others can see your notes, only you an edit them and choose whether or not your colleagues can re-share them

Use SOQL to Identify Reports Used by Dashboard Components

Ever try to delete a report only to be told that you can’t because it’s being used by a dashboard? No more!

SELECT Id, DashboardId, CustomReportId FROM DashboardComponent USING SCOPE allPrivate WHERE CustomReportId = 00OR0000000PBZZMA4

Use Enhanced Email to Drive Business Processes

Email becomes its own object now and allows you to relate it to your other Salesforce records.  You can also modify fields, workflows, triggers, page layouts, etc on the new Email object.

Bonus: Create and Edit Records While Offline Using Salesforce1 for Android

Available just for Android and only in pilot mode for now, I’m very excited for the future of this feature!

LIGHTNING EXPERIENCE FEATURES

Customize Home for Different User Profiles

Now you can create multiple home pages in Lightning Experience for your users and assign them to specific profiles.  Think of it as a home page layout!

Create and Edit Lightning Experience Record Pages

While not 100% there, you are now able to customize the detail pages for many standard objects in the Lightning Experience similar to what you’re used to doing in Salesforce Classic

Override a View Action with Both a Visualforce Page and a Lightning Page

Did you have an action with a Visualforce override that doesn’t look great in Lightning so you’re thinking about not rolling it out to your pilot group yet? Have no fear! Now you can leave the Visualforce page active in Salesforce Classic, while your Lightning Experience users will see your snazzy new Lightning Page instead when they use that same action

Edit Objects Directly from the Setup Menu in Lightning Experience

Quite possibly my favorite feature in this release, now instead of having to navigate through Setup to make a change on an object, you can do it from the top navigation bar right from any of that object’s records!!!  Hooray for less clicks!

Edit Object in Setup

Simplify Salesforce Navigation with the User Switcher

The other contender for my favorite feature in this release, now you can finally sign into multiple orgs at once and switch back and forth!  I’m very jealous of Madison right now.

user switcher

DEVELOPMENT FEATURES

Increased Cross-Namespace Limits

Might just be a pet-peeve of mine since I recently hit this limit in my production org, but now I don’t have to worry as much about installing so many managed packages anymore that each run their own set of triggers!

View Skeleton Code for Global Apex Classes in Installed Managed Packages

Another boost for orgs that work with a lot of AppExchange managed packages, now you can better see an outline of what the code from those apps is doing to either work around it, or better integrate it into your own code.

/*
This file is generated and isn't the actual source code for this
managed global class.
This read-only file shows the class's global constructors,
methods, variables, and properties.
To enable code to compile, all methods return null.
*/
global class MyClass {
    global Decimal myDec;
    global String myString {
        get;
        set;
    }
    global MyClass() {
    }
    global Integer myMethod(Integer arg1) {
        return null;
    }
}

Get a Map of Populated SObject Fields

I can see a ton of great use cases for this one! Now when looking a particular record, I can do quick checks to see which fields are populated rather than doing a bunch of complicated logic.  I can also just look at the populated fields on my record rather than trying to parse through all the blank ones or try to figure it out on my own.

Debug Lightning Components with the Salesforce Lightning Inspector

If you’re like me and constantly have the Chrome Dev Tools open any time you work with Javascript, then you’re probably gonna love that Salesforce created its own version for when you’re building Lightning Components!  (You may also be like me and just need another excuse to start building some Lightning Components)

Performance tab

That’s it for my favorite Summer ’16 features.  Stay tuned for what I assume should be a pretty cool Summer ’16 Trailhead module coming up and don’t forget to grab your Spring ’16 badge before it gets retired next month!  Don’t forget to add yourself to the Trailhead leaderboard either 🙂

Building Even More with Salesforce

Happy New Year!.  I wanted to expand a little bit on my last post and introduce a few other basic admin tools to round out the Standard and Custom objects portion of the Certified Admin exam, compromising 18% according to the rubric.  I also wanted to share my new Journey Progress page and encourage you to start your own if you haven’t already!

More on Lookups

Last time we introduced the unique concept of creating a field on an object that links that object record to another object record, such as a Contact to the Account that it corresponds to.  By connecting 2 objects together, you can create complex automations and gather additional data on parent objects when its child objects get updated.  Creating a lookup relationship creates what is called a One-To-Many relationship meaning that there will be one single parent object and potentially many child objects.  The child object record will have a single field that will be a hyperlink to the parent record and the parent object record will have what’s called a related list on the bottom of the record page that will show all of the associated child records.  

Use Master-detail lookup relationships when you want the child objects to depend on the parent objects.  For example, if you had a custom object called Jedi Knight and a related object called Lightsaber, you may want a Jedi’s lightsabers to also be deleted if the Jedi record is deleted.  You could also have a roll-up summary field to count the total lightsabers a specific Jedi owned*.  The detail object record will inherit all security and visibility from its master record.

If you had another object called Vehicle, you probably would want to assign the Vehicle a new Pilot if something happened to the original one.  A standard lookup relationship would be best here to relate the two objects but not make them dependent on each other.  This allows you to have a variety of vehicles and pilots that you can swap out as necessary.  It may be possible that better pilots could be driving multiple vehicles but chances are vehicles should only have one primary pilot.

Sometimes it’s necessary to create a many-to-many relationship, for example if I was setting up a college course signup app, I might have a custom object called Student__c that would be enrolled in multiple Course__c objects.  In turn, each course would have multiple student objects associated with it.  In order to set up a relationship such as this, we can use what is called a “Junction object”.  We could create an additional object, such as Course_Slot__c that would have a lookup field, and a One-To-Many relationship, to both the Student and Course objects and would represent one student signing up for one course.  We could then adjust our Course Slot related lists on both the Student and Course objects so we could see a student’s complete schedule and a course’s full roster by looking at their specific records.

*You can also create a one-to-one (1:1) relationship using a hack with roll-up summary fields and validation rules outlined here: http://one-to-one-salesforce.blogspot.in/

Chained Dot Notation

In the last post, we also introduced the concept of “Dot notation” where I can say Wand__c.Wizard__c and be referencing a Wand’s corresponding Wizard lookup field.  But what if I wanted to know what Hogwarts house the Wizard was in without having to click on the Wizard to find it?  If I was looking at the wizard, I could look at the Wizard__c.House__c field and that would tell me!  Wouldn’t it be pretty cool if I could ask a wand which house its wizard was in though?  Fortunately, Salesforce let’s us do this!  We just have to let Salesforce know we want to ask a wand about its related record.  Because it’s a related object though, we’ll use slightly different notation, namely “__r” instead of “__c”.  We can say Wand__c.Wizard__r.House__c to ask about the Wand’s Wizard’s House from the Wand record!

CustomFields

Generally you can have Salesforce figure this out for you by inserting merge fields such as in the screenshot above but it’s definitely good notation to know, and even better to know that we can do it!  You’ll most often see this in formulas, validation rules, and email templates, and as with most things, you can also do it in code.  You can also create a chain of objects up to several lookup levels deep!  As with electronics though, it can get messy, not to mention dangerous, if you go down too many levels so Salesforce has a depth limit of 5 levels in place (3 for master-detail).

Wires

Schema Builder

A good way to view all the relationships between your objects is by using the Schema Builder.  The example below shows that the Account object has a One-To-Many relationship to the Case, Opportunity, and Contact objects, Contact has a One-To-Many relationship to the Case Object, and the Lead object is not connected to the other objects via lookup.  You can also create fields from here but I generally prefer going through the UI instead.

SchemaBuilder

Record Types and Page Layouts

While it is great to be able to create a great data model full of standard and custom objects and fields, it is likely that you’ll have different types of records for each object and different users are probably going to need to see different fields.  For example, you may have a bunch of different droids represented as Contacts.  Some will be protocol droids such as C-3PO, some will be astromech droids such as BB8 or R2-D2, and some will be medical droids.  All of these would be classified as contact records but are going to have very different relevant fields.  

Is there really a point in an astromech droid having a field called Languages_Spoken__c or a protocol droid having a field called Medical_Skill_Level__c?  Most likely not.  The Contact object will need to have both of these fields though.  This is where the concept of Record Types come in, so you can quickly figure out how many of each type of droid, or Contact you have.  You may also allow certain users to only be able to create certain types of new droids.

You might also have different employees that need to see different fields of the same type of record.  For example, you probably won’t want a Sith in your organization, or any one else in the Dark Side department, to know the value of Home_Planet__c on the protocol droid Contact record type but they still may need to know about its existence for reporting purposes.  You can create separate page layouts for various users and assign them to record types and user profiles so you can determine exactly which fields each type of user should see for each record.  

Note that fields are added to Page Layouts, Page Layouts are assigned to Record Types and associated with Profiles.  You can’t add fields directly to record types and you can’t restrict visibility of Page Layouts directly to users.  The combination of record types, page layouts, and field level security (more on this next time) together will dictate exactly what each user will see when viewing a specific record.  

List Views

Between objects, fields, records, and record types, there’s a lot of potential data to be viewed at once.  Fortunately, Salesforce lets us filter what records we want to see in what are called List Views.  List Views allow you not only to filter which records you see at any given time, but also which fields show up on each particular view.  Sometimes it’s useful to only see records that you own, sometimes all records for a given time period, sometimes sorted by record type, or sometimes by a filter of your choice!  You can also choose if you want the current view to be visible just to you or to your entire org as an admin.  You can also allow end users to create their own list views so they can filter however they like as well.  With Lightning Experience, you can also add cool charts to your list views for quick data analysis!

Wrap Up

A lot of info to cover but hopefully you have a better understanding of how to start building on the platform and customizing a little bit more using both the built in functionality of the standard objects and some custom objects that are built specifically to support your org.  To get a little hands on practice, feel free to check out a few of the Trailhead modules listed below and the additional resources for some more information.  After you finish the modules, feel free to add yourself to the Trailhead leaderboard!

 

Relevant Trailhead Modules

 

Certification Items to Focus On

Standard and Custom Objects from the Certified Administrator Study Guide:

  • Explain how to create, delete, and customize fields, page layouts, and list views for custom and standard objects
  • Given a scenario, determine the appropriate fields and page layouts for custom and standard objects
  • Explain how to create, delete, and customize record types for custom and standard objects
  • Given a scenario, determine the appropriate record types and business processes for custom and standard objects
  • Explain the implications of deleting fields: https://help.salesforce.com/apex/HTViewHelpDoc?id=deleting_fields.htm&language=en

 

Additional Resources

Object relationships: https://help.salesforce.com/HTViewHelpDoc?id=relationships_considerations.htm&language=en_US

Roll-Up Summary Fields: https://help.salesforce.com/apex/HTViewHelpDoc?id=fields_about_roll_up_summary_fields.htm&language=en

Junction objects: https://help.salesforce.com/HTViewHelpDoc?id=relationships_manytomany.htm

 

How is Salesforce Built

Apologies for the long break between posts!  One of my New Years resolutions is going to be to try to write up a new one at least every 2 weeks.  For now, I’d like to discuss a topic that is fundamental to understanding how Salesforce is built, Objects and Fields.  As with any platform or structure, the building blocks used to build your data model are essential to understand before the building begins, otherwise someone can destroy it with a single, well aimed shot, sometimes even without a targeting computer.

I also wanted to start a series of #AwesomeAdmin specific posts and when applicable, point out how they apply to the Salesforce Certified Administrator certification as per the study guide.  I’m also going to show you which items you should hopefully have a better understanding of from the study guide at the end of the post.  Keep in mind though, there is no replacement for experience.  Where I can though, I’m also going to try to introduce you to some developer lingo here and there either to give you a head start to learning how to code on the platform, or if nothing else, give you a leg up in communicating with the developers that you’ll inevitably be interacting with.

Standard Objects

In case you didn’t remember my referring to Salesforce as a relational database, it’s important to understand how Salesforce works out of the box.  Essentially, you can think of objects as a sheet in an Excel file with header values in the first row, and each subsequent row as an individual record of that object.  Salesforce comes with many of these objects in each instance and they are referred to as Standard objects since they are standard to every org.  Examples include Account, Contact, Lead, Opportunity, Campaign, Case, etc.  There are many others but we’ll focus on just these for now.

Custom Objects

Custom objects are almost exactly the same as Standard objects with some small exceptions.  All objects come with a Label/Object Name and a Name that is used in the API (Application Program Interface).  The Label value is used when referring to the object in conversation with users and in tabs.  API names though are how an object is referenced everywhere else including in validation rules, formulas, workflow rules, and of course, code!  While Standard Object API names match the Label values, Custom Objects are objects that you create as an admin and Salesforce automatically adds “__c” to the Label value to generate the API name.  For example, the API name of the Account object is Account, where as the API name of a Warehouse object that I create specific to my org would be Warehouse__c.  

Screen Shot 2015-12-29 at 10.40.01 PM

Salesforce Classic

Screen Shot 2015-12-29 at 1.19.18 AM

Lightning Experience

 

 

 

 

Objects and Fields

While in Salesforce Classic, Standard and Custom objects were separated in the Setup menu, in the new Lightning Experience, the new Object Manager allows you to view all objects in the SAME place in the SAME way (a refreshing change in my opinion!).  Objects are made up of fields, similar to the header values in your Excel spreadsheet or how buildings are made from bricks.  Just like objects, some fields that come with all objects are referred to as Standard fields and fields that you create are referred to as Custom fields, and also get the “__c” appended to their API names.  All fields also have their own Labels and API Names.  You can’t edit several properties of Standard fields though.

Screen Shot 2015-12-27 at 9.24.55 PM

Due to the flexibility of Salesforce, you can create custom fields on standard objects and utilize standard fields on custom objects.  Since they’re out of the box though, standard objects tend to come with more standard fields and additional functionality that isn’t always present with custom objects.  Regardless, collectively they are referred to as Objects, or sObjects (Salesforce objects) when dealing with code.  In the Salesforce universe, you can generally use the term Object and sObject interchangeably.  Think of the term Object as you would the term Shape and specific objects such as Account or Contact like the terms Circle or Square.  From an Object’s home page in Lightning Experience, you can now see virtually all attributes, limitations, and automation for that specific object regardless of whether it is standard or custom.

Screen Shot 2015-12-29 at 1.25.29 AM

Fields

A little more information about fields, there are a multitude of field types you can create on any sObject.  Some of the more common ones are outlined below:

  • Checkbox (referred to as boolean in code) – can be checked or unchecked
    • Sometimes referred to as True or False
    • Sometimes referred to as 1 or 0
  • Currency – monetary value that will default to the default currency type of the owner of a particular record
  • Date and Date/Time – Includes month/day/year and can also include hour/minute/second.  In the user interface, AM or PM can be specified but a 24-hour clock is used when referring to code, written in the format yyyy-dd-mmThh:mm:ssZ when loading data or filtering records by date
  • Number – standard number field (referred to as Integer or Double in code depending on the size)
  • Phone – will automatically format input in the form of a phone number
  • Picklist – also commonly known as a dropdown list, allows a user to select a specified text value from a list to avoid typos
    • Multi-select picklists can be created as well but those tend to be harder to work with and report on and are generally not recommended unless absolutely necessary
    • Picklists can also be made dependent on each other, for example while selecting classes for school, you can have a controlling picklist to specify you’re looking for a Math class or Language class and a dependent picklist that will contain the values of “Math 101, Algebra, and Geometry” if you pick “Math” or “English, Spanish, or French” if you pick “Language”
  • Text and Text Area – allows a user to enter a single or multiple lines of text (also referred to as a String when talking about code)

There are also some special fields with unique properties that sometimes come with limitations to how many can exist on each object, but can come in EXTREMELY handy when automating processes and connecting your objects together.  Think of these as the special legos that come in the package!  They’re super cool but usually there’s only a couple of them in each package.

legos

  • Formula – can be a Checkbox, Date, Number, Text value, or a few others and gets its value from logic that you can define based on the values of other fields on the specific object
    • for example if you’re tracking the Street__c, City__c, and State__c fields separately on a custom object, you can create a formula field called Address__c that will equal the value of Street__c + City__c + State__c
    • Formulas have a limit of 3900 total characters in them and can only be extended to reference other formula fields if the total value combines for under 5000 bytes behind the scenes, don’t worry about this too much for now but just be aware that you can’t create unlimited formulas that reference each other
  • Lookup – relate objects to each other either in a Master-Detail relationship or a Lookup relationship, more on the differences next time
    • Standard objects come with some of these by default and custom objects can have a maximum of 2 master-detail relationships and they can go up to 3 levels deep
    • Standard objects can’t become details to master Custom objects
  • Roll-Up Summary – Can be in the form of a Count, Sum, Min, Max and give the aggregate total of fields on related objects
    • for example an Account record can show how many total Contacts are associated with it, the total value of all opportunity amounts associated with it, or the highest or lowest value opportunity amounts
    • These can only be created on objects that are the Master objects in Master-detail relationships and are limited to 25 per eligible object

Dot Notation

The last major item I wanted to touch on is what is referred to in the coding world as “Dot Notation”.  All it really is though is requesting information about specific fields on specific objects.  For example, Account.Name (read as Account dot Name) will give me the value of the Name field for the Account that is being referenced.  It works the same way for custom objects, as long as we remember that when accessing fields, we use the API name, and therefore need to add the “__c” to each one.  Jedi__c.Lightsaber_Color__c (read as Jedi dot Lightsaber Color or Jedi underscore underscore c dot Lightsaber Color underscore underscore c) will give me the value of the color of the lightsaber of the Jedi that the statement was referencing (hopefully now you’ll understand why the “__c” is often implied on anything custom rather than spoken).  You’ll often see this sort of syntax as an Admin anytime you need to “insert merge fields” whether in a formula, validation rule, or email template.  Hopefully this doesn’t come as too big of a surprise, but you also now know how to reference fields within code too!

Wrap Up

More about the differences in lookup relationships and determining exactly how you can distinguish between different types of the same objects in my next post!  In the meantime, feel free to browse the resources below and pick up a few new related Trailhead badges if you haven’t already. Stay tuned and may the Salesforce be with you!

Additional Resources:

Data modeling Trailhead module: https://developer.salesforce.com/trailhead/module/data_modeling

Accounts and Contacts Trailhead module: https://developer.salesforce.com/trailhead/module/admin_intro_accounts_contacts

Leads and Opportunities Trailhead module: https://developer.salesforce.com/trailhead/module/admin_intro_opptys_leads

Certification Items to Focus On

Standard and Custom Objects from the Certified Administrator Study Guide:

  • Describe the standard object architecture and relationship model
  • Describe when to use and how to create formula fields

 

Start Your Salesforce Journey

First Steps

Hopefully by now you’re aware of how awesome Salesforce is, what a Salesforce career can bring to you, and some of the paths you can choose to walk down.  You probably have a few obvious questions such as “How do I get started?”, “How long will it take to get started?”, and “How much will it cost?”  Depending on what direction you want your career to take, there may be slightly different answers in the long term, but for taking your first steps, you can start today, it will take 20 minutes, and it will cost you absolutely nothing.

Trailhead

A couple of weeks ago, Salesforce made generally available its Trailhead learning tool that it introduced in beta at their Dreamforce conference last year.  Trailhead as the article states, is a fun, free, and easy way to learn Salesforce.  They play off the camping theme and divide modules up into different “trails” that again allow you to choose your own path.  They have trails for almost every possible path including Admins, Developers, Non-Profits Admins, and even End Users.  They also have trails for everyone regardless of your experience from Beginners on up.  They are constantly adding more and more trails and modules as well.

Screen Shot 2015-11-30 at 10.39.52 PM

Trailhead is accessible at trailhead.salesforce.com and gives you the opportunity to consume knowledge in bite size chunks.  The trails consist of modules and the modules are broken down into steps that average about 15-20 minutes in length to get through.  As you progress through the steps, you can earn points, and as you complete modules, you can earn badges!  You can also choose to complete the project route and get even more hands on experience focused on building certain applications.  Salesforce now even lets you show off the skills you’ve learned by posting your badges to your LinkedIn profile.  You have the option of posting each skill individually under your Certifications section or you can add it as part of your Education section as shown below to show that you’ve used it to learn.  Just search for “Trailhead by Salesforce” as your place of study.  You can also make your Trailhead profile publicly available to show off to your friends, co-workers, and even recruiters all the skills you’ve learned!

Screen Shot 2015-11-17 at 9.05.16 PM

The other cool thing about Trailhead is that it does more than just give you content to read.  Some module steps have questions to answer at the end to make sure you’ve understood what you’ve read but my favorite ones are the ones that actually allow you to create with your hands what you just learned in your own free Developer org.  Trailhead can then validate in real time that you’ve built what you were trying to create correctly and will help guide you if you’ve missed something.  This gives you quick, free, hands on experience using a variety of new features.

Next Steps

I usually like to describe learning Salesforce as an Olympic swimming event.  It’s not easy, but it is a lot of fun and if you do it really well, you can get a medal at the end!  Good news for us, unlike the Olympics though, there are an unlimited number of medals so don’t give up and take Dory’s advice to “just keep swimming”!  Trailhead is the initial push off in this Olympic swim.  It won’t get you all the way there, but it will give you one heck of a heads start and do a lot of the initial leg work for you.  Whether you want to just learn some new terminology, get some basic coding skills, get introduced to a new part of Salesforce, or just get a refresher, there is a great chance that Trailhead has something for you.

Dory

At this past Dreamforce, I presented on how you can use Trailhead to help get you on the road to becoming Salesforce Certified.  This is one of many steps you can take to help you advance your career, but to be honest I had a ton of fun just building things and earning badges.  Like the Trailhead theme suggests, you can always choose whichever direction you’d like to go (another difference from the Olympics where you’re not under a time limit and don’t have to stay in your lane).  I’d actually suggest checking out a few different paths to see what works for you since everyone has different learning styles.

SalesforceU

If you do choose to go down the certification path, I’d like to make sure you know all about Salesforce University, more commonly referred to as SalesforceU, a group at Salesforce whose main responsibility is to help teach people how to use the platform and get certifications that can help you along in your career.  As I mentioned in my previous post, there are a multitude of opportunities available here and several of them can be quite lucrative.  To help teach, SalesforceU offers courses both in person and online.  While I haven’t been fortunate enough to be able to take any of the in person courses due to the cost, I do hear great things and I would highly recommend the online versions.  While you can’t learn the same depth of 5 days worth of content in only a couple hours, I found them extremely helpful in understanding terminology and learning the ins and outs of the platform.  The courses are also directly relevant to getting certified on the platform as well.  If your company is a Premier Salesforce customer, you will have access to a larger portion of the online curriculum than if you’re a Standard customer, but there are many courses available to Standard partners as well.  While these courses can take a bit longer to go through, and can cost some money depending on your relationship with Salesforce, it is a great next step to look into along your Salesforce journey.  I actually took these courses before learning about Trailhead.  In hindsight, I would have preferred trying out Trailhead first rather than diving in head first, but hindsight is always 20/20 and I did really enjoy learning a ton about the platform through them.

SalesforceU

Summing It Up

I intentionally didn’t title this final section “Conclusion” because there really is no conclusion to your Salesforce journey, or whatever journey you choose to take for that matter.  For Salesforce though, Trailhead is always the first place I recommend people to start and then usually a combination of SalesforceU resources and getting involved in the vibrant community that I’ll discuss in a future post.  I’m available as well if you have any specific questions via Twitter, the Success Community, LinkedIn, and of course, this blog.  There are a ton of people much more knowledgeable and with much more experience than myself to help guide you as well!  I frequently rely on them when I have questions or wonder what my next step should be.  I wish you well along your own journey, whichever path you choose to go down, and hope to see you on the trail and you drive toward your gold medals!

Salesforce Career Paths

Fork in the Road

Now that you know a little about me and a little bit about how awesome Salesforce is, it’s time to discuss a different topic, why did I choose it as a career path (and why you should too!).  While Salesforce is a diverse platform and it is becoming increasingly more difficult to know everything about everything (even certified architects don’t know everything), it does help to have an end goal in mind with regards to where you’d like your career to take you.  Dreamforce, Salesforce’s annual conference, has a place for customers, partners, developers, administrators, salespeople, marketers, executives, and everything in between!  The key is to find your passion and go for it!

Fork in the Road

Chicken or the Egg

When looking for your first Salesforce job, if you’re anything like me and don’t have a ton of experience, you might find it a little intimidating when many positions are looking for at least 2-3 years.  If you do have a little experience, you may run into the issue of employers wanting to see some form of proof that you do in fact know what you’re talking about.  Fortunately, Salesforce has a pretty extensive certification program that is highly recognized across the industry!  Whether you’re new to Salesforce, or a Salesforce vet, it’s always the right time to build your resume and launch yourself further into your Salesforce career.  Certifications were a tremendous boon for me because even though I had limited hands-on experience, by getting trained and getting certified (and learning a ton along the way), I was able to prove that I understood Salesforce well enough to land a great job as a Software Engineer at a rising company in SolarCity.  Since updating my LinkedIn profile to reflect this, I now consistently get messages from recruiters several times a week about potential job offers.  For a taste of the potential that a Salesforce career can take you down, check out this incredible presentation from a self-taught Google engineer, and my personal inspiration David Liu, as well as some top leaders in the Salesforce industry who are on the lookout for talent.  David actually came from a marketing background and much to his own chagrin, used to be a professional email spammer which just goes to show you that no matter where you come from, anyone can learn Salesforce!  With endless opportunities to learn and get certified, there’s no reason why you can’t do both together!

Career Paths

In future posts, I’ll go into some tips I’ve picked up about how to study and achieve some of the certifications but for now I just want to lay out some of the options.  One of the key tenants of Salesforce certifications that isn’t always found among other technical certifications, are the requirements that you stay current.  Salesforce has 3 releases a year where they release usually 100-200 new features and offer maintenance exams to ensure that all of their professionals stay up to date.

Salesforce Administrator

One of the most common paths, and the first one that I would recommend going down, is that of the Salesforce Administrator.  I’ll go into a little bit more about some of what an Administrator does in future posts but for now, think of this person as a superhero who is able to manage the entire Salesforce instance for an organization without writing any code.  Truth be told, there is no one definition as every org is managed slightly different, which makes perfect sense when you think about how every company is managed differently.  Larger orgs sometimes even have an entire team of administrators to take care of their Salesforce instance but there is also a tremendous amount of support out there for the Solo Admins who are managing orgs on their own.  This path contains 2 certifications, the Certified Administrator, and Certified Advanced Administrator.  To get involved on social media with other admins, be sure to follow @salesforceadmns (there’s no ‘i’ in Admin) on Twitter and use the hashtag #AwesomeAdmin!

Awesome Admin

Salesforce Consultant

No matter what path you choose to go down, understanding the power and limitations of being a Salesforce administrator will greatly help you accomplish tasks much quicker on the platform.  Another common path a lot of people choose to go down is that of the Salesforce Consultant.  Generally, people choose to specialize in a particular product such as Sales Cloud, Service Cloud, or Marketing Cloud.  Consultants can span anywhere from independent consulting, to contracting with a specific organization, to working for a consulting firm such as Appirio or Bluewolf.  There are also community launched websites such as CRM Market that allow you to highlight your skills for anyone company looking for some help.  While there is no substitute for experience, your resume and career prospects can be greatly boosted by going after a specialized certification such as Certified Sales Cloud Consultant, Certified Service Cloud Consultant, or a Certified Email or Social Specialist on the Marketing Track.  All of these certifications are independent, although Sales Cloud and Service Cloud require the basic Administrator certification as a prerequisite.

Salesforce App Builder and Salesforce Developer

For those who do like getting a little bit more hands on and building things (such as myself) there is also a certification just for building on the platform, appropriately named Certified Platform App Builder!  Previously known as Force.com Developers, App Builders don’t actually need to know how to write any code, but rather develop using Salesforce’s easy to understand “point-and-click” approach, which is just as it sounds.  What many app builders, and admins for that matter, don’t often realize though, is that while they aren’t directly writing code, they are being exposed to it and indirectly writing it all the time!  As I’ll also discuss in future posts, many of the Salesforce non-coding tools, such as formulas, process builder, workflows, flows, and field API names that non-coders use on an every-day basis provides a great introduction into the world of coding.  

For that reason, the Platform App Builder certification is a great segue into the Platform Developer I and Platform Developer II certifications, which do require the ability to code on the Salesforce platform.  These certifications are a little harder to achieve but from what I’ve heard from recruiters, are definitely worth it (I’m actually going for them soon!).  I’ll highlight these in greater depth in later posts as well, but know for now that those options are out there.  To get involved with this community on Twitter, be sure to follow @SalesforceDevs.

Salesforce Technical Architect

Last but not least, my eventual goal, the coveted Certified Technical Architect certification, of which there are only currently 182 in the world.  This certification is currently undergoing a revamp so not exactly sure what it entails just yet…hopefully we’ll have some fun learning together!  Individuals who hold this certification are considered masters of the platform.  While they may not know EVERYTHING, they’re pretty darn close.  While these are just some guidelines, there are an infinite number of paths that your Salesforce career can take.  I would love to hear about whichever one you choose!

Benefits of Getting Certified

My favorite benefit of getting certified was honestly learning the Salesforce platform!  It’s a lot of fun to dig into and the amount of training material out there is extensive enough for just about anyone to start building their career and proving their worth today!  My next post will actually go in depth about how to do just that!  If you want a sneak peak, it involves trails 🙂

One of the other helpful benefits though, is the ability to make a living off of doing something that can be a lot of fun and is adding 300+ new features every year!  A blog post from Salesforce MVP Ben McCarthy earlier this year outlines some of these sample salaries that the market is currently offering.  A sample of 70+ people from the Denver user group put together by Salesforce MVP Brent Downey also showed that the market will pay very well for Salesforce certifications.  While just a small sample size, hopefully it gives you an idea of how lucrative (and amazingly fun of course) a Salesforce career can be! For the latest info on the certification program, be sure to follow @SalesforceU on Twitter. 

Salesforce Salaries

Conclusion (TLDR)

Salesforce offers an infinite number of paths that you can take on your way to a successful, fun, and lucrative career.  While many choose to go down the Admin, Consultant, Developer, or Architect route, the truth is that even those who identify with one of these, often identify with several (myself included).  It’s also not uncommon to wear many hats and do several of these at the same time!  This year alone, I’ve generally considered myself a developer, while also wearing the hat of an administrator, and doing some consulting work on the side.  This post was a little on the long side and there was a lot of information but hopefully you’re wondering where and how to get started!  I’ll promise you that you can start today and it’s completely free and I’ll go into greater detail on exactly how next time…

What is Salesforce?

SFDC_logo

Background

This is a question I get quite a bit from my family and friends alike when I tell them I’m a Salesforce Software Engineer.  While it would probably be shorter to write a post about what Salesforce ISN’T, I’m going to do my best to summarize anyway.  If you have a little bit of a technical background, one of the best articles I’ve seen that defines Salesforce is one from Admin Hero about how Salesforce is a relational database.  Either way though, I’m going to do my best to summarize as well as I can about how I explain Salesforce to people.  If you don’t have a ton of time, you can skip to the TLDR section, and/or check out the links at the bottom on Trailhead.

Cloud CRM Platform

Usually the first thing I tell people is that Salesforce is a Cloud CRM Platform*.  That description itself generally leads to more questions so I’ve stopped even waiting for the ask and just continue explaining. While a lot of people out there are still afraid of, confused by, or just hesitant to adopt cloud computing, it really isn’t that scary. Basically you just throw all of your data up into the air and it lands in the clouds! Simple right 😀  A little bit more seriously though, all cloud computing really is, is regular computing, that you don’t have to worry about taking care of because you’ve already hired a professional to do it for you.  You don’t have to care where it sits, don’t always have to manage the security, and can for the most part manage as much or as little of it as you want to.  As I stated in my first post, I’m all for efficiency (my way of explaining my laziness) so I’d like to have to worry about as little maintenance as possible.  With cloud computing, I don’t have to go find physical storage drives, or a room to house my servers, or open up the back of a server to add additional CPUs.  I just tell a computer somewhere “up in the clouds” what I want and the cloud computing fairy magically makes it happen (the fairy isn’t free unfortunately though but I was going to have to pay for everything anyway).

cloud-storage-and-computing

What is CRM?

Once you’ve wrapped your head around the idea that Cloud computing is really just a more convenient way to perform ordinary computing, I like to describe the concept of CRM, or Customer Relationship Management.  In case you ever doubt Salesforce’s roots, look no further than their stock ticker symbol; NYSE: CRM.  In a nutshell, CRM, as the name states, is the act of managing your customer relationships.  Generally you’d keep track of different customer accounts, each of which will have its own unique contacts.  Depending on your business model, your customers may be individuals, companies, or both!  This is pretty much a universal truth for any entity looking to sell a good or a service.  These customers would generally start out by showing some sort of interest in your product, whatever that may be.  You’ll also probably be interested in finding more customers to consume your product and undergo a process known as lead generation.  As your unique sales cycle progresses, these possible sales, or leads, will generally turn into more sales, or opportunities for you to grow your business.  The farther along a customer goes down the sales cycle, the more likely it is that your opportunity will successfully close.  Managing all of your customer accounts, contacts, leads, and opportunities, can be tiresome, which is where Salesforce comes in to give you a product that can do precisely that.

Why a Platform?

This product comes in the form of a platform.  The reason I use the term platform rather than software is because you don’t have to install anything.  It’s also not really just a solution because it does more than just solve your CRM problem.  Maybe you also want to have an option to manage your company’s service requests, or handle all of your marketing that I mentioned in my previous post, or perhaps you’re really trying to grow your business and you want to develop a community around your organization. Furthermore, at some point your organization will probably begin to rely on some sort of reporting or analytics to help you close more deals.  You most likely also have your own terminology and processes specific to just your organization that you would like to be able to use while running your business. Salesforce is the PLATFORM that lets you do ALL of those things and more.  Oh and by the way, it also does CRM, gives you a ton of automation capabilities, and it does it all in the cloud so you can access it from any device including a computer, tablet, phone, watch, or any other product you want across the wide Internet of Things.  

Salesforce in the Industry

Forbes has recognized them as one of the world’s most innovative companies several years in a row for many of the above reasons.  In 2015, Salesforce finally cracked the Fortune 500 and Gartner shows that they are truly the leader in CRM over competitors Oracle, SAP, and Microsoft.

What Salesforce Is Not

While Salesforce is great at many things, there are some things that Salesforce is not great at.  I read a great article from one of the emerging leaders in the Salesforce industry, Ryan Lorenzen, that mentioned a great piece of advice; “Be an evangelist, but don’t drink the Kool-Aid”.  Part of being a great architect, or even a great admin or developer for that matter, is understanding where the capabilities of Salesforce begin and end, both from the declarative side, and the coding side.  Even if you don’t understand both sides well, knowing when to use which type of solution, is tremendously valuable on its own.

  1. Salesforce is NOT an ERP (enterprise resource planning) solution
    • While some apps exist that can help track some of this data on the Salesforce platform, this is not their core competency
  2. Salesforce is NOT a mass email system
    • Again while there are apps that can increase the standard Salesforce limits for email, it should not be relied upon as a system that can send unlimited email
  3. Salesforce is NOT perfect
    • Technology is only as good as the technologists who use it.  By having an understanding of how to best utilize the platform as an admin, developer, or architect, you can help solve common problems such as messy data or too much required information for business people to do their jobs

Beyond Technology

While Salesforce is recognized as a technology company, what they truly represent goes way beyond technology.  Like Steve Jobs recognized (and I myself subscribe to), your technology can be great but you need to have something more to it.  You really need to also pay key attention to your customer experience.  Salesforce has lately begun marketing itself as the Customer Success Platform, rather than a CRM tool.  When you ask them what they do, they say that they “help make your customers love you”.  

On top of being an option for just about any for-profit company with any sort of decent business model, Salesforce also has created a specialized solution (and gives discounts to) the non-profit organizations of the world.  Furthermore, they ensure to give back to their communities that they serve with their innovative 1-1-1 model, which gives back 1% of time, 1% product, and 1% equity to those in need. Their founder, Chairman, and CEO Marc Benioff is also well known for publicly standing up for the rights of LGBT community as well as making a pledge for gender equality.  I truly think it’s a disservice to try to explain Salesforce to someone without mentioning these key differentiators as well.

1-1-1 Results

Conclusion (TLDR)

Salesforce is a highly diverse, cloud based, customer relationship management platform, that allows just about any organization to automate how they sell their goods and services while forming close bonds with their customers.  Their innovative technology company also does a tremendous amount to give back and fight for equal rights for all.  The sense of community that surrounds Salesforce is what truly makes it special and it is why I have begun to dedicate my career towards working with it.  There is so much more about what Salesforce is and can do though than I can fit into just one post.  In my next post, I’ll begin to outline how you can start your own journey as you look to take advantage of Salesforce and grow your own career.  In future posts I’ll discuss some of the terminology and the best places to get started…

“We help make your customers love you.” – Salesforce.com

*The platform is traditionally referred to as the Force.com Platform or the Salesforce1 Platform.  Salesforce.com is generally used in reference to the standard CRM software provided.  More information can be found from SalesforceBen here.

More info on what Salesforce is, aimed at end users.

More info on what Salesforce is, aimed at administrators and also more info here

More info on Salesforce behinds the scenes, how it works, and what makes them so successful beyond the technology.