Jumping From Java to Force.com
A Passion to Learn Makes All the Difference
Peter Knolle loves learning, and he simply could not pass up the opportunity to work with a new platform. At the time, he had no idea that Salesforce would lead him into the happiest and most fulfilling work of his career.
Today, Peter is Solutions Architect with Trifecta Technologies, Inc., a Pennsylvania-based company that builds web applications and business solutions primarily using Salesforce implementations. In only a few short years since first working with Apex, Peter has also become a two-time Force.com MVP and a highly-regarded Salesforce blogger.
From Presenting Legal Cases to Software Engineering
Peter started college with absolutely no computer science or coding interest. He planned to study law, but a computer science class turned his life around.
“I loved computer science class, loved programming – how it worked seeing a problem and finding a solution,” Peter said. “College was my first experience with programming and I was involved with a math professor on a research project. I loved figuring out complex problems and even did some UI design. We got published in a scientific journal, which helped me see some validation for our work.”
In undergrad school, Peter worked in C++ and Java. While in grad school at George Mason University, he worked at AOL as a Software QA Engineer. He designed and programmed a large JavaScript extension library for the Selenium platform to enable automated testing.
“Java was my primary language when I worked in research, as I worked on my MS degree, and while working at AOL,” according to Peter. “I chose Software Engineering versus computer sciences to build software. I loved software engineering and was involved in testing as well. The faculty at George Mason is known for software testing.”
Jumping from Java to Apex
Peter’s next two career jobs were primarily focused on building Java-based enterprise web applications. When he and his wife moved back to their Pennsylvania roots, he took a job as a Java developer at Trifecta Technologies.
“After joining Trifecta, I was leading a Java project that one analyst thought might be a good fit for the Salesforce platform,” Peter remarked. “So, I was put on as lead for this large enterprise Salesforce implementation. We were planning to write code to interact with Salesforce, but it really made more sense to build from the ground up on the Force.com platform. As soon as I became more familiar with Salesforce, I easily saw that.”
Peter explained that it made more sense to build from the ground up with Apex and Force.com instead of integrating through Java because he would have ended up re-implementing a decent amount of standard out-of-the-box Salesforce functionality within the Java application and storing some of the same data in different places. “When we started to look at requirements around user access, customer and contact information and other data, it was evident that standard Salesforce functionality could be used to meet many of the requirements,” he stated. “Building directly on the Force.com platform takes away integration completely, which means there is one less failure point, one less maintenance concern, one less place data is stored, and end users see changes to data as they happen. Also, many new features are added to Salesforce with every release. By building directly on the platform, those features are immediately available to be incorporated into your app or processes.”
Peter’s team, including Force.com MVP Jesse Altman and another developer, sat in a room for a week and designed several applications to learn Apex by just jumping in. The experimentation worked well. “In 3-6 weeks we completed an entire system that was supposed to take 3-6 months. The ease of doing things quickly, without needing to get into lower level implementation details such as load balancers, server configurations and optimizations, and security frameworks, was amazing. We were able to build pretty quickly – and without bugs,” Peter enthused.
Coming from a Java background helped ease Peter’s transition to developing full time on the Force.com platform. “Because Apex is very similar to Java, syntactically and semantically, learning Apex was not difficult,” Peter advised. “It was more about coming up to speed with the available Apex APIs and there is a ton of good documentation that helped.”
According to Peter, Trifecta clients have been extremely pleased with the Force.com platform. “What I really love about Salesforce is that it allows me to focus on the SOLUTION for the customer that makes their life and job easier – Salesforce is the greatest thing to do that with. Many of our customers want Salesforce to begin with and are already into it. We are able to do things quickly and iterate on them and show them a working business process. I am able to deliver solutions much quicker and of higher quality using Salesforce,” Peter commented.
Peter explained that he was able to move much faster with Salesforce than with Java because the work fit well within the Force.com platform. “We did not have to re-implement much of the functionality provided by the platform,” he noted. “We didn’t need to set up our own security framework. We didn’t need to set up an ORM. We didn’t need to maintain servers, databases, networks, and other infrastructure. There are significant time savings in all of that for initial implementation, but also a whole lot of savings for maintenance.”
“I’ve thought about why I like Salesforce so much. I am genuinely passionate about it. It’s simply that I like seeing people happy using what I’ve built,” he exclaimed.
Jumping Headfirst into Force.com
Peter recounted that the best way for him to get a headstart in the Force.com platform was to simply jump in headfirst. He recommends that same approach to any new Apex developer.
“There are great resources for Apex and Visualforce,” Peter observed. “So I could easily see what others had done with things like trigger frameworks and organizing code correctly. My software engineering principles with clean code worked well in this instance.”
Peter also recounted some of the similarities and differences between Java and Force.com that enabled him to easily move into the new platform. “The basics of an object = table, field = column, and record = row were apparent, which made the design aspect of the Salesforce object model very similar to that of a relational database design,” Peter detailed. “Once I learned the capabilities of SOQL around relationship queries and some common patterns around bulkification, it was simple. Again, there is a ton of good documentation. One of the nice things about the platform with respect to the data layer is that a lot of work is already done for you, such as which fields need updating in a DML statement and what permissions users have on objects and fields.”
Peter encourages new Force.com developers who may be moving from Java or other platforms to use Trailhead to expedite their transition. “The Trailhead modules weren’t around when I got started but are now a great way to learn,” he stated. “Also, the Force.com Fundamentals book goes through everything and is a great resource. It is very useful to get involved in some developer community – ask questions, and pick off questions and try to answer them yourself. Research and figure it out and learn for yourself,” he advised.
The Salesforce community – both internal and external – holds a special place in Peter’s heart. He believes that interacting with other Salesforce MVPs in help sites and exchanges is something that he probably couldn’t have done as a Java developer to further his career.
“From an overall career perspective, there is a huge demand for Salesforce developers which leads to great job security,” Peter remarked. “The whole Salesforce community is the best that exists. There is nothing like this in other code languages. The people on staff at Salesforce and other MVPs are all great and nice and helpful. I’ve gained lots of friends and continue to have relationships with people I’ve met in the developer community.”
Peter counsels aspiring Force.com developers to get experience with the platform. “If you are in a job where you have Salesforce projects, ask to get on them. And don’t hesitate to apply for Salesforce developer jobs even if you work in another language. Put in the effort to do Trailhead and get your Developer Certification to show potential employers your desire and initiative to get your foot in the door.
A Career that Moves Ahead at a “Lightning” Pace
Peter’s love of learning hasn’t slowed even after all of his success as a Force.com developer. Even though he is a well-followed Apex blogger and MVP, he still likes to ask questions in the community and is anticipating more involvement with Lightning.
“I put upon myself that whenever I ask a question, I also want to give an answer to another question,” Peter related. “I want to be part of the community and give back and not just take. In fact, this process became addicting, almost like gamification. Once I started blogging about Salesforce, it brought a whole new aspect to my learning as I wanted to make sure all my ducks were in a row before I hit publish on the post. And I also hope someone will comment on it to offer other angles to see an issue and improve upon it. There are a lot of great opportunities in the Salesforce community to learn from other people and then to give back at the same time.
As Peter’s Salesforce career progresses, he looks forward to tackling new Force.com tools and processes. “I am very happy with my day-to-day job,” Peter proclaimed. “I have excellent managers and team mates. I like doing R&D on daily basis and still keep on learning. You never know what’s coming next with Salesforce – every few months they come up with a ton of new things like Lightning.”
Peter stated, “We have researched how to use Lightning and fit it into a product we are developing. We’ve also looked at the Lightning Process Builder. We’re at the point where we’ve done all the research and we’re ready to move into that shortly.”
For such an accomplished Salesforce developer, Peter says the key to his success is to maintain his intense desire for learning. He advises other developers to do the same. “Always be open to learning and you’ll go a long way, keeping an open mind and having the desire to keep figuring things out. Being curious is the key,” he finished.