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
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…
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…
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!
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…
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…
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!
*The channels above are announcements-only as of April 13th, 2018.