Tips & Tricks to Coding Like a Pro

Introduction

Those who are in the development community would agree that becoming a Software Developer is no simple task. It starts with learning the basic fundamentals of Computer Science and building strong foundational knowledge of the various coding languages. Then, once you have the basis covered it’s up to you on how to build from point A to point B.

Here at Mercury Protocol, we have a diverse group of engineers that bring many different perspectives to the table. Instead of standardizing their workflows we encourage our team members to practice their trade in their own fashion.

This post provides insight on our Dev Team’s favorite technologies to use for Software Development.

Rohit’s Favorite Dev Tool

WebStorm — used for modern JavaScript and Node.js development. Rohit likes how when you add dependencies it auto completes the name and version (package naming). WebStorm also has as terminal built in so you can run commands directly on it. This tool also allows you to run multiple build flavors (dev vs. prod) so you can test all environments. Lastly, the integrations are really cool!

ProTip: check out the Markdown integration for documenting. It has a great preview mode for markdown language.

Rohit’s Words of Wisdom

1) Anything of repetition should be automated.
2) Always consider single responsibility principle — do one thing and do it right.
3) Try denormalization by adding redundant copies of data or by grouping data, rather than single source of truth (SSOT).

How does Rohit prepare for a coding marathon? His recipe…

  • good tunes — Pandora radio (progressive rock)
  • full bottle of water (no cups!)
  • quick decision making while coding: “how would I like to use this?”
  • take short breaks when stuck then revisit the problem
  • try to apply grammar to code: Verb = behavior things, Adjective = properties, Noun = elements/class

Alex’s Favorite Dev Tool

Git — built by Linus Torvalds (creator of Linux kernel). Aside from being his hero, Alex uses Git all day, everyday to keep track of his coding changes. Git is Alex’s favorite Software Configuration Management (SCM) tool that helps him manage merge conflicts and code changes.

For context, another (lesser) example of an SCM tool is Concurrent Versions System (CVS), or slightly better is Apache Subversion (SVN). But if you ask Alex, Linus created the best SCM tool out there. Not only is Git the most robust version but it’s $FREE.99! ProTip: it’s simple to use and makes branching much easier while forcing good behavior.

“[Git] Clearly written by someone who actually codes stuff. Without it I would lose track of all my work.” — Alex Moir

How does Alex prepare for a coding marathon? His recipe…

  • a clear mind
  • good night’s sleep
  • caffeine (coffee, Red Bull, Pepsi)
  • headphones with classical music for deep concentration — Chopin

Evan’s Favorite Dev Tool

Cypress — is his new best friend. Evan says it makes running tests really nice with a great User Interface (UI) for running and recording tests for web applications. In addition to being the easiest end-to-end testing tool to integrate, it also happens to work really well with React.

React allows us to develop all of our web applications in a very modular way. While Cypress helps Evan implement end-to-end testing to ensure that our users can rely on our applications’ availability and performance.

ProTip: you can debug your Cypress tests in the Chrome DevTools as they execute

How does Evan prepare for a coding marathon? His recipe…


Sameer’s Favorite Dev Tool

Xcode — an integrated dev environment for macOS, developed by Apple. Sameer likes it because it has superior code completion (hints are a plus). Additionally, Xcode is tightly integrated with the iOS ecosystem so it makes iOS development seamless. Although, he does admit that sometimes autocomplete stops working so the ProTip here is to clean project and restart Xcode and it should be good as new!

How does Sameer prepare for a coding marathon? His recipe…

  • good rock music — ACDC, Iron Maiden, Metallica, Linkin Park
  • professional keyboard — Razer Blackwidow Chroma
  • solid gaming headset and mouse — SteelSeries Sensei
  • Red Bull chilled to a crisp (recovering Grande Mocha Frap addict)

Brant’s Favorite Dev Tool

Android Studio — software designed specifically for Android development. Brant uses it frequently for creating Android UI and functionality. More specifically, used for analyzing APK to check the method count, build size, and libraries that are used in his code. Brant also uses it as a debugger to set breakpoints and evaluate the code during run time.

In addition, Android Studio has some cool plugins like, Android Resource Usage. Brant keeps this tool handy to track resources (strings, colors, attributes) used in the code. You can easily identify what to get rid of and what to keep!

ProTip: use the terminal in Android Studio because you’re already in the project directory so you can avoid looking up your project directory each time you need to use Git.

How does Brant prepare for a coding marathon? His recipe…

  • start with a full stomach and empty bladder to avoid distractions
  • devise a plan of attack — R&D, mental mapping, short walks
  • dual monitors and headphones help stay plugged in (PUN intended)
  • tall glass of water with a Celsius on deck

Vlad’s Favorite Dev Tool

IntelliJ IDEA — is a modern Java integrated dev environment that Vlad uses to write and run product tests. It provides Vlad detailed test results and he recommends it for beginners who are running mobile automation tests, because it lets you connect with simple app emulators. Obviously, you need to have an emulator and real devices to run tests, for that, Vlad uses Genymotion.

Vlad also uses IntelliJ IDEA in tandem with Appium to help find xpaths, or in layman’s terms the location of application elements.

ProTip: when running a test script in Intellij, the Genymotion emulator is integrated to give you real-time feedback on your tests.

How does Vlad prepare for a coding marathon? His recipe…

  • HOT cup of Joe in the morning and Celsius after lunch
  • some good Russian R&B music — Basta
  • at least 4 android devices & 4 iOS devices (variety of models and operating systems)
  • most importantly a desk mount to record videos while replicating bugs

Sri’s Favorite Dev Tools

AWS services like Kinesis, Elasticsearch, and Datadog. With Kinesis, it’s easy to stream the log events to the cloud seamlessly. You can also do real-time analytics on the streaming data. Elasticsearch makes it simple to get your data from different environments like Production and Development servers.

Sri adds, “ If you use Data Dog wisely you can have micro-insights of your application, such as: tracing, system performance metrics, and health of the hosts.”

ProTip: try out the integrations Datadog offers (APM) .

How does Sri prepare for a coding marathon? His recipe…

  • copious amounts of coffee and water (memory)
  • tasty snacks — preferably Indian delights
  • orthopedic chair paired with a high resolution monitor
  • strong keystrokes with slight rhythm to it

Conclusion

Aside from the being hyped on caffeine and tunes, it helps to know what tools are good for which purpose. Many developers follow their own methodologies but they’re all using similar tools to get there. We hope this article helps you navigate through your development career and also challenges you to learn more and try new methods of development. When it comes to tech, there’s always something new on the horizon but that doesn’t mean you couldn’t be better prepared, today.

Let us know what your favorite dev tools are in the comments below!

Stay Connected

Slack 
Telegram 
Twitter 
Reddit 
Facebook
LinkedIn 
GitHub

*The channels above are announcements-only as of April 13th, 2018.

Learn more about the Mercury Protocol
Read the Mercury Protocol whitepaper
Follow +mercuryprotocol on Dust
Sign up for our newsletter