Expert advice: Tips to help developers cope
|Richard Harris in Android Tuesday, February 20, 2018|
Advice to help mobile app developers get through the daily grind of writing code, and changing with the paces.
ADM: What are some of the daily obstacles developers face?
Hughes: Meetings that disrupt problem solving and the flow of code development.
Arduous technical implementation documentation that is outdated and hard to work with.
Constant pressure from sprint deadlines, with a growing backlog of technical debt caused by systemic failures in how complex projects are planned and managed.
Managing, integrating, and analyzing Hybrid Data across platforms, applications, and protocols. Interconnected things, distributed data management and analytics, and integrations with third party systems, all drive significant complexity into a day in the life of a Developer.
ADM: Some developers are from small teams and wear many hats. How should they manage all of the tech that exposes them to?
Hughes: Communication is the most important tool in any sized team in any organization.
Wikis and forum-style chat communication tools make it easy to post questions, start discussions, share updates, establish best-practices, document lessons learned, and crowd-source inputs from the rest of the team.
Well-documented code helps others understand the rationale behind an implementation, and makes it easier to support and maintain code over the years.
ADM: What is the best approach developers should consider when picking languages to use?
Hughes: Avoid the temptation of trying to show off by picking a language that is all of a sudden en vogue in the Valley. Rather evaluate the language to understand fit for purpose, ease of use, knowhow in the broader team, and supportability in the long term.
ADM: Is it better to be committed to one language, or many languages at one time, and how do you know when it’s right to shift?
Hughes: The goal should be to write beautiful code that anyone can understand, and build apps that won’t come back to haunt you in 6 months as a Frankenstein creation.
Consistency and discipline to maintain good coding practice is important, and the perceived benefits of shifting to another language should be carefully evaluated.
It is sometimes right to shift when the other language is likely to accelerate development without sacrificing performance and backwards compatibility, but there is no simple rule to follow.
ADM: What are some good tools that can make the life of a developer easier?
Hughes: Package Managers make it easy to share and consume embedded software libraries, and to manage dependencies. Popular ones include PyPI for Python, CocoaPods for Objective-C, NPM for Node.JS, and Maven for Java. There’s pretty much a Package Manager for every mainstream programming language, each with tens of thousands of handy software packages to accelerate development.
Publicly available simulated-data-generators and scripts make it easier to evaluate Big Data Analytics Database performance at scale. An example are the Vector-TPC-DS-Scripts, that simulate the kind of testing that is carried out in the TPC-DS (Decision Support) performance benchmarks of various Analytics databases. Seeing is believing for developers, and most will tune out the noise of the marketplace. The numbers will always speak for themselves.
Are you paying more taxes than you have to as a developer or freelancer? The IRS is certainly not going to tell you about a deduction you failed to take, and your accountant is not likely to take the time to ask you about every deduction you’re entitled to. As former IRS Commissioner Mark Everson admitted, “If you don’t claim it, you don’t get it.
Get hands-on experience in performing simple to complex mobile forensics techniques Retrieve and analyze data stored not only on mobile devices but also through the cloud and other connected mediums A practical guide to leveraging the power of mobile forensics on popular mobile platforms with lots of tips, tricks, and caveats.
Write and run code every step of the way, using Android Studio to create apps that integrate with other apps, download and display pictures from the web, play sounds, and more. Each chapter and app has been designed and tested to provide the knowledge and experience you need to get started in Android development.