Why Become a Certified MuleSoft Developer

 

Interested in obtaining your first MuleSoft certification, but still have some questions about it? Ana, a developer in our Ecuador office has some answers:

WHY BECOME A CERTIFIED MULESOFT DEVELOPER

What is the advantage of learning MuleSoft?

The most important advantage that MuleSoft has against other platforms is that it allows you to develop and manage APIs easily. You can even drag and drop components and integrate systems. With MuleSoft Anypoint™ Exchange you can add your APIs to a marketplace to reach a broader audience. That same marketplace gives you connectors that can make your life easier. For example, MuleSoft allows you to use a Facebook or a Salesforce package to integrate systems more easily.

 

Do you have to be a programmer?

Knowing how to code, or at least understanding how to do it, is useful because it helps you better understand certain topics in the MuleSoft training. For example, DataWeave, try-catch blocks for error handling, and other concepts like that are things you will need to know to be successful.

 

Do I have to know a specific programming language to learn MuleSoft?

You don’t need to know any specific programming language. But you just have to know how to code; that should be all you need.

 

How does MuleSoft help companies to grow?

When a company needs to integrate systems, MuleSoft gives them an advantage. With pre-built connectors, MuleSoft makes it easier to connect those systems without having to write a large amount of custom code. Also, if a company wants to produce its own APIs and possibly sell them, the MuleSoft Anypoint Platform makes that easier. They can even use Anypoint API Community Manager to create a Salesforce Experience Cloud community for API developers, which can help quickly grow adoption for the APIs.

 

Are there any prerequisites before someone takes the MuleSoft developer certification Level I certification? 

It’s important to understand programming and knows a bit about APIs, like what they are, how they’re used, and why you’d use them. MuleSoft certification is not very difficult as long as you know your basics. 

 

It is possible to achieve the MuleSoft developer certification by myself?

Of course, it’s possible. And it’s a great opportunity since the course is free. To start, go to the training page and sign up. If you pass the training, then the exam is free.  You should take advantage of this opportunity! Just remember, you need some experience with coding to know the terms and to understand DataWeave. It shouldn’t be too challenging for you.

 

What is the best API?

Which API is best depends on the project you’re working on. So maybe, if you want to incorporate a map in your system, consuming the Google Maps API would be the best solution for you (if it complies with all the requirements you need to meet).

 

What is the next step after you earn the MuleSoft developer certification Level I – Mule 4?

After you achieve your certification, your next step could be to go for the  Integration Architect certification. In my case, I want to gain more experience with MuleSoft projects before I become a certified Integration Architect. For that certification, MuleSoft has training that can help you, but it is not free. 

 

How long does it take to get MuleSoft developer certified?

That’s a great question, but it really depends on you. You could finish this course in five days if you are 100% committed, but you can also use other kinds of resources. Just to be sure you are ready before you take the exam. So it could take, five days, one week, or two weeks, it all depends on you and the time and effort you put into it.

Here are some great resources that helped me: 

 

In which kind of projects can I use MuleSoft?

You will use MuleSoft only for projects that require integrating systems. For example, if in your project you integrate a database and then you want to use that data in another system, you can use a specific API for that. But it really depends on the project and your requirements.

 

As a front-end developer, do you think it is useful? or is it only used in the back-end?

I think that as a front-end or a back-end developer it could be very useful to have a full understanding of what MuleSoft can do. So it’s worth getting this certification to give yourself a better understanding. As I said, this is a huge opportunity and the exam is free,  so you must take it!

If you want to know more, watch the webinar about MuleSoft certification and Ana’s experience.

Interested in learning more? Check out some of our latest MuleSoft articles:

Salesforce Classic vs Lightning: More than a pretty interface

When we first published “Lightning Experience vs. Salesforce Classic: Is the Lightning Experience Revolutionizing Salesforce?”. Over two years ago there were many features missing from the Salesforce Lightning Experience. Making the conversation about the UI and what was missing. Certainly, over the last two years, Salesforce has significantly closed those gaps. Now, only discussing the Lightning UI misses many of the benefits it has introduced. 

User Experience

Often the most controversial part of any redesign, the user experience in Lightning is significantly different than Classic. It’s common for users of a product to resist changes to their experience. Lightning brings benefits for those that do. Whether your users are selling, helping, collaborating, or marketing, there are improvements to help them get their work done faster. Salesforce worked to simplify the user experience and create more efficient navigation. That allows you to not only change records quickly but change applications.

Significant work has gone into refreshing record layouts, dashboards, and report views. When Lightning was first introduced, admins and users were finding themselves having to switch back to Classic for specific tasks. Now that happens far less often. With the Lightning App Builder, it’s easy for admins to create new custom page layouts. The benefits aren’t limited to administrators. Here are a few areas the experience has improved.

 Salesforce Lightning Experience

  • Home 

Salesforce has transformed the way you start your day by adding an intelligent Home page. Sales reps can monitor their performance to goal and get insights on their key accounts, with an assistant providing the complete list of things to do. Admins can use the Lightning App Builder to create custom Home pages.

  • Opportunity Workspace

The new design allows you to help your sales reps work their deals faster. Lightning enables you to showcase key record details in the new highlights panel at the top of the page. Also, get key coaching details with a customizable Path to support your sales process. And, see a wealth of related information on hover using a quick view.

  • Accounts and Contacts

Lightning has optimized the layout for accounts and contacts, organizing the content by their primary use case: reference. Your sales team can locate important data efficiently, get the latest news for your customers, work smarter, keeping the data clean with field-level duplicate matching, among other functions.

  • Reports and Dashboards

Now users can create their filters while viewing a report. Also, if you already have reports from Salesforce Classic, the transition is very easy, because the reports are automatically viewable in the new interface.

Architecture 

Meanwhile, when someone says Lightning, it’s common for people to think just about the new user experience. Wrong, Lightning brings even more. Lightning as a platform has improved the experience for users, administrators, and developers. With new frameworks, Salesforce has made it significantly easier to create new pages and applications and made data access easier to manage. 

The new Lightning architecture takes advantage of modern web stacks that are now more standards-based, with Lightning Web Components providing a layer of specialized Salesforce services. You no longer need a proprietary component model, proprietary language extensions, proprietary modules, etc. For example, there are many significant benefits such as:

  • Common component model
  • Common programming model
  • Transferable skills and easier-to-find / easier-to-ramp-up developers
  • Interoperable components
  • Better performance because core features are implemented natively in web engines instead of in JavaScript in framework abstractions

Development 

Developing in Lightning requires a mind shift, but opens doors. Salesforce Classic was built around a page-centric model, while Lightning is based on an app-centric one. Basically, now that Classic Visualforce is only one (older) option, it’s possible to build web applications that are mobile-ready and run natively in browsers, even faster. Furthermore, the new lightning component architecture gives you two programming models: the Lightning Web Components model and the original Aura Components model. 

in addition, if you are currently developing Lightning components with the Aura programming model, you can continue to do so. Both can coexist and interoperate. But, in the future, we recommend you consider migrating your Aura Components to Lightning Web Components. Start with the components that would benefit the most from the performance benefits of Lightning Web Components.

“Lightning offers us the opportunity to use Lightning Web Components, these allow us to perform faster tasks with custom components, which can be used in different pages with just a drag and drop. It has great compatibility with different browsers which allows us to work without problems on desktop and mobile devices.”

Alexis M, Developer

“With Lightning Web Components I have been capable to develop reactivity, responsive and scalable solutions, thanks to its state-of-the-art web architecture that integrates features like Lightning Design System and MCCV model, leading to smoother development and a more comfortable user experience.”

Christian R, Developer

Check out one of our latest workshops. Mateo H, developer, shares one of the latest components our team has been working on:

If you want to discover more about Salesforce Lightning, we recommend you check out this module on Trailhead. That is to say, if you want to go deep into the main differences check out the Salesforce help page: Compare Lightning Experience and Salesforce Classic

Our team has also worked with different organizations and their projects. We are Salesforce platform experts and we offer custom development to help you build your platform and solve the right problems. If you want to know more about our work, go check out our latest success stories.

Learn more about Salesforce Administrator Certification Exam

This Salesforce Administrator Certification will help you have a better understanding of Salesforce CRM fundamentals. Also, demonstrate your expertise and abilities in the platform. You should be able to maintain a Salesforce org. Respond to frequent business requirements and inquiries, and last but not least, execute Salesforce administrative tasks. You will have knowledge of the features available for end-users as well as the configuration options available. Learn more about the Admin role and the skills they need to succeed. Start completing this 10 minutes module on Trailhead.

Kevin, who has recently joined Oktana, became interested in Salesforce before joining our team. He had heard of Salesforce on another job, but he never really understood what Salesforce was. Time passed and he decided to finally study and get his first certification. Now he has completed this certification and believes that it is a great start for a Salesforce career path. Even though this is not a certification that requires development. It motivates you towards achieving even more certifications, such as Dev I. 

About the exam:

The Salesforce Administrator Certification consists of 60 multiple-choice questions. And 5 additional non-scored questions to be answered in a 105 minutes exam. The passing score is 65% and the registration fee is USD 200, according to the laws of your country, extra applicable taxes may be required. 

Certainly, there are no official prerequisites for this certification. However, it is highly recommended to complete the Salesforce Trailhead Trailmix Prepare for Your Salesforce Administrator Credential before scheduling the exam. In this trail, you will find almost everything you need to know to pass the exam and ensure you’re an expert in the area. Additionally, we encourage you to complete the Study for the Administrator Certification Exam Trailmix to review your knowledge and learn more about the exam itself.

Also these Trailhead Superbadges can also be used before the exam to help prepare:

Exam structure:

The exam is structured around 12 main features and functions: 

  • Organizational Setup – 3%
    • Salesforce Platform Basics
    • User Authentication
    • Preparing the Salesforce org for users

  • User Setup – Weighting 7%
    • User management
    • Customization of an org to support new business units

  • Security and Access – 13%
    • Data Security
    • Identity Basics

  • Standard and Custom Objects – 14%
    • Data modeling
    • Lightning Experience Customization
    • Customization of Salesforce Objects

  • Sales and Marketing Applications – 14%
    • Accounts and Contacts for Lighting experience
    • Lead and Opportunities for Lightning experience
    • Products, Quotes, and Contracts
    • Campaign basics
    • Customization of a Salesforce path for a team

  • Service and Support Applications – 13%
    • Service Cloud for Lightning experience
    • Cloud Efficiency
    • Knowledge Basics for Lightning experience 
    • Build a community with Knowledge and chat

  • Activity Management and Collaboration – 3%

  • Data Management – 10%
    • Data Management 
    • Import and export with Data Management tools 

  • Analytics—Reports and Dashboards – 10%
    • Reports and Dashboards for Lightning Experience 

  • Workflow/Process Automation – 8%
    • Lightning Flow

  • Desktop and Mobile Administration – 3%
    • Lightning App builder 

  • AppExchange – 2%
    • Appexchange basics 

Final recommendations

Kevin shared that the hardest topics for him were Service and Support. Why? Because he did not have background expertise in the area. He also suggested paying extra attention to the reports-related modules because there is a wide variety of topics and can easily confuse you. He recommended not underestimating this certification. Also, take extra time to review all features and functions before taking the exam to ensure that you have the knowledge you need to pass. 

Even though the Salesforce Administrator Certification is in the career path of Quality Assurance and Devs, most usually start with the Dev I Certification. Kevin, on the other hand, recommends taking this certification first to get a solid foundation in Salesforce. It will help you take future certifications.

At Oktana, after new employees complete their one-month onboarding process they are ready to sit for this exam. We provide all the resources mentioned above as well as exam mockups and additional tips to ensure success. 

We are now hiring! Check out our open positions here

Salesforce Admin Footer

Get started with Salesforce Platform Developer I Certification

The Salesforce Certified Platform Developer I is probably one of the most important and complete certifications that Salesforce offers. Additionally, it is a prerequisite for many other certifications such as Dev II and it is the first step to becoming a System Architect. At Oktana we encourage our developers to achieve this certification in order to empower their Salesforce careers. It is an excellent asset to demonstrate to their peers and customers that they have the required skills to provide a successful project.

If you have already taken this certification, we recommend you to read our Salesforce Developer II Certification article.

For the purpose of this article, we have interviewed Bruno and Stefania, two new Oktana employees who completed this certification before starting to work with us. We’ll take a look at the certification description, prerequisites, and the exam itself.

Certification Audience Description:

Salesforce claims that this certification targets people who have “experience developing and deploying basic business logic and user interfaces using the programmatic capabilities of the Lightning Platform”.  Bruno and Stefania agree and extend the target audience of this report to “anyone willing to undertake a developer path in Salesforce”. 

Prerequisites: 

There are no official prerequisites for this certification. Salesforce claims that generally, people who undertake this certification have at least 2 years of experience as a developer and 6 months of experience on the Salesforce Lightning Platform. Our developers, on the other hand, believe that you can start preparing for this certification after only 4 weeks of experience with the Salesforce platform. 

About the exam:

The Salesforce Certified Platform Developer I exam has the following characteristics:  

Content: 60 multiple-choice questions + 5 non qualified 

Time: 110 minutes  

Pass mark: 65%  

Exams can either be taken online or onsite at a testing center.

No hard-copy or online materials may be referenced during the exam.  

Exam Outline:

The exam is structured around 6 main topics. These are: 

  1. Salesforce Fundamentals – Weighting 7%
  • Describe the tools and technologies that power development on the Salesforce platform.
  • Demonstrate expertise in working with Apex and Aura components.

 

  1. Data Modeling and Management – Weighting 13%
  • Give your data structure with objects, fields, and relationships.
  • Demonstrate expertise on how to import and export data in Salesforce.
  • Customize without writing code by using point-and-click logic

 

  1. Logic and Process Automation – Weighting 38%
  • Automate processes for every app, experience, and portal with declarative tools.
  • Use Apex to manipulate data 
  • Write Apex triggers to perform custom actions
  • Show expertise in search solutions

 

  1. User Interface – Weighting 25%
  • Use Visualforce to build custom user interfaces for mobile and web apps.
  • Build reusable, performant components that follow modern web standards using Salesforce Lightning Web Components

 

  1. Testing, debugging and deployment – Weighting 17%
  • Write robust code by executing Apex unit tests.
  • Describe the testing framework and requirements for deployment.  
  • Describe how to monitor and access various types of debug logs.  
  • Demonstrate expertise in capabilities and security implications 

 

Bruno and Stefania agreed that the most interesting thing about this certification was learning how to break with the “developer paradigm” of wanting to make all changes using lines of code. This certification teaches you how to customize your platform by using the tools provided by Salesforce. This allows you to work more efficiently and effectively!

Preparing for the exam:

 

It is highly recommended to complete the Salesforce Trailhead Trailmix “Prepare for Your Salesforce Platform Developer I Credential” before scheduling the exam. In there you will find almost everything you need to know to pass the exam and ensure you’re an expert in the area. Additionally, we encourage you to complete this Study for the Platform Developer I Exam Trail to review your knowledge and learn more about the exam itself. You can also choose to take a Trailhead Virtual Bootcamp for Platform Developer I certification. The 30-day course will teach you everything you need to know and includes a $200 USD voucher to sit for the exam. The price for the course starts at $450 USD and you can register by clicking here. Bruno recommends finishing all Trails related to this certification before starting to practice on Focus on Force, which provides study guides and practice exams.

At Oktana, after new employees complete their one-month onboarding process they are ready to sit for this exam. We provide all the resources mentioned above as well as exam mockups and additional tips to ensure success. 

Both of the developers we interviewed for this article think that this is a GREAT certification to have and would 100% recommend it to everyone working with Salesforce. What are you waiting for?

We are now hiring! Check out our open positions.

Footer Blog

 

How to Integrate Salesforce with Python

Today’s post is about, you guessed it, using Python and Salesforce together. Salesforce offers a few different REST API endpoints that allow us to interact with our org. They also offer a SOAP API, but we’re not going to use it today. In fact, we don’t need to worry about the endpoints at all. Thanks to a Python library called Simple-Salesforce.

Casinos are integrating salesforce with python to automate their sales processes. They see the benefits of being able to more effectively manage and track customer data, as well as improve the overall customer experience, which you can read more about at Olympia Casino review. Salesforce provides a wealth of capabilities for automating sales processes, and casinos see great potential in using this technology to improve efficiency and drive better results. By incorporating Python into their sales process, casinos can better analyze customer data and respond to customer inquiries more quickly. Additionally, the use of Salesforce automation tools allows casinos to more effectively manage customer relationships. Casinos are using Python because it is a fast, versatile programming language that can be used for automation and data analysis. Salesforce offers a variety of integrations with other software systems, so casinos can quickly build out custom applications. The integration enables casino operators to better track customer activity, optimize sales processes, and provide superior customer service.

 

We could do this all by hand with the built-in requests library. You would have to handle sessions, OAuth process and save tokens, deal with request headers, encoding and decoding JSON, creating configs to handle all the different endpoints, etc…

Elden Ring game developers integrate Salesforce with Python in order to increase efficiency and data analysis. The integration between the two platforms allows for quick and easy access to all of the game’s data such as caelid colosseum elden ring. This increased efficiency has helped the developers make better decisions about how to improve the game, which has resulted in a more immersive experience for players. Salesforce is an essential tool for managing customer data, and Python is a powerful programming language that can be used to automate complex tasks. By integrating Salesforce with Python, game developers are able to streamline their processes and improve efficiency. The integration allows the developers to manage tasks, profiles, leads, and more using Python programming. This integration also allows for data synchronization between Salesforce and the Elden Ring game’s database.

Simple-Salesforce Python Library

This is where the wonderful world of open source software comes to the rescue. A man named Nick Catalano created a library called simple-salesforce. From what I understand, he isn’t actively developing it anymore, but due to open source, the community has picked up adding features. It has about 50 contributors as of July 8, 2020. The lib is being actively developed, with new features added like bulk API support and formatted SOQL queries!

 

 

With a bit of the background out of the way, let’s start digging into the library and see what we can do with it. First, no better way to explain what simple-salesforce is than to quote the README itself:

 

Simple Salesforce is a basic Salesforce.com REST API client built for Python 3.3, 3.4, 3.5, and 3.6. The goal is to provide a very low-level interface to the REST Resource and APEX API, returning a dictionary of the API JSON response.

Simple Salesforce

 

In plain text this quote means Python 3.x is supported, REST requests are handled for us, and the data we want comes back as a native Python data type. Great! Just what we want.

 

Login Information

 

First up, we’ll need a few things from Salesforce. Three things to be exact. Our username (email), password, and security token. The username and password should be pretty easy to find in your profile settings in your Salesforce org, but where do we find the security token? We don’t really see it, rather we’ll need to reset it.

 

 

 

 

 

 

 

 

 

After clicking “Reset Security Token” , you should be sent an email containing your new token. Save this, we’ll need it in the next steps. That’s all we need from Salesforce to get up and running. Now that we have that, let’s start building our Python script and start playing with our org.

 

pip and pipenv

But first, a quick word about PIP. While working on this example, there was an update to simple-salesforce lib. Github has the current version and we need the format_soql method from it. But pip (PyPi) hasn’t been updated with the new version as of yet, July 2 2020. So, we’ll need to install it via it’s repo on Github.

 

pipenv install -e git+https://github.com/simple-salesforce/
simple-salesforce.git#egg=simple-salesforce

If you are using the demo repo I built, we won’t need to worry about the requirements or dependencies if using pipenv. The demo has a Pipfile that’s pulling from the repo already thanks to the magic of pipenv.

The code

Now, let’s write some code. First up, we’ll bring in the libs we’re going to use. The only one that is not part of the standard lib is simple-salesforce:

from simple_salesforce import Salesforce, format_soql

from pprint import pprint
import json

Simple enough, import simple-salesforce, pprint (pretty print), and json. pprint is only used to make the terminal output look better, so it’s not needed for the core examples. json is used to get the credentials from a .json file, which is what we’ll do next.

# open file holding our login information
# we have the login info in a separate file so we can
# add it to .gitignore to help prevent leaking the information
# environment variables could also work
with open("login.json", "r") as login_file:
    creds = json.load(login_file)

Keep credentials secret

If you were on a project working in a private repo and multiple people needed access to the login credentials, keeping login info in the script itself would be okay, not ideal but okay. The reason we’re doing it is because it’s good practice and it’s open to the public on Github. So hiding and not committing sensitive information is important. This goes for any language or code base.

With that disclaimer out of the way, I included an example login.json file called very creatively “EXAMPLE_login.json“. Let’s take a quick look at it.

{
    "login": {
        "username": "[email protected]",
        "password": "My-REALLY-amazing-password",
        "token": "kdjfghdgfFGJbDFgd36DFGHDfgh"
    }
}

Very simple json object only containing the three things we got from the last steps. You can just copy/paste the “EXAMPLE_login.json” and rename it to just “login.json“, then update it with your login information. You can do this in the file explorer or VSCode, but here’s a quick example to do it from the command line.

cp EXAMPLE_login.json login.json
vim login.json

Salesforce Object

With our new login information, we can create the salesforce object back in our python script.

sf = Salesforce(username=creds['login']['username'],
                password=creds['login']['password'],
                security_token=creds['login']['token'])

And that’s it! We now have an object that represents our org, and now we can start doing cool things like SOQL or DML. Next, since we have everything we need to start awesomeness, let’s try a simple SOQL query.

SOQL Query

# an example of running a simple SOQL query
SOQL = "SELECT Id, Email FROM Contact"
data = sf.query(SOQL)
for d in data['records']:
    pprint(f"{d['Id']} -- {d['Email']}")

We defined the query string to get the Id and Email from all the Contacts, called the query() method of our salesforce object, then looped through the returned records and display the results. A note to those new to Python, in the pprint() we use something called an f-string or format string. It makes it easier to embed variables in strings, much like the way Aura Components handle expressions with {!v.my_var}

SOQL is cool and all, but what about adding new data to our org? We can do that too, very easily. We’ll even try using the bulk api to insert 1,000 record. But first we need to create 1,000 records. This is going to be mock or fake data just for the sake of simplicity. We’ll also be testing on the Account object, so only thing required for new records is the Name field.

data = []
for i in range(0,1000):
    data.append({
        "Name": f"Bulk Test {i}"
    })

Now we have a list of dictionaries that represent our record data. Here we have a for loop filling a list with new items. We could also use list comprehension to replace these 5 lines of code with just one.

data = [{'Name': f"Bulk Test {i}"} for i in range(0, 1000)]

Bulk Insert

To bring these new records into Salesforce, we use the .insert() method for the object we want, coming from the salesforce object we created. Confused yet? Here’s the insert code, it should help make things more clear.

# insert the new account using the bulk api
x = sf.bulk.Account.insert(data, batch_size=10000, use_serial=True)
pprint(x)

Here, we’re telling our org we want to use the bulk api “sf.bulk“, then which record object we’re working with “.Account.“, and finally what we want to actually do “.insert()“. We could use any object too, doesn’t have to be just Account. Even custom objects work, so instead of where Account is, we can replace it with something like sf.bulk.MyCustomObj__c.insert(..... We can also specify the batch size, or to process in serial.

Bulk SOQL

If you visit your org and take a look at all Accounts, you should see 1,000 new accounts with names like “Bulk Test 42”. We can also try doing another SOQL query, this time we’ll use the bulk api for the query. We’ll also show how to use things such as “LIKE” in SOQL statements.

# now lets get those records so we can delete them
SOQL = format_soql("SELECT Id, Name FROM Account WHERE Name LIKE '{:like}%'", "Bulk Test")
the_accounts = sf.bulk.Account.query(SOQL)
pprint(the_accounts)

Simple-salesforce now comes with the handy little method called format_soql that allows us to do things such as LIKE. format_soql is also the reason we used the Github repo for pip instead of what’s on PyPi, the new method was just introduced in the last 2 weeks.

Now that we know we can insert and add new data and records to salesforce, let’s see about removing it. Looking at the README, seems like the delete() method needs a list of records containing the Id of the record to be deleted. The records need to be a key-value pairs or dictionary just like how the query was returned. We already have all the Id’s for our inserted record from the “bulk.query()

{'Id': '0013h00000EdP87AAF',
  'Name': 'Bulk Test 998',
  'attributes': {'type': 'Account',
                 'url': '/services/data/v42.0/sobjects/Account/0013h00000EdP87AAF'}}]

Looks like simple-salesforce also returns something called “attributes“. This just tells use which object we’re working with and which api endpoint we got the information from. For our example, and for the .delete() method, we only need the Ids. So let’s clean up and make a new list with only what we want.

account_ids = []
for a in the_accounts:
    account_ids.append({"Id": a["Id"]})
pprint(account_ids)

Here is another opportunity to practice list comprehension! See if you can get that for loop down to one line.

Bulk Delete

So now we have the list of Id’s, now we just simply call the delete() method and go refresh our org’s Account list.

data = sf.bulk.Account.delete(account_ids, batch_size=10000, use_serial=True)
pprint(data)

All the records we inserted are now gone!

Final Thoughts

In conclusion, let’s recap what we’ve learned. For one, Python is awesome. Second, integrating Salesforce in a Python project is very very simple. With only three pieces of information, we can create a native Python object representing our Salesforce org, do things with the object like SOQL and DML, and finally have access to multiple salesforce API such as bulk or search.

This is only scratching the surface. We can do much more and simple-salesforce also has methods for metadata and describe. From this basic example, we could bring in Salesforce data to Flask API’s we build or insert new data to Salesforce from a data scraping crawler we make in Python.

We can also harness the power of Python’s ecosystem of visualization and reporting such as Pandas or SciPy. Nothing stopping us from grabbing Salesforce data and running it through machine learning or neural networks using PyTorch or TensorFlow.

If you’ve made it this far, thanks for reading! Here I’ll link the demo repo containing all the code discussed in this post and a YouTube video of my presentation. Also, if you are interested in learning more about Python, you can check this article: How to do Time Series Analysis with Python & Pandas.

https://www.youtube.com/watch?v=rf1jx3jbL2M&feature=youtu.be

Resourcing with Oktana

When you outsource development, nearshore or onshore, you probably wonder about resources and whether they’re going to work well with your internal team. At Oktana, we consider our team to be your development team. We take pride in working to get the right help for each project, whether it’s a designer, developer or a whole team. Many of our clients even choose to continue with the same team on multiple projects.

Let’s take a look at how resourcing works at Oktana.

Step 1. Gather data

First, we need a clear picture of your company and project. Your account manager will work with you to understand skill requirements, project scope and anything else you feel is essential. For example:

  • Will we work alongside your internal team? 
  • Will we need to integrate with existing systems? 
  • Are there preferred development platforms, frameworks or languages? 
  • Is business analysis, design or test automation part of the scope? 

We work with you to define “done” for the project. We are an Agile company, so this often means defining a minimum viable product, or MVP. These conversations help us determine a reasonable start and end date for the project.

Step 2. Select resources

Now that we have an idea of your needs, our resourcing team will build your development team. We want to ensure your team brings the skills to meet all of the technical requirements for your project. We also want to ensure they’re a good fit in terms of personality and experience.

Everyone should feel confident in their ability to work together.

Step 3. Review resources

As our resourcing team builds your development team, you have a few options depending on how involved you want to be in the process. You can let us handle the entire process, or you can be far more hands-on. 

If you want to be more hands-on, we’ll work with you to review a set of developer profiles. You can also conduct developer interviews to meet each team member before you sign-off on your development team.

What’s a developer profile?

Our resourcing team compiles a developer profile for each of our developers, which provides you with a good overview of their skillset, certifications and experience.

Step 4. Meet your development team

Our teams receive English tutoring and overlap with most of the US workday. Because of this, you are always able to chat or run planning sessions, review specs and do demos face-to-face by video. This is your development team. 

As your project grows, or requirements shift, your account manager will work with you and our resourcing team to adjust the team to meet those needs.

We hope all of this information helps you understand the resourcing process better and by extension how our teams work. Our team has worked with different organizations and their projects. We are Salesforce platform experts and offer custom development to help you build your platform and solve the right problems. If you want to know more about our work, go check out our latest success stories.

Oktana is Growing: 200 Developers

  • The first half of 2019 has been a period defined by growth and expansion for Oktana.

200 Developers

We are thrilled to report we’ve officially reached a headcount of over 200 developers, testers and designers worldwide. As our family grows, our available skills grow which is exciting for all of our partners.

Introducing, Paraguay

Our company was founded in Montevideo, Uruguay. Like any technology company, we’re always on the hunt for great talent, encouraging our team to learn new skills to provide additional value to our partners. With that in mind, we expanded into neighboring Paraguay in late 2018, opening an office in the capital, Asunción. Over the past six months, we’ve been able to bring on new team members in Paraguay in a wide variety of roles. The team has become an essential part of the Oktana family.

Why Paraguay? The population is young and entrepreneurial. There has been increased investment by the government in science and technology and several accelerators and other programs have launched to help fuel entrepreneurship. For us, this is the right environment to find developers eager to work on big projects and expand their knowledge.

 

Asunción, Paraguay

Fun Facts about Paraguay

  • Population: 7,000,000+
  • Slightly smaller than the state of California
  • Literacy rate is 94% (vs. 86% in the United States)
  • World’s fourth-largest exporter of electricity
  • Host of Guinness Book of World Records world’s largest barbecue, attended by approximately 30,000 people

Next Stop: Peru

With offices in New York, San Francisco, Montevideo, and now Asunción, where are we headed next? After the successful expansion into Asunción, we looked for other cities to grow into and found Lima. So, we’re excited to announce our office in Lima, Peru is open and ready for business.

Why Peru? The capital, Lima, has a population of over nine million people, making it one of the largest cities in South America. Because the majority of our customers are based in the United States, it’s important for us to ensure our team schedules align with US timezones and work hours to enable collaboration. Like Paraguay, Peru’s workday naturally overlaps with the US workday. Peru is a growing and stable country, so we’re confident it’s a place we will be able to continue to grow.

 

Lima, Peru

Fun Facts about Peru

  • Population: 30,000,000+
  • Nearly twice the size of Texas
  • Founded in 1551, National University of San Marcos is the oldest in the Americas
  • Incan Empire was larger than imperial Rome at its peak
  • Home to both the world’s highest sand dune and deepest canyon

Company Culture

As we continue to expand, it’s important to ensure our Oktana family feels connected regardless of location so we’re increasingly focused on building our company culture and communication between offices. As the year progresses, we may reach out to you, as our partners, to share your story so each developer is able to better understand the projects keeping their colleagues up at night.

MuleSoft & Informatica Certification

With a growing team, we’ve also expanded on our certification game. We believe in continuous learning, so our developers are always training and working on new certifications. We recently stepped outside of core Salesforce certifications to explore other options that fit our team, including MuleSoft and Informatica certifications.

Hope you’ve enjoyed learning more about us. Our team has worked with different organizations and their projects. We are Salesforce platform experts and offer custom development to help you build your platform and solve the right problems. If you want to know more about our work, go check out our latest success stories.

4 Reasons Git is One Tool to Rule Them All

selenium

Here at Oktana, we focus on quality to ensure the applications we develop are secure, functional and scalable.

 

What is Git?

What is Git, you may ask? Git is an open source version control system used to manage pertinent files and company tracking history, all while coding in a secure environment.

Need further clarity? Let’s provide a little more context. In the early years of software development, engineers feared the possibility of losing their data and progress so they would record paper copies of source code throughout stages of development. Yep, that happened.

Over time, programs were eventually stored in computer hard drives, however, engineers were still cautious and thought further security measures needed to be instated. To address this issue, a lock system was created to protect data which came to be called Source Code Control System (SCCS). To put it simply, if one developer is editing a file, no other personnel can access the file.

As with anything involved with computer software, the next evolution of version control systems elevated to the cloud. There were many contenders but the most widely known was Subversion (SVN). SVN was centralized in one place and was the only source of all truth. The idea here was that if engineers still had to manage a locking file system, at least they could develop multiple versions of those files and create branches to track new versions of files without changing or rewriting the previous versions.

Everyone that had worked with SVN loves Git. It was the evolution of version control giving us the same power of the first paper copies, where you can add side notes in a file, have totally different stories, and backups but now we’re saving trees! Also, it’s in the cloud so it can be accessed from everywhere.

And thus, history was changed, or at least, a version of it.

Now that we have more of a background on Git, let’s explore the features a bit more:

 

Spread and conquer

Remember those single source of truth days? Well those are over now! Anyone who has a copy of the Git repository has access to the history log with all file versions and updates. So, if a meteorite were to crash the server, nothing would be lost because several engineers still have repositories that reflect the same information.

 

Web dependency isn’t independence

In the past, all the tracking was done in the remote repository, you needed to have an internet connection and, of course, to the repository itself. Now you can track everything locally where changes and commits are securely saved on your computer while you enjoy the hills until you return to civilization to deploy

 

Undo mistakes, look like a pro

Let’s face it, we all make mistakes. But don’t worry, in any situation, Git counts with an appropriate command. It doesn’t matter if you need to revert a commit or fix it because you forgot to add a file, you won’t need a new change in your application history.

 

Work in your own style

Git counts with a flexibility other version control systems do not possess, so, obviously, there are plenty of books that provide us with information on the right way to work with Git. However, there are as many books as teams. Every project and every developer has their own developing needs, and this is why Git is popular; it’s very flexible, adaptable, and really fosters team collaboration.

Key Advantages of React Native

Our first Oktana workshop of the year gave us some amazing tools on how to begin our journey through React Native. We’re always looking for new and innovative ways to develop top-notch functionalities and React Native is the next best thing. Similar to our React Native workshop, we will walk you through the four key advantages of this outstanding framework and how it is an awesome tool for developing optimal solutions with JavaScript

Key advantage of react native

But, first things first, what exactly is React Native? React Native is the next generation of React – a JavaScript code library developed by Facebook and Instagram, released in 2013. It enables users to natively develop rendering applications for both Android and iOS operating systems.

Now that we know a little more about the framework, let’s jump into the 4 key advantages of React Native:

 

JavaScript

According to Stack Overflow, more than 55% of developers use this language, so being JavaScript one of the fastest and most -used programming languages, combined with the community usage and the incredible amount of documentation available, make React Native one of the most developer-friendly frameworks out there.

 

Dynamics

One of the most amazing things about React native is how it makes you think of the moments where you want to go from wireframes to something real, tangible. As you gain experience, you will easily start to notice the “general minimal state” which makes your app work, and quickly notice the way it needs to change, dividing them into components, in order to form a more complex functionality. This way, something that seemed like a huge endeavor, you can resolve in no time.

 

It’s all native

We must definitely highlight that React Native’s building blocks are reusable “native components” that enable developers to build more native-like UI/UX apps as opposed to typical hybrid frameworks that can’t be archived. This way, the app will have the speed, look, and functionality of a native mobile app.

 

Longevity

React is fairly new but it is certainly on an incline for demand. It was first released at the Hackathon to address technical issues for the developers’ community. It eventually transitioned into React Native, a framework created specifically for this initiative. Furthermore, React is heavily supported by the social media giant Facebook, which has made a solid investment in developing its technology.

 

In conclusion, React Native provides great functionality for developers and users. It enables developers to easily and quickly build a fast and intuitive mobile app working for both Android and iOS. Functioning on several different operating systems, it pays homage to their motto, “learn once, write anywhere.”