While joining a new company is always an endeavour, R3 does a good job of getting you set up on your first day with a desk, laptop, and a long list of reading materials and meeting invites. After that you’ll find yourself with a lot of freedom on your hands, so the order in which you tick the week 1 checkboxes off is up to you. As part of onboarding you’ll be spending about a day (maybe two if you have a few meets and greets to attend) on Lessonly, learning the principles and concepts that govern Corda. Grab some headphones if you like watching videos, otherwise be prepared for some reading.
As well as meeting the people on your team, your manager will set up 1:1s with various senior people in the organization. I had the pleasure of talking with Richard Brown, our CTO, Mike Hearn, our Lead Engineer and Dave Hudson, our Head of Engineering. They were all interesting and driven people that are keen on taking in the perspective that a new joiner has to offer and to make sure that they have everything they need to succeed here at R3. But that doesn’t mean that those are the only senior figures you will encounter in the office. On your trips to the coffee machine even meeting David Rutter, R3’s CEO, is not out of the question, and he’s happy to chat with you and find out how you’re settling in.
As an engineer, part of my induction was to build my own CorDapp for a use case of my choice, because of my financial background, I chose to make a credit default swap contract. R3 run occasional internal workshops on how to build CorDapps, but if you don’t do it in your first week don’t worry too much about it. The developer relations and solutions engineers teams are great for giving guidance to new starters on building your first CorDapp.
As you learn more, you’ll spend time building that neat CorDapp you came up with. At this point you can either choose to build a vanilla CorDapp, or if your use case is a bit more complex, use something like the Token SDK to aid in your development. Once you’re happy with the results, you’re done with development. Or so you’ll think.
Next up will be deploying your CorDapp to a real network. To do that you will require access to the CENM (Corda Enterprise Network Manager.) From there you’ll need a suite of tools for building and running a production-grade Corda Network: the PKI tool, network manager, and the identity manager.
There are a few common pitfalls when deploying a CorDapp to a production network, of which I may have hit one or two:
1) When running the PKI tool, make sure to include the two BCP jars as those are the bouncy castle dependencies that you might be missing.
2) Make sure to change the SSH port in the node configuration, as running a node on the network is a bit different than running it locally. When running locally you will have the command line available in each nodes terminal but when running on the network you will have to SSH into the node. This tends to be a problem if you run the network on localhost and not in a container or on the cloud.
3) If you’re running extra dependencies with your CorDapp, make a note of the minimum versions required. Those versions must be enforced in the network parameters file. While the file can be updated, it’s easier to get it right the first time.
4) Since you’re building a production network, you’ll have to sign the CorDapp jars with the root-keys file generated by the PKI tool. You can do that by using the jarsigner that comes with the JDK. You just have to make sure to add the java bin folder to the path in order to use it from the command line as follows:
jarsigner -keystore your-key-folder/corda-root-keys.jks — storepass example-password contracts-0.1.jar cordarootca
That’s kind of it in terms of your first 3 weeks to a month at R3. If you ever have questions don’t hesitate to ask: your buddy, your manager, or whoever looks approachable. If it’s not the right person, they’ll let you know who to talk to.
Oh, and I haven’t mentioned office amenities; free snacks and drinks (even alcohol!) Every Friday at 5, BaR3 opens for business and everyone in the office who wants to can hang out over a beer, soft drink, prosecco, etc. in the kitchen. We also run weekly Tech talks at 4 on Fridays. These are open to anyone with something interesting they want to share, be it an experience they had or an interest they hold.
With some luck this post gave you the final push you needed in your decision to join us, or if you’re already here, help you through being the new kid on the block(chain). After that pun, I’ll show myself out.