Coming to Grips with False Value

This may come as a shock to you, but I wasn’t always this shining example of cool you see before you today. No no no, quite the contrary. It was my utter lack of cool (perceived or otherwise) that has led me to this post today, but put a pin in that for a moment.

When I came to the Salesforce world, I was admittedly in a very dark place in my life. It’s not proper of me to go into detail here but suffice it to say, I felt like I had little value to the world, and yes even to those around me. It was hard to get up and go to work every morning, and once there is was hard to do and be motivated about said work. I muddled through because I had a family that depended on me and that is quite likely the only reason I didn’t do something drastic.

You see…I grew up in a rather small town and suffice it so say I was NOT one of the popular kids. As a matter of fact from a very early age, I was a target. My parents divorced when I was young so I was attached to my mother’s hip, shy and not exposed to much of the things that boys were “supposed” to get exposed to. My family was also very religious which wasn’t exactly a popular thing to be in school either. On the list of uncool things to be in school, I had many checkboxes filled in and most of classmates simply would NOT let me forget it; save for a small core of close friendships, I really had nobody.

I was also the small kid…easy to throw around by anyone who sought to establish their dominance in front of opponents. I wasn’t shoved into lockers and nobody ever drew blood thankfully, but the few times I stood up for myself, resulted more in laughter than deterrence. When you have constant experiences like this day after day, it really causes one to question their self worth.

Fast forward to my professional life. I was relocated early on in my career to the Chicago area and while I did manage to meet my wife and grow my friendship circle a little, I still carried with me the imposter syndrome, not of my work personality, but “who I really was” — I didn’t want anyone to really find out my background. That any persona I put forth was really just a mask that covered up my past as a “loser.”

Eventually I went on to do all the things: get married, have kids, etc. and during a particular rough period in my life I hit rock bottom — well rock bottom for me, hindsight being 20/20 I was still a very fortunate person with much to be thankful for, but when you’re in *that* place, you don’t see it.

Then as I started to pull myself out of some of these dark places, I took a chance and changed my career trajectory forever when I accepted a position at a colleagues consulting firm. It was just a tiny firm, three of us but it was going to introduce me to a community that I credit to this day with saving my life (I told you — a dark place).

In 2014 I wrote a silly Salesforce song called “That’s Why Admin’s Drink” and it kinda went a little crazy in the community. Suddenly I found myself going to events and posing for selfies, people were excited to meet me, to hang out, etc. For once it seemed that I’d found my home. This led to cofounding Apex & the Limits (a parody band that produced derivative works for popular songs and adding Salesforce related lyrics) and for a brief time, we were well known in the Salesforce community; opening up for Benioff at the first TrailheadDX, performing in the Dreampark at Dreamforce, etc.

I suddenly saw myself as having in some way, shape, or form…value. Not just value to a small group of folks, but (it feels gross to even say it) I had fans in a way. I went from no friends, to having actual fans (I actually signed an autograph at one point…). I think this is where things went a bit off the rails for me.

I have fallen into the social media trap: “oh look, I have 4,000 followers” (well I did at one point) and while that is not even a fart-in-the-wind — for someone like me, it was a ton. It became something that I could point to and think to myself, “lookie here assholes [from my past], I *am* somebody!” (maybe a little somebody, but those folks that pushed me around in my high-school days don’t exactly have people asking them for selfies and recognizing them). To me – that was a bit of vengeance.

I’m not sure what that really *makes* me? A narcissist? Probably. Shallow? I feel like that’s a yes. Someone with an over-inflated ego? Yep, check that too I suppose. (I also know I’m my own worst critic, but again a history of feeling of little value to anyone makes it very hard for me to even remote *think* of myself in this manner). Be that as it may, its who I am, and who I have become.

So why am I sharing any of this?

I’ve found myself glued to social media and while I was able to escape the Facebook trap nearly 10 years ago, the Twitter one is one I’ve always held dear (I joined *very* early on). MUCH has happened to me while on that platform and to be quite honest, it has inflated (falsely so I believe) my feeling of self worth but I won’t lie, it felt good to feel that. In light of recent events, I would like to leave Twitter behind me (I still refuse to call it “X”). Its very hard for me to let go and I will be doing so in stages.

I must be cautious because while you can find me on BlueSky (lifewithryan.bsky.social), and Mastodon (@lifewithryan@toot.community) I can already feel myself falling into the same tendencies I had and have tied to Twitter. Nonetheless, I feel the time has come for me to pull back from Twitter as it has become such a divisive collection of hate, conspiracy theories, and misinformation. For now, I’ll simply just stop interacting. I’m sure I’ll occasionally check in to ensure that those who have not yet made a move to another platform aren’t trying to reach out, and ultimately will one day come to terms with simply closing it and having my data deleted, etc. I’m just not there yet in my personal journey.

I tell you all of that partly because it is cathartic for me to finally admit that I loved the attention, and to come to grips with realizing that the number next to my handle means nothing, (that’s not to say I’m not thankful for each an every engagement and follower, etc.) but mainly because I’m learning social media is actually dangerous — at least for me, and now I believe, for our country. A move to Bluesky and/or Mastodon is a chance for me to reset my beliefs and expectations and begin to re-engage with a community that has meant so much to me since I stumbled into it 11+ years ago.

I’ll see you all (hopefully) in one way or an other, somewhere.

:wq!

The Rollercoaster of Change

I’m a creature of habit and change for me doesn’t come easy. When making career decisions, I do tend to extrapolate things out and try to weigh out all the advantages and disadvantages of the various scenarios.

For instance, I’ve not been part of “Corporate America” for 18 years. (Well there was a 9-month gig at an IT Union shop where I was LIFO’d — last in first out — during a layoff, but I don’t count that). I’d spent the first 5 years of my career at a fortune 500 company and during that time, we were re-org’d 4 times. Seeing people rush around, re-interviewing for their jobs was very alarming. (This is about right).

When I picked up and moved to Madison, I joined a local consulting firm that while national, still ran rather independently, and from there I wound up at a small Java shop of about 26 or so people. (We grew and shrunk, but I was there for 10 years). I was largely on an island, were it not for the fact that I was in an office with peers, I might have felt that I was just self employed. I got very comfortable on this island.

After my last company closed its doors I went back to that shop in an attempt to build them a Salesforce practice. This time I was the ONLY Salesforce person so it felt even more like I was my own boss (and for all intents and purposes I was) which was why when I had the opportunity to apply for a position as Salesforce.org, my emotions were all over the board.

I strapped myself firmly into the seat of this emotional rollercoaster as soon as I clicked submit on the application and a whirlwind of emotions ensued.

That first hill gets ya! You have all sorts of unknowns flying in and out. You don’t know if you’re going to enjoy what’s ahead, you’re very excited to find out, but also very intimidated, “should I even be on this ride?”, “are you qualified to meet the minimum requirements?”, “am I gonna throw up?”

My first interview was only 15 minutes…“was that too short?”, “If we were off the phone that quick am I dismissed already?”, “Was that too long?”, “Did I say too much?”, “What if I move on and people think I don’t know what I’m doing?”, “If I don’t move on, do I know what I am doing?”, “I think that went well…oh crap it went well and now I have to do it again!”

The second interview has the same feelings. “Even if I make it out of here alive, can I go through it again?”, “What if I do really well, whats next?” The third interview, more of the same.

Having not been part of a “real interview” in 18 years, I’d never been fully “teched” before. This caused all sorts of distress. “How am I actually being graded here?”, “Can I ask too many questions?” Never have I ever second guessed my code so much. Double checking everything, sucking out every last bit of code coverage I can get, (which I normally do anyway, but this time, it felt different, like I was unit testing for my life!), fully documenting everything that I’ve done complete with tables and nice looking fonts (everyone likes comic-sans right?? #Kidding). Getting through that was like the first time you rode a rollercoaster that went upside, or that dropped you straight down from 20 stories up…stomach up in your throat, but getting through it is like that rush of adrenalin…“Look what I just did!! I DID that!! ME!”

Then reality hits ya hard. I was not prepared at all for what came next. After passing the previous level (this really was almost game-like, leveling up each time), the more relaxed but deep conversations followed. My imposter syndrome never let me think that I was going to get to this level. I was always the kid that had to use cheat-codes and the “Game Genie” to advance to higher levels (…man I’m old). However, its also at this point that you realize, perhaps you may be too hard on yourself. Someone sees something in you and even if you don’t see it yet, something is there, you only hope you can find it yourself (this is a daily struggle for me actually).

After meeting with more of the teams you realize that soon, if things go your way, you may have to make a decision. In some cases this decision may be easy, in other cases, it may be very hard. For me, making this decision meant a number of things:

Giving up my MVP status — maybe I’m not supposed to talk about it in this way, but I LOVE being an MVP. I feel such a closeness with many of my fellow MVPs. They truly are like my extended family. I also like being out in the community and meeting new people, doing the whole selfie thing…while I’ve said it over and over again, “I’m not a people person” the community sure brings it out in me, and I love it.

Apex & the Limits“Would I have to step down from Apex & the Limits?”, “Could I bring myself to step down if that was a requirement?” I love music, and I love this community, the band helps me tie those two things together. (Thankfully, I’m very happy to say, I’m still “with the band”).

System dot Debug — for those that don’t know, I’m also co-host of the Salesforce developer’s podcast known as “System Dot Debug” and I really enjoy that as well as I feel we do something nobody else is doing in the dev podcast space as our shows are recorded live on System dot Debug Youtube Channel. I enjoy my time with Bryan and Raymond and I want to be a part of this as we grow. Great news! I don’t have to give this up either…

Can I go back to having a “traditional boss?” at a large company — For all intents and purposes, I’ve largely been flying solo for quite some time. “Will I be able to adjust?” (I know I will adjust and the team is friggin’ awesome so this is no longer a worry, but it was during the decision making process).

In the end, you do whats best for you, your family and your career. At the end of this rollercoaster, you unbuckle and you step off onto the platform and its a different world. Your sad the ride is over, but you’re so looking forward to going to the next ride, the bigger, faster, longer ride. You’re nervous all over again about that first hill but once you are strapped in, you’re very excited for what comes next.

I didn’t think I could be more nervous, and excited, and scared, and happy, and sick all at the same time, but I certainly am. So I hope that you will virtually join me on this ride because I’m not going anywhere. I’m still the @lifewithryan you know, I’m still going to be community present, I’m just going to be part of team doing good things again, and that feels very good.

Please fasten your safety harnesses and keep your hands and feet in the car at all times. Raising your hands and screaming however is vastly encouraged, (I will be), enjoy the ride.

:wq!

Yes the Community is THAT Important!

Since I started back with my old company as the Salesforce Practice lead, several firms have contacted me trying to place resources, or I’ve been asked to help “tech” someone applying for jobs at various clients around town.

I recently got passed a resume of someone claiming they’ve had 5 years of experience and carry 5 separate certifications. This person is apparently somewhat local to the area and yet I find no record of this person in any — zero in fact — of the various Salesforce related communities online. Not success, not the stack exchange, not even on twitter or even a blog. In addition, if they’re as local as I’m led to believe, I’ve not seen them at a single user group and not at my dev group either.

While I have no doubt that the person is probably quite capable, I find this extremely alarming. To me it shows zero passion for the platform, zero advocacy. Maybe I’m not being fair, maybe there are extenuating circumstances that I don’t know about, maybe they don’t know these things exist (after five years experience, I find that really hard to swallow).

If I’m given the choice between this person with 5 years experience, and 5 certs but completely unplugged from the community, or someone who maybe has only some of the experience and certs but is regularly attending User Groups, has a success community profile, or stack exchange, and is engaged at all with the community — I’m going to pick the latter.

To me, yes the community is THAT important! Its where the support is at, it’s where you learn the new tidbits and connect with others like yourself and more advanced than yourself, its how you grow. Surrounding yourself with the members of the community I feel is one of the most important things you can do in your Salesforce career and activity within the community is NOT to be overlooked.

If you’re reading this, and wanting to build a career on the platform but you haven’t participated in these channels, it would behoove you to start right away:

Login to the Trailblazer community and create a profile
Visit/browse the Salesforce Stack Exchange Community
Attend a local user (or dev) group, and if you don’t have one, start one! (You can find them listed in the Trailblazer community I linked to above).
Do this, do this now — don’t even finish reading this rant of sorts…

Yes, its THAT important!

:wq!

It’s Still the Community

As I sit here and enter my lengthy expense report, (and pray to the corporate gods that it all gets approved), my mind begins to reflect on this past week. For those of you that may have been under a rock, Dreamforce 2017 was held just last week in San Francisco.

Dreamforce, for me, has somewhat of an interesting history. Every year has been a slightly different experience. Starting from my first “deer-in-the-headlights” experience in 2013, to opening the Admin Keynote with “Apex & the Limits” just last week.

Dreamforce is an overwhelming experience. Normally huge product announcements and marketing hype rule the day, and whilst this year wasn’t that much different, I felt that it was a step back from all of that. Marc‘s keynote did not go over, and while there were some “skit-like” demos in the presentation, I didn’t feel it was too over the top. Yea the marketing was there, but for me, I didn’t feel it “in my face” like I have in the past. This allowed me to just ponder the platform and the ecosystem more calmly, and I really liked it.

I tried to have this be the Dreamforce “for me” where I didn’t say yes to everything like I did last year. Somehow, it managed to be probably my busiest one yet. While I attended mostly keynotes, I was networking, running around from place to place and really soaking it all in. I truly enjoyed this experience 100%.

However, I think know what did it for me once again, was the interaction with the community. On Sunday night I attended the WIT Event. I hadn’t eaten anything substantial all day since 4am CST that morning and didn’t get a chance to eat until 9PM PST and on the inside I was really cranky, but it wasn’t a matter of just a few minutes at the event when I ran into Peter Coffee who stopped what he was doing and shook my hand. The voice of Salesforce took a brief second from the numerous selfies to reach out to me. That’s all the interaction I was able to get with him this year, but it made me remember that there are people in this company like Peter, that take the time to know their customers. I’m not 100% sure he knows my name, but he recognized me, and knows what I do and there’s something really special about that.

Shortly thereafter whilst trying to find my Wisconsin WIT crew, I met newly minted MVP Corey Snow and fellow member of the Salesforce Ohana Slack group. It was a privilege to meet him and nab a quick selfie and I could feel the community interaction lifting my spirits. (I’m a very dependent person I’m finding out…but I digress). After finding my table and collapsing in my chair the event began. That’s also when my phone started to buzz (I was paying attention I promise and the women on the panel were so good!). Glancing at my phone another member of my #ohana, albeit virtually to this point, began sending me messages via Twitter. She had spotted me in the crowd and wanted to be sure we meet up before we all went our separate ways for the night. Having never seen her in person, and only knowing her from her Twitter picture, I began to glance around to see if we could make eye contact for a quick wave of acknowledgement. Embarrassingly, I made eye contact with someone entirely different that looked similar enough (from a distance and in the dark through my exhausted eyes). We shared a nod and a smile and during the first break, this person made their way over to me. However, it was not the person who had been messaging me (Lauren Touyet) but someone whose name escapes me (I’m so, so, so sorry but I am horrible with names). This person asked me if I was the guy that “wrote all those songs”. She was referring to the “Stop Doing Sh*t in Production” tune that I wrote a few years back. I said that was indeed me, and we shared my second selfie of Dreamforce. (If you’re out there anywhere, please tweet it, etc — I’d like a copy). I’d met someone completely new to me and someone that I’d recognize if I see them again (just remind me of your name). The community was welcoming me back to Dreamforce once again and I was beginning to settle into my home away from home. I did finally get to meet Lauren in person after the event but we didn’t get to chat much as I believe people were tired and looking forward to resting up before the opening of the conference.

Monday led me to an encounter that proves that this community cares about each other. I won’t go into details, but I like to believe I’m a service oriented person and being able to provide someone with the help they needed on more than one occasion that night warmed my heart. The #ohana spirit, whilst seems over the top to some, is something that I’ve truly taken to heart. (So much so that there may be a tattoo in the works — but someone dropped the ball there…long story…and once again I digress — oh look a squirrel!).

My week continued in this manner as I met more and more of the folks in the community that I really only know from our online interactions. Hugs were everywhere, smiles, and some tears, but the overwhelming feeling of finding my place in this world (I know for some of you that’s over the top and weird…but its my happy place) is what makes me long to come back year after year after year.

While I may stay out late while at Dreamforce its not to “party” — sure I enjoy the classic adult beverage but I’m not one who enjoys stumbling home. I’m 43 years old, I can’t survive such things. I stay out late at night to spend as much time as possible with these amazing members of the community. From karaoke night with PepUpTech, to a brief conversation with Parker Harris at the Admin Keynote (merely to thank him for having us open the thing), to a quiet-ish dinner with SteveMo on my last night in town, I try to maximize my time with these folks. I’ve always been told to surround yourself with good people. I spent my entire week around good people like my friends in Apex & the Limits (I can’t believe the experiences we’ve had on this crazy ride together), Trina, Bill, Adam, Jen, Kelly, Meighan, Steve — the list just goes on forever and I couldn’t possibly name them all.

Dreamforce 17 may have been a different experience for me, but one thing has remained constant throughout: The community is the heart and soul of Dreamforce, and of the Salesforce.com ecosystem (as far as I’m concerned). For me, its the community, and always will be. Hope to see you all (and more of you) next year!

:wq!

My Pedantic Antics

Years ago, I heard someone tell a story about a boy who never said anything. Parents knew he could talk, but he just didn’t. Nodding yes or no, shrugging, but not talking. One day, at the age of seven his family was sitting around the dinner table and suddenly blurted out: “These beans are LOUSY!”

His parents, completely shocked were taken aback, their boy had finally spoken. The couldn’t stop themselves from shedding their tears of joy and celebration. When things calmed down they asked him, “How come you’ve never said anything all these years?” and the boy responded: “I dunno, I guess everything has been fine until now.”

I say all that so I can simply tell you that I don’t always have something to say — which is why this blog has been so inactive for so long. I always swore up and down that if I really didn’t feel I had anything valuable to add, that I simply wasn’t going to add to the noise.

However, I recently posted a tweet that got some discussion. Now, this was mostly in fun. I love to talk about stuff like this. Coding preferences, pet peeves, etc (which is obvious from a series of our episodes[Pet Peeves Episode 1,Pet Peeves Episode 2,Pet Peeves Episode 3] of @SystemDotDebug). However I had a few responses remarking on how “pedantic” it was. Now I didn’t really take this personally, but I did start to think about whether or not such things are *really* important. I started thinking about it so much that it’s even going to be the subject of our next live podcast (at least its supposed to be, these things often change — and quickly).

I’ve never worked for a company that actually had published coding standards. Perhaps that is because I’ve pretty much only ever been responsible for my code. Working for small firms as I have my entire career, I haven’t had to “share” my code with many developers. Those that I have had to, just so happened to believe as I do, so I think I was just lucky.

At the end of the day, if the code works, it works right? There are questions however that perhaps you should ask yourself (yourself either being you personally or your company as a whole):

  • Is the code easily readable? (Code Like a Poet — thanks Bonny!)
  • Can junior programmer catch on to what the code is doing easily?
  • Does the code have a consistent look and feel to it or is each file/class clearly written on different days by different devs?

The people in the Python community have been doing this way longer than most of us, and there is a REASON they wrote something called PEP-8 and it wasn’t to be pedantic. I’m going to quote something from that resource that I’ve always felt: “…code is read much more often than it is written” — I’m just gonna let that sink in for a second…I’ll wait…..and follow it up with another quote from that same paragraph that references PEP 20: “Readability Counts.”

PEP-8 also introduces the idea of knowing when to “break” the guidelines. (Like Captain Barbossa says “the code is more what you’d call ‘guidelines’ than actual rules.”) so its okay to break them when they make sense. Say perhaps editing tons of old code, you have two choices. Clean up the code while your in there, (that’s my preference, if you’re already in there, do it) or adopt the style used in that class. Sometimes its so off from what everyone is doing that you *have* to update it, (or maybe that’s just me being pedantic).

Again, I’m going to site PEP-8 and list out their thoughts on when to break the guidelines verbatim:

1. When applying the guideline would make the code less readable, even for someone who is used to reading code that follows this PEP.

2. To be consistent with surrounding code that also breaks it (maybe for historic reasons) -- although this is also an opportunity to clean up someone else's mess (in true XP style).

3. Because the code in question predates the introduction of the guideline and there is no other reason to be modifying that code.

4. When the code needs to remain compatible with older versions of Python that don't support the feature recommended by the style guide.

Notice how I’m conveniently NOT telling you WHICH standard to follow (if there are multiple standards, is it really a standard?!?) — I’m just telling you that you should strive to pick ONE and follow it throughout your team. We could talk/argue at length over which method of curly braces placement you should use, or the value of ternary if statement usage (I really do hate them…I do, I do, I do), but that is all down to preference. Overall its about being consistent.

So is your cuddling or non-cuddling of your “else” statements important? No, as long as everyone is doing it the same way — at least across a given project. So then I guess, Yes? Which is it? Yes or No? Maybe I’m just being pedantic…

:wq!

Transitioning to #Lightning from Visualforce

You’ve heard me say it before: I was jaded. I was looking back at 20+ years in I.T most of that as a developer in various languages and “frameworks of the day.” I was tired of the same thing, and even my transition to the Salesforce platform brought very little actual excitement for me. The community helped me see past all of that, which is why the community is still my favorite thing about the ecosystem, but as a developer, I was still…well I was cranky!

Then Salesforce introduces #Lightning. Suddenly I was invigorated again, something new, something that was in line with what all the “cool kids” were doing. Something forward-looking, and I got excited again. I dove in and started working, which brings me to my first tip for making the leap from Apex/VF to Lightning.

#1. Jump Right In — One of my favorite bands today “The Zac Brown Band” has a song called “Jump Right In” and you could say I took that to heart. I closed my eyes, picked a random deity, said a prayer and leapt from the lion’s head smack-dab into writing some lightning components. I suppose I’ve always been a learn by necessity/trial by fire kinda person and that seems to work for me. So if it works for me, it might work for you as well. Spin up a developer org, turn on lighting, and start writing something, anything! My first foray was a streaming application that ran via the web and in Salesforce1 that allowed users to vote on what they wanted for lunch. As they voted, the counts went up in real time. Meaning person A voted for sushi from their phone, and persons B,C, and D all saw those updates happen in real time on their screens. I was jazzed, and I was hooked! Was it useful? Not really, but that’s not what matters. What matters was that I learned something. So just “Jump Right In” and do something.

#2. Ask “What If” — since your jumping right in with both feet anyway, start asking yourself “what if?” What if I try to add something like a streaming (see above) result to a lightning component? What if I change this line to that? What if instead of creating a component on the record detail page to modify a field on that same object, (because you could do that), I created a reusable form to create child components directly from the parent’s detail page without having to leave that page? Ya know, like this:

#3. Check out Lightning Design System — When thinking about moving some functionality from Visualforce to Lightning, think about your options. Maybe your first option isn’t a component at all, maybe its simply re-styling your Visualforce page using the Lightning Design System. (This thing is awesome…just awesome). If you’re at all like me at hate front end work, the perhaps the Lightning Design System can ease your pain somewhat. They’ve taken all the things I hate about CSS and put them together in a not so blackbox “blackbox” that just works. All you have to do is apply the appropriate styles to your HTML elements and the system takes care of making it look like the page is inside LEX. Yea, I’m gonna say it…it’s sexy.

#4. Lightning Out — Maybe you’re not quite ready to go full on lightning components. Maybe you could instead replace pieces of functionality with a simple component and Lightning Out and throw that into a Visualforce Page. Lightning Out allows you to run lightning components right inside of a Visualforce page or even off platform if you so desire. (Something I’m really wanting to try but just haven’t been able to find that time yet, but mind you, I will indeed find the time). This would allow you to start small and work your way up.

#5. Get Involved — No surprise here. Me, the guy always raving about the community, is asking you to get involved with the community. Join your local developer group, go to user groups, participate in the Success Community, or the Salesforce Stack Exchange. Start helping other’s solve their problems. I promise, you will learn more than you ever thought you could, and there’s so much to learn. I’m barely scratching the surface and if it weren’t for those in the community already doing the things I’ve mentioned above, I’d be nowhere. Ya hear me? No. Where. The community is the secret and we are all here to help. The blogs, the forums, the user groups, the conferences, all of it. Just do it.

:wq!

Time For Giving Thanks

I know, I know…I KNOW — its been awhile since I last blogged. Ever since June I’ve pretty much been a one-man consulting shop and one has to pay the bills. Throw a couple of talks and a Dreamforce performance with Apex and the Limits in there as well as numerous gigs with a local cover band, and of course family duties, you have a recipe for disaster when it comes to keeping to a tight blogging schedule. (It may be too early for New Year’s resolutions, but I suppose one of mine will be to tighten this schedule up!)

But I digress — now is NOT the time for that. Now is the time to sit back and think about all of the things that are going right in my life. All of the things that I am grateful to have in my life. So that’s what I intend to do today…well not entirely, it will have a “mostly” Salesforce bend to it…somehow (I don’t plan these things, I write when I’m moved to do so…)

I was sitting at my desk this morning working on some validation rules and had our Apex and the Limits Dreampark performance going in the background. I was reminded of a moment during the last tune where I looked down at the gathering of community folks swaying back and forth in the front of the stage. I remember looking down at them all and thinking just how lucky I am to be able to share my strongest passion (music in case you didn’t know) with this incredible community. At that moment, on the stage — I was slightly….overcome…

img_3510

(no I didn’t cry, I was just sweating from my eyes…). That memory is what has sparked this entry, so not in any particular order, save for the first — THIS is my Salesforce Thanksgiving list:

1) The Community — I’ve said it again, and again, and again, and again and will keep saying it as long as I’m here, I LOVE THIS COMMUNITY. There’s nothing like it in the tech world that I’ve ever seen. Its why I keep coming back.

2) Apex and the Limits — as eluded to above, being a member of the band allows me to marry my passions together: Music, Technology, and this wonderful community (see above). I also get to share the stage with some incredibly awesome people: Rachel Rogers, Peter Chalmers, Mark Ross (and when we are lucky, Benjamin Bolopue, and Brian Kwong). Sharing the stage with these people — well, lets just say it feels like home :)

3) The MVPs, and the Salesforce MVP team that wrangles us all — for years…many years I’ve never really felt at home amongst other techies. Yes I was a techie myself, mostly self-taught and with that comes imposter syndrome like you wouldn’t believe. I was never an “academic” developer. I just got shit done, and apparently did it well, but not having that “academic” rapport with my peers pre-Salesforce, I always felt like I just didn’t belong. Then somehow I found myself getting to interact with some very smart, very giving, incredibly approachable and friendly people. I felt welcomed for the first time in my career. I still feel like an imposter, but nobody “makes me feel” that way. I’m so thankful to be able to call these folks friends! #Ohana for the win!

4) The Platform — I was a very jaded developer. Very cranky — tired of “the latest and great framework” type of mentality. Just barely feeling like you’ve mastered one before the next hot thing comes along only to jump in and find it half-baked. (Forget jumping into those communities to learn — again, see #1 above). With Salesforce, while they do innovate and come up with new features all the time, the whole thing still always feels very familiar. Yes Lightning was a big jump from Apex and VF but somehow it was so easy for me to accept this time, probably because I still have the rest platform goodies to lean on whenever I need to.

5) Trailhead — I mean COME. ON. Really? Really? You’re going to put all of this wonderful training material together, throw it up on the web, for free? For anyone to begin learning? For anyone to add to their existing skill set? To give people an option to learn something new and change their career, their LIFE!?! Oh and you’re going to make it fun to boot? Abso-effin-lutely! Sign me up. I may only have 32 badges (again #consulting) but Trailhead gives me a way to jumpstart my knowledge absorption when presented with a new task. I’ve even passed the link on to my sister in hopes that she can take it and learn. We’ll see — tech really isn’t “her thing” but ya never know. It’s zero barrier to entry, its fun, and its full of valuable information. If you haven’t yet signed in, do it! Today!

6) My local Salesforce peeps! — Salesforce lunches, User Group meetings, Dev Meetups, and hopefully I can make a #SalesforceSaturday or two after my daughter’s swim season is over. The group of folks are the heart of the community here in Wisconsin. I look forward to all the time I can possibly spend with them!!

With that — its time to retire for the week. To spend time with my wife and kids, watch them as their eyes light up when the snow starts to fall (those of you that know me, know that I HATE cold weather) but I’m thankful that my girls enjoy it so much. Their individual laughs are so infectious and if something as simple as snow brings them joy, then I can live with it.

Happy Thanksgiving to you all!!

:wq!

Dreamforce 2016 is Upon Us

As I sit in my home office preparing to start the day, I can feel my mind wander towards what lies ahead for me in just a few short days. I’m reminded of the fact that I’ve been the three Dreamforce events in the past three years and how each has been a completely different experience. It has me looking forward to my fourth Dreamforce and wondering what is going to be different this year.

Lets review for those that don’t know me:

Dreamforce 2013 — I was very new to the platform, just six months in as developer and had met my goal of becoming certified before the event. It was all very new, but I hadn’t been “plugged in” long enough to know anything about what to expect. I was overwhelmed by the sheer scale of it all and like most newbies, I tried to do too much. My first impression, in all honest was: “I don’t get what the big deal is” but the electricity at Marc’s keynote was definitely palpable and when he introduced one of my all time favorite bands — Huey Lewis and the News — the stock of this whole thing went up a notch. While still not completely sold, I traveled home knowing that somehow I’d landed in the right place.

Dreamforce 2014 — shortly before Dreamforce 2014 I started getting plugged into the community. I started to become more and more active on twitter and interacting with the community and discovered a hash tag “ThatsWhySFDCAdminsDrink” and it inspired me to write a song about it. With a sigh of apprehension, I submitted it out to the world and it was met with positive excitement. A few short weeks before Dreamforce I received a phone call from Erica Kuhl asking me if I’d sing my song to open her keynote session. I’d never really done anything like that before on such a grand scale and stage and was scared absolutely sh*tless, but pushing myself out of my comfort zone, I accepted her request. I was thrust into the heart of the community. Opening Erica’s keynote would soon prove to be the catalyst for a life-changing experience. Adding to this already incredible experience, I wound up getting to hang out with my developer twin for most of that week and it was experience Dreamforce (and the community) with her that led me to write what has been my most visited blog entry: “It’s the Community Stupid” and I still believe every word whole-heartedly.

Dreamforce 2015 — in spring of 2015 I found myself invited to join the Salesforce MVP program. I had continued writing more Salesforce based songs, stepped up my blogging, started interacting more on the Success community, etc. I was getting involved. I was volunteering for time in the Admin zone, I was meeting more developers, interacting with anyone that I could — and you’ve all heard me say at one time or another that I am not a people person really but this community really brings it out. Here I was, on my third Dreamforce and my third completely unique Dreamforce experience. I got to open the Dreampark karaoke show with fellow MVP Sarah Deutsch where I played guitar and she sang a couple parodies I’d helped her write. I got to attend the MVP event, and met so many more awesome people that I could never replace in my life. It was here at Dreamforce 2015 that Apex & the Limits was officially formed. We got to play a number of songs for the MVP party and while they were actual covers and not parodies, (that part comes later), we found ourselves becoming fast friends. I also got to be part of the admin comedy hour and sang my “Stop Doing Sh*t In Production” song on that stage. I had a horrible case of Dreamforce flu and things didn’t go exactly as planned, but it was still an experience I’ll never forget.

Dreamforce 2016 — This year will be yet again an entirely new experience for me. I’m speaking on Wednesday at 8:30 in the morning about custom lightning components. I am NOT a public speaker, sure I’ll play guitar and sing, but speaking publicly, as a source of some sort of knowledge to a room full of very knowledgable folks is very intimidating for me. It’d be like me playing and singing before a group of Rock ‘n’ Roll legends — lets face it, I’m nervous as hell. Aside from speaking at Dreamforce this year, I will also be opening the Dreampark once again, this time with Apex & the Limits (and special guest stars) and we will be performing our parodies — something we’ve done before sure, but this time we are playing with live instruments! Seeing as how we are all from different parts of the country — and world — when you hear us at the Dreampark, will be the first time that we’ve actually heard ourselves all together in this manner. It’s been an adventure getting this far and in a few short days it will finally become a reality.

So what am I looking forward to most? Opening the Dreampark, speaking at my session — these are all very cool things and I am both humbled and honored to be selected for doing either. What I’m most excited about however is getting to spend time interacting with the community that I’ve become so passionate about. Hanging out with my band family, my fellow devs and admins, and all of the amazing people in this community. I used to be a wallflower and to some extent I still am. Its VERY hard for me to strike up conversations with people I’ve never met, even when we have something in common. If I’m honest, I’m selfishly hoping that I’m somewhat recognizable now and that other will initiate said conversations just to make it easier, maybe I will wear the cowboy hat the whole time? Anyway regardless of who initiates what, I hope to meet more people from this awesome community this year, so if you wanna meet up at some point, find me on Twitter (it’s where I’m most active)! And with that, my DF16 experience begin very early Sunday morning so I’ve got some resting to do!

:wq!

Lightning, Are You Ready?

Salesforce.com’s new UI (and design paradigm) Lightning Experience (LEX for short), has been making impressions since it was announced. Admins & user’s alike have had over a year now to poke and prod at it with a stick. I even know of a few folks that claim to have LEX turned on in their production orgs for all users.

I get asked all the time, what’s it going to take for us to switch over to LEX in “our org?” And more often my response has been: “It’s not really a question of if you are ready for LEX but is LEX ready for you?”

I don’t say that to bash LEX in anyway — however I feel at times there are many that feel jaded by it. It’s not the most performant thing yet, and yes there are many items that now take more clicks than we as admins and users are used to. To those folks I say, consider this:

Regarding performance: We are asking a “page” to do so, so, so much more than a page has done in the past. I’ve been in IT for over 20 years. Its a vicious circle. There was the mainframe and dumb terminals, then it all moved to desktop apps, then over to client server (a rehash of dumb terminals, if you will), then onto more of a hybrid, then onto web applications, and now we are in the app world, and demanding more of our web experience to behave more like our apps. I daresay it will come around yet again in some evolution and we’ll be off the client and back to the dumb-terminal to server architecture at some point. For now however, we are in some sort of thick client like architecture where much of our heavy lifting happening behind our web pages is now happening in javascript, on our devices when it used to happen at the server and simply show us the results of said backend work. As consumers of technology we begin to demand more and more from what is available and while technology moves at the speed of light, our expectations seem to move even faster — and that is okay! THAT my friends is how things progress. The caveat here is, we need to be patient. It. Will. Get. Better.

Regarding more clicks: As a developer there are times when I think to myself: “How can users be any lazier? Complaining about an extra click or two? After all, data is king and having it organized and clean is worth the extra clicks.” It takes me awhile to snap out of that line of thinking and look at things from the perspective of a user. Our jobs get more and more demanding everyday. “Do more, with less, and do it faster!” so efficiency is king to a user. I get that. Here we are squaring off and being the service oriented people we are, we ease the end-user’s life even when it makes our life a bit more difficult. Eventually we come around and meet somewhere in the middle. This whole thing is a process, it will take time to get things to the point where performing tasks in LEX will be just as efficient in LEX as they are in classic. There are millions of us users, and we all have feedback and opinions, etc. It takes time to process all that collective feedback and jump the technical hurdles currently blocking the way to some of this efficiency, but it will come.

Overall, LEX is indeed not ready for most existing clients. Change is never easy and perhaps the hardest element to overcome is the human element. However, LEX WILL BE ready, perhaps not as fast as many would like, certainly not as fast as Salesforce.com would probably like — but its a paradigm shift.

It reminds me of my last “Corporate America” job 14 years ago. I had been a linux user since 1995. I loved it, was way more productive using that than using Windows. As a server architecture, particularly for web apps it just made much more sense to me. I made the mistake of preaching its virtue’s to my Microsoft embedded colleagues who never let me hear the end of it (ultimately why I was happy to leave that job — being a pilgrim in an unholy land took its toll on me). “Your toy operating system will never go anywhere, why waste time on such things” — a few short years later, linux in that environment was a constant. It took time for that to make its way, but it certainly made its way.

Rome wasn’t built in a day — LEX will be ready.

:wq!

Catching Up With the Community

First off, please accept my apologies for letting things slack around here a bit. Since May things have been absolutely crazy. As previously mentioned two big things happened in June and then there was a brief period of professional catch up being played, followed by another three big things, (there was a fourth-ish, but lets just downplay that one).

Thing One
Midwest Dreamin’:
I had a moment of bravery and submitted a talk for Midwest Dreamin’ and it subsequently got accepted. This meant that I really had to get my shit together and practice and organize my thoughts, etc. I was super worried that all the work I’d done to day was all for naught, or at least would be usurped by features in the pending Summer 16 release. Alas, it would appear that neither of those things happened, and overall my presentation went of rather well considering public speaking is just not something I feel very comfortable with yet. (Nor do I think of myself as an authority on any topic, so I was suffering some major Imposter Syndrome). My session was packed, my clicky thingy wasn’t working to advance my slides, I felt unorganized, and my laptop took a dive off the podium at the end, but people clapped and I had some good follow up questions afterwards. Oh and someone want’s me to present on how to write Salesforce parody songs…interesting, but that’s a great segue…

Thing Two
Apex & the Limits at Midwest Dreamin:
Whilst prepping for the above presentation at Midwest Dreamin’ I also had to help my band mates prepare for a number of mini-performances for the conference. This part is always stressful because there are certain needs, (not green M & M’s kind of needs, thing more logistical needs) that the band requires. There’s sound, microphones, prepping the karaoke tracks, the lyrics, figuring out who is singing what part, etc. Its all very nerve wracking and usually all comes together at the very last minute, but once we are up there — THOSE moment make it all worth it. People may think we are looney, but I’ll be damned if we don’t have a great time!

Thing Three
LEX MVP Summit:
The first part of the week at Midwest Dreamin’ was a closed MVP event regarding all things LEX. And while there isn’t really anything I can share with you from a platform point of view (NDA and all), I can say there are some great things coming. My brain was absolutely full after the first day but somehow they managed to cram even more information on day two. Add to that, getting to catch up with my MVP family from all over the world always gives me a recharge.

Between catching up with my fellow MVPs and meeting all the new faces (and some old friends) at Midwest Dreamin, my community cup had runneth over. These are the moments I love. These are the moments however that also make me question: Why am I coding anymore? My love is really interacting with the community. How can I get to interact more (and still make a living). I still haven’t figure that part out yet, but its definitely on my radar. I’ve never considered myself a people person, but for some crazy reason — this community makes me want to be out amongst people.

Okay a fourth-sh thing (plus a half):
They made me walk around in Lion PJs. The things I get myself into (contrary to popular opinion, there was no bet):

4.5:
I got stopped in the expo for my autograph — I still haven’t figured out if that was a serious request, but out there somewhere is a polaroid selfie with my signature on it, because how often does THAT happen?? Never if you’re me, so hell yea I signed it and now I have a story :)

Okay, back to it…see you all at Dreamforce!

:wq!