How I became an Admineloper

There is a point in the career of an advanced Salesforce admin where you ask yourself, “what next?” Some become managers, some move toward an analyst or an architect role, some become independent consultants, and some decide that they are tired of only knowing “clicks not code,” and try to learn Apex development.

For me, Apex was a logical next step. I definitely have a personality best suited to a developer role. I don’t like meetings – I would rather do the work than talk about the work. I’m not interested in self-employment, having done that once before. And management means more time managing people and less time managing my Salesforce org, so… nope!

But learning Apex was not as simple as I thought it might be. For someone with zero previous programming experience, it’s like learning a foreign language that doesn’t even use the alphabet. I attended Dreamforce sessions on Apex for admins. I even attended a week-long Salesforce class, but – although the class was pretty thorough and had good content – it still didn’t cover every single facet of coding for a true non-programmer. I’m talking about the little things, the super-newbie concepts – parentheses vs. curly brackets, what the semicolons do, etc. – that you need to know to write your own code from scratch. No matter how many sessions I attended, I could still only read Apex, and I wanted to write it!

But then I found out about the Radical Apex Developers (RAD) Women program. It’s completely volunteer-led, free of charge, and designed to help women who are advanced Salesforce admins learn Apex. This program requires a significant time commitment – you can read all the details here – and when I say significant, I mean it. I spent many hours between classes doing homework and reading. It’s challenging for a non-programmer, but by the end of this course, I was able to write an Apex trigger and class, all by myself!

I now consider myself more than an Advanced Admin – I’m an “Admineloper” and well on my way to calling myself a Junior Developer. Since I had honestly doubted that this could happen, I spent some time thinking about what made the RAD Women program work for me, where other methods of learning Apex had failed. This may or may not be true of all students of Apex – but here are the ways that I found RAD Women different, and why I believe it was successful for me:

  • Details! Everything used in Apex code is explained in great detail – parentheses, curly brackets, semicolons, formatting… everything.
  • Demos! Every session had demo time, where the coaches stepped through real Apex code examples and showed us how they were editing the code to achieve various goals.
  • Resources! Every session is recorded. Every week, there are pre-reading and/or Trailhead assignments – between sessions, I never stopped learning. And after the course was over, I could go back and review what we had done. This blog in particular is my favorite resource, because Kieren compares coding to cooking, making it completely relatable.
  • Personal attention! The class groups are small enough that there is plenty of time for individual questions during sessions. I felt like I could ask anything, even the most basic questions, without feeling intimidated or like I had a “stupid question.” In addition, my class coaches responded quickly to emails that I sent with questions or issues on my homework.

And what would this program be without its coaches? I interviewed Melissa Prcic, who was a RAD Women coach and is currently the Curriculum Lead, to find out if her experience as a coach was as exciting as mine as a student. I was not disappointed!

CK: Why did you decide to get involved with the RAD Women program?

MP: When I heard about the program I was immediately interested.  I came into coding via a nontraditional route and it sounded like the kind of thing that I wish had been available when I was first learning.  I loved the idea of leveraging knowledge about the platform as a natural entryway into building automation in code, and having experienced coaches there to guide you seemed perfect.

CK: Did you have any expectations the first time you coached a RAD Women class?

MP: I didn’t really know what to expect. I was delighted, and a bit surprised, to find that I really enjoyed talking through the concepts and demonstrating those concepts in demo code. I loved working with my co-coach, and hearing her explain concepts in a way I hadn’t considered before. Most of all I was blown away to see learners with little or no coding experience at the start, finish the class with a solid base of coding basics.

CK: What was your favorite thing about coaching?

MP: It’s always incredible to see how far some learners get in 10-weeks, and it’s inspiring how hard they’re willing to work to get there. I really believe that you get out what you put in – and I have seen learners go from thinking about quitting in week 2, to worrying about whether the pattern in their trigger handler is sub-optimal in week 10. Never underestimate determination!

CK: How has coaching others helped you with your own professional or personal development?

MP: There is nothing like teaching something to make you really, really learn it.  I developed a deeper and more complete set of knowledge, often because of something my co-coach brought up, or because I had to find a new way to explain something I thought I knew for a learner. I have also made many connections with the incredible network of coaches, learners and supporters of RAD. I feel like my professional network is much stronger because of RAD and I’m so grateful to be a part of it.

CK: How have your RAD Women students surprised you?

MP: Honestly, I’m surprised at how much they underestimate both their ability, and how challenging learning to code can be. There’s such a mystique around coding and programmers these days, and I think some people get the impression that it’s either something you are magically good at or you’ve been doing since you were 12, and if neither of those apply to you it’s just impossible to learn. Both are wrong. It’s a skill that can be learned, and if you’re an advanced administrator in Salesforce, there’s a good chance that you have the baseline smarts and knowledge to be a really good Apex coder. However… it’s still a really challenging thing to learn! I see learners get super frustrated that they have to keep checking examples and sample code for syntax when they’re a few weeks into the program. I have to keep telling them that it’s normal. You will keep checking syntax for a long time. Not being immediately amazingly good at something is not an indication that you won’t ever be good at it. It. Takes. Time. (And practice, lots and lots of practice!)

CK: Did you have a mentor who contributed to your career as a developer?

MP: I had two wonderful mentors when I first started learning to code, once was our CTO and the other was a lead developer. They both encouraged me to start down this path and it was their confidence that I could do this thing, that really encouraged me to go for it. I view participating in RAD as a way to pay it forward. If it wasn’t for their encouragement and support, I don’t think I’d be doing what I’m doing now.

CK: What advice would you give someone who really wants to learn Apex, but feels intimidated or doesn’t know where to start?

MP: Start small and find a buddy/mentor/coach. One of the tenants of programming is breaking a problem down into its smallest solvable parts. This is also a great approach when you’re learning because you can pick a manageable task (fix a query) and get the wins that will keep you going. You also need someone to encourage you along the way and answer questions. Luckily, this is an incredibly supportive community! Get on Twitter, get on the Success Community, and don’t be afraid to ask.

If you are interested in becoming a RAD Women student, join this Success Community group and watch for announcements about upcoming courses. Note: the time commitment is significant! If you plan on signing up for a course – they are 10 weeks long – the more spare time you set aside, the more you can immerse yourself in learning, and the more you will get out of it!

And finally, I’d like to give big thanks and shout-outs to: Angela Mahoney and Kieren Jameson for starting the RAD Women program (and talking me into it!), Adam Olshansky and Nadim Diaz for being awesome coaches and answering a million emails from me, Trinetra Rawls for being my project partner and geeking out with me as we figured things out, and Melissa Prcic for sharing your experiences as a RAD Women contributor.

* Image courtesy of Kieren Jameson and Women Code Heroes

Reporting on “Created by lead convert”

No, this is not another story about how it is “better to do something the hard way” – puhleeze, we all know that’s a myth. Ever do something the hard way unnecessarily, then discover afterward that there was a much easier way? Of course you have. We all have. This is one of those stories.

“How many of our accounts were created by converting a lead?” This sounded like a simple, straightforward request. So, feeling pretty darn smart because I knew how to get converted lead info – including the account IDs – off to Workbench I went.

Now, I’m not knocking Workbench – it’s one of my favorite admin resources! In a Workbench SOQL query, I can export converted lead IDs, plus the IDs of accounts, contacts, and opportunities that were created upon lead conversion. (And for more Workbench tricks, check out this blog post!)

My Workbench query yielded some great information. But it also required some Excel trickery, because although it provided the ever-useful ConvertedAccountId, some of those IDs appeared multiple times in the list – it will not differentiate between a lead converted to a new account vs. a lead converted into an existing account. So I had to go through and remove all duplicate ConvertedAccountId values.

In addition, all I could send to the person who requested this information was a number. I could also have attached the spreadsheet, but what if they wanted this information again in the future? I’d have to go through the same manual process again.

And then, guess what I found… an easy way to get that same info. And when I say “easy” I really mean “so easy that it blew my mind.” Here’s how:

  • Create a new report using the Account History report type.
  • Add the report filter Field / Event equals Created by lead convert.
  • Set a date range if you want a specific time period, or leave the dates blank to show the total number of accounts that were created by converting a lead.

Now I have a report that anyone can run in real time to get that total. How cool is that? Honestly, I’m a little embarrassed that I had no clue that an account history report contained that handy little trick. But better late than never – this is going to be extremely useful!

A couple of bonus things that I learned while playing with these reports:

  • You can also use this trick in a Contact History report or an Opportunity Field History report.
  • You can use two filters, if you want to compare records created via lead convert vs. records created manually – just use the filter Field / Event equals Created by lead convert, Created., and turn your report into a summary report grouped by Field / Event. (Make sure to add a period after “Created” or it will not return those records.)

And I just wouldn’t be myself if I didn’t give you some disclaimers:

  • If field history tracking is not enabled for the object in question, you cannot run a history report.
  • The data returned in your report will only go back to when your org began tracking – so if field history tracking has not been utilized since your org was first set up, you may be missing some records (depending on how far you want to go back).