What Matters to Software Engineers and Developers| By |Michelle Nickolaisen

It takes a well-rounded team with different skills and roles to build and grow a successful software product and company, but all too often, we find that our teams or team members are working in silos. And if you don’t fully understand what other are doing (or why), your team can’t work to its full potential.

With my “What Matters” series, we’ll be digging into the various members of your team to help you understand and work better with them all. This week, we’re talking about what matters to software engineers. It’s the software engineer’s job to bring product ideas to life. Depending on the specific engineer and their role, they’re often also responsible for debugging code (and sometimes hardware), helping to set and maintain the systems that keep things up and running, and dive in when bugs appear or sites crash. So, given everything that’s on their plates, what matters to software engineers the most?

Engineers need an interruption-free environment

Whether it comes in the form of an impromptu meeting, a phone call, a Slack message, or a tap on the shoulder, interruptions are the bane of an engineer’s existence. As influential developer and investor Paul Graham puts it in his evergreen Maker’s Schedule, Manager’s Schedule blog post, people who create things “generally prefer to use time in units of half a day at least. You can’t write or program well in units of an hour.”

The engineers I spoke with echoed this, with many saying they wish more managers understood the need for heads-down time.

One engineer here at Clubhouse noted, “One of my biggest struggles is saying, ‘Okay, I need to get some work done now,’ without it coming off as rude.” Another added that he marks off heads-down time on his calendar so he doesn’t get interrupted by other team members.

Jen Hamilton, an iOS developer, agrees. “Having to start and stop throughout the day severely impacts my productivity, as do open offices. It might take me 15 minutes to get far enough into the code to understand how something works, and then I can start working on it. Every time I’m interrupted, it’s another 15 minutes wasted.”

There’s actually science to back this up. Every time you’re interrupted, you switch the task that your brain is focusing on, and the result is a “switching cost.” This is why multitasking is actually not a very productive strategy. Switching costs can lower productivity by up to 40% — so make sure to give your engineers the heads-down time they need to focus!

In short: unless it’s an emergency, engineers would prefer that you schedule a time to meet with them.

If you see them with their headphones on, staring intently at their screen, think twice before you nudge them…even if it’s for lunch or coffee!

Software engineers really do want regular and open communication

Though engineers want to keep distractions to a minimum, they also want to be kept in the loop about what is happening on the team and in the organization.

That way, they have the opportunity to quickly speak up if think an issue might arise or has already arisen.

In order to manage the balance the need for heads down time with the desire for communication, it can be helpful to let your engineers stack meetings back to back (preferably in the morning) , so that there’s less interruptions and they don’t have to figure out how to get back in the flow of work.

Daily standups are great for staying informed, and many engineers also expressed a desire for regular one-on-ones. The privacy of a one-on-one allows developers to get crucial feedback without feeling like they’re being dressed down in front of the entire team.

Software engineers don’t think estimates are budgets

Estimates are a hot topic among engineers (and others!). “Estimates aren’t a budget, they’re an estimate — but when you give a rough timeframe, people tend to think you’re saying it will absolutely be done by the end of that timeframe,” said one engineer. Another noted that they’ve worked with project managers and estimated that something would take 5–10 days, only to see that comment turned into “feature X will definitely be done in 5 days.”

Engineers don’t want estimates to be used as weapon against them. Sometimes things come up that aren’t foreseeable, or the scope gets changed, or a feature gets cut and that changes how other features work together. In any of these instances, estimates might turn out to be off track — but it’s not necessarily the engineer’s fault.

If an engineer tells you they’re running behind (and it’s not because of an error on their end), the best response isn’t getting angry at them for not doing their job but to thank them for the update and update the other people who need to know.

Software engineers need clear, detailed specs

Balancing the right amount of details in a spec doc can be difficult to do, but it can do a lot for relieving engineer frustration. If it’s too broad, your engineers wind up having to make a lot of decisions about how something is implemented as they’re coding.

The end result is that they’re often asked why something works a certain way, and the answer is “that way was the easiest way to get the end result you wanted.”

Engineers can struggle to explain the implementation of a specific feature to someone who doesn’t care about the back-end details, but instead cares about the behavior.

On a similar note, Mel Reams, senior developer at Referral SaaSquatch, says “One thing that I really wish non-developers knew is that ‘Can we do ____?’ isn’t a useful question. Just about anything can be done…but it might take a research team and five years.”

On the other hand, our engineers noted that getting specs from a designer is often much less frustrating — they’re often super specific and note test cases. With these sort of specs, the engineer is presented with a specific problem to solve, and has a much easier time approaching it. If you’re stuck when talking about a specific feature with an engineer, it might be time to pull a designer into the mix and see if they can be a go-between.

Software engineers are wary of trends

Similar to the vague/specific balance that engineers deal with in spec docs, there’s also a trendy/reliable balance that production-grade software needs to achieve. Too often engineers find management coming to them and asking, “Why aren’t we using (insert trendy new tool or language here)?” There’s always a tradeoff that comes with using the cool new thing. It takes time to adopt, and often, it’s not as stable as the old way. Engineers aren’t usually thrilled about doing the new thing for the sake of the new thing. They’d rather fix the existing infrastructure, and explore ways to extend its functionality.

Ruthan Freese, another software engineer, notes that these “let’s incorporate the hot new thing!” whims often happen in the middle of the project — serving as both an interruption and an unclear spec. She says, “Scope creep is my mortal enemy as an engineer, so it’s especially frustrating when there are changes suggested mid-project, that come from internal requests and essentially boil down to, ‘Did we think about doing this new cool thing? We should try it!’”

If there is a good reason behind wanting to try Cool New Tool Y, let your engineers know what it is. When you make it clear what it is you want to accomplish, your engineering team can work with you to explore the different avenues you can take to solve the core problem, instead of simply handing off deliverables that just obscure the problem at hand.

That said, if a new tool isn’t being forced on an engineer and they have freedom and time to experiment, it can be fun and engaging to work with a new technology.

via Technology & Innovation Articles on Business 2 Community http://ift.tt/2p0Psoz

Advertisements

11 Reasons Why Data is King of the Digital Jungle| By |Thea Partridge

We’ve all heard the phrase ‘Content is King’, however this implies that content sits at the top of the digital food chain and I simply don’t believe that to be true. The actual power behind a successful content strategy lies in the data and insights that have been mined prior to the content being created. Sure, it takes time (and considerable thought) to plan the creation of a data-led content strategy, but any king of the jungle will tell you it pays to put in some serious thought before going in for the kill. If you need more rationale about why it’s so important that you place data at the heart of your content strategy, here’s 11 reasons for you to chew through. What’s more, because I’m feeling creative today, I’ve packaged them up into a neat acrostic blog format to make them as digestible as possible.

Discoveries – You may think that you know the type of content your audience want to consume, but usually if you analyse your company and industry data, you will unearth some interesting discoveries that will lead to new and fruitful content ideas.

Accessible – Free tools like Facebook Audience Insights, Google Analytics and Answer the Public mean that there’s a low barrier to entry when looking to obtain data to inform your content strategy.

Tangible – By looking at data that reveals how your current strategy is performing you can create very definite and measurable KPIs for your future objectives.

Action – By obtaining data-led insights you will become empowered to take confident actions towards improving the ROI of your business using content marketing.

Insight – Almost any question can be solved using data, if you know which tool to utilise to answer it. Just be sure to ask meaningful questions in order to obtain insightful answers that can be put to good use.

Success – The key to successful marketing involves asking the right questions, then drilling into data to obtain actionable insights to apply to your strategy. If you are failing to plan this in, then you should plan to fail!

Knowledge – The product of successful data mining is knowledge and we all know knowledge means power, so pop your hard hats on and get data mining.

Information – We live on The Information Highway and it’s growing exponentially bigger day by day with the progression of technological innovations such as the Internet of Things. Avoid getting stuck in traffic en route to your destination by staying focused on the answers you are looking for in all that data.

Necessary – Data supporting your strategy will equip you with the necessary information to justify your content plan to your boss. Your plans, decisions and actions will be supported by facts, not fictional hunches which is a no-brainer.

Give it a go! With all this knowledge under your belt, what’s stopping you from mining data to obtain some fierce insights that put you at the top of the office food chain.

via Technology & Innovation Articles on Business 2 Community http://ift.tt/2pGgaTZ

5 Technology Concepts to Reduce Costs For Your Business| By |Hephzy Asaolu

Technology has brought about several improvements in the business world. It is a concept that has brought great automated solutions. The benefits of technology in business cannot be overemphasized. It increases productivity, speed, ease of sharing and storing information, reduces human error through automation etc.

All these benefits lead to lower cost structure and an increase in revenue for businesses. Fortunately, there are several technological concepts you can implement in your business to reduce cost. Some of them are enumerated below:

  1. Cloud computing

Cloud computing is the storing and accessing data and programs over the internet, instead of your computer’s hard drive. Cloud computing is a very efficient way to lower business cost.

Cloud computer reduces staffing cost. The staffing cost in an organization is usually the highest. This is because IT personnel are expensive. With cloud computing, there is less demand for IT personnel. If the servers and other hardware of the provider need upgrades or repairs, it is their sole responsibility to do it. This removes the cost of repairing or upgrading your servers and hardware.

There is a reduction in hardware cost in using cloud computing. Instead of purchasing your own equipment, which can be very expensive, the provider takes care of that. Cloud computing removes the issue of hardware cost, helping your business grow quickly and easily.

Cloud computing works on a pay-as-you-go pricing model. This saves your company from paying for software that is not used. You can choose to cancel your subscription anytime you want, which lessens the financial risk of software that does not work or fit your business needs.

Examples of cloud computing providers include Google Drive, Apple Icloud, Amazon Cloud drive, Box, Dropbox etc.

  1. Customer relationship management software

Customer relationship management software (CRM) is software that has different applications to help businesses manage clients and contacts, customer data, marketing, contracts, sales, employees, knowledge and training, business information, etc.

It is generally used to manage a business-customer relationship and it can be used by a business of any size.

So, how does it save cost for your business?

CRM software can help your business eliminate misplaced invoices. When you use a CRM system, it will help your business by showing all lost invoices that need to be chased. You will not have any outstanding invoices anymore. This means more money for your business.

It will also help you to do away with many unwanted software programs. This will save you money on different software licenses. Some businesses pay huge sums of money every year to keep up their licenses for various software programs. However, using CRM software that has web based project management features means you will only have to pay for a license in a year. This is a very good way to save money for your business.

Good and efficient CRM software includes Infusionsoft, Oncontact CRM, Salesforce work, Maximizer CRM, etc

  1. Business to business integration

Business to business integration is not a new technological concept. It has been in existence since the 1960’s. It is the integration, automation, and optimization of key business processes that go beyond the four walls of a company.

A good example of this concept is receiving orders from your customers electronically instead of through the mails. It makes it easy for the company to process order information quickly and with accuracy. B2b integrations also connects external suppliers electronically which makes it easy to view global shipments, automate the warehouse or distribution centers, and optimize stock control.

B2b integrations can reduce overhead costs and eliminates human handling, such as sorting and circulation of mails, clerical document preparation, and data entry. When you implement b2b integration, it reduces the cost you spend on paper, envelopes, mailing materials, telephone, and courier services to distribute paper documents.

There are several business to business integrations solutions on the internet. However, you need to ensure that the solution you choose has electronic data exchange, business process management, business activity monitoring, and global partner enablement and management features.

  1. Teleconferencing

Teleconferencing is a communication tool used among many participants in different locations. It is a strategy that is common among businesses with multiple locations and dispersed employees.

There are different types of teleconferencing such as business television conferencing, audio conferencing (conference calling) via telephone lines, audiographic conferencing (desktop computer conferencing) and computer conferencing via telephone lines to connect two or more computers and modems.

The process involves using a telecommunication channel, linking people at different locations, providing two-way communications and allowing users participation.

Teleconferencing increases efficiency and helps to manage business costs. Instead of traveling to different locations for meetings, you can easily use it to communicate to your employees across the world at the same time, without having to leave the office.

With teleconferencing, all you need is to move information and not people. This helps to save costs for travel, meals, and lodging. The employees will still be in their offices and this will speed up product development cycles, improve performance through frequent meetings with timely information.

The good news is that you don’t even have to spend a lot of money to acquire a teleconferencing tool. You can start with free options available on the internet, such as GoogleHangouts, Bigbluebutton, MeetingBurner, Mikogo, Webhuddle etc.

  1. Webinar

Webinar is a short word for web-based seminar. It is a live web-based video conference that connects the host with viewers all over the world via the internet. A webinar can last for an hour or two, just like mini-courses. Anyone connected to the webinar can ask questions and make comments. It is a great way to convert your audience to customers.

Webinars have an incredible conversion rate. According to Adobe, they claim 19% conversion rate in their seminars. While Buzzsumo says that 20% of webinar attendees turn into paid customers. Webinars have a higher value over all other content types on the internet.

Therefore, it has the capability to attract more audience and customers to your business. With webinars, you can connect with a wider audience and raise awareness for your product and services. Instead of you organizing a physical event, paying for a venue and the logistics that goes with it, a webinar can take place right there in your office with the right tools at your disposal.

There are different types of webinars tools like Gotowebinar, Anymeeting, Zoom, Google hangouts, Skype etc.

If you are thinking of ways to save cost for your business, use Cloud computing instead of servers and other equipment in your office. Customer relationship management software will help to do away with unwanted software programs. Business to business integration reduces overhead costs. Teleconferencing helps to manage business costs and Webinar helps to attract potential customers without spending much money. Now, you can choose from any of the above technology and start reducing costs for your business.

via Technology & Innovation Articles on Business 2 Community http://ift.tt/2oRkCwg

Is Cloud Native The Future of App Development?| By |Jamie Madison

The infrastructure we use to host applications has a profound impact on development and business processes. It’s possible — if shortsighted — to think of the cloud as simply another way to deliver the infrastructure we’ve always used. To think like this is to regard a cloud server as equivalent to a dedicated server and a cloud platform as equivalent to traditional server hosting.

But retaining traditional organizational structures, deployment and testing methodologies, and product lifecycles misses the point of the cloud. To get the most from cloud infrastructure, developers, system administrators, and operations professionals must embrace the capabilities specific to cloud platforms.

Some in the industry are referring to this cloud-centered conception of application development and deployment as cloud native. What cloud native means depends on who you ask, but fundamentally it’s a way of accounting for the particular merits and capabilities of cloud platforms and approaching development and deployment with a mindset that moulds processes and workflows to suit the platform.

Leading contenders for “cloud native” development and deployment approaches include the use of containers, microservices, and dynamic resource management.

Containers tie together development and deployment workflows and can have a substantial impact on their efficiency. Containers are self-contained software environments that can be used across the lifecycle of an application. They provide a consistent and easily replicated environment for developer machines, testing and staging servers, and production servers.

Microservices foreground modular application design and work well with container-based workflows. Each microservice encapsulates a small piece of the functionality of a larger application. Microservices communicate via clearly defined interfaces. Providing the interface doesn’t change, the implementation details of each microservice are independent: infrastructure, programming languages, release schedules, and other aspects of development and deployment can be managed on a per microservice basis.

Finally, dynamic resource management takes advantage of a key feature of cloud platforms: the ability to programmatically and instantaneously deploy and scale cloud servers.

Building workflows that leverage these development and deployment technologies has clear advantages when coupled with cloud infrastructure, but it’s important to note they often don’t presuppose cloud infrastructure.

Containers and microservices can be deployed on bare metal hardware without losing any of the purported advantages. While it’s true to say that organizations benefit from a cloud native approach to application development, putting infrastructure choice ahead of the specific needs of the application is overly hasty.

Cloud is just one option among many for infrastructure hosting — and while cloud is a significant improvement in many areas, there are applications and services that work perfectly well, or even better, on bare metal hardware, particularly those where performance is of more importance than rapid scaling.

The takeaway is this: to make the most of the cloud, organizations should rethink development and deployment processes, but before deciding on public cloud, they should consider the relative merits of other infrastructure hosting modalities, including bare metal, private cloud, and hybrid clouds.

via Technology & Innovation Articles on Business 2 Community http://ift.tt/2ooKI94

The Analytics Journey: Competing on Data & Analytics in 2017| By |Roger Nolan

We’re entering an era where organizations are looking to move beyond the traditional data warehouse. But the data warehouse is not going away just yet. Far from it. Data warehouses will remain an indispensable part of the analytics toolbox for a long time to come—but they won’t stand alone.

When I talk to customers, most tell me they’re planning to modernize their analytics in terms of:

  • Augmenting the data warehouse with cloud data warehouses such as Amazon Redshift, Microsoft Azure SQ Data Warehouse, Snowflake and others.
  • Augmenting the data warehouse with data lakes and business self-service.
  • Augmenting the data warehouse with NoSQL, columnar and other types of specialized stores.
  • Upgrading to real time and streaming.
  • Adding predictive analytics, machine learning, deep learning, etc.

These multiple conversations tell me that there’s a trend. But digging a little deeper, I see three really interesting trends.

First, as applications and business processes become more standardized, organizations are embracing the idea that the best source of competitive advantage is in the use of data, internally and externally sourced. This means analytics-driven insights can drive better, faster decisions, and enable better business processes and customer interactions. But the difficult challenge is that IT organizations are being asked to deliver trusted and secure data from a much wider variety of sources much faster than ever before.

Secondly, after years of consolidating enterprise applications into integrated ERP systems, the pendulum is swinging the other way. Now new cloud applications—Salesforce, Marketo, Eloqua, Workday and NetSuite—are breaking up the integrated application stacks and spreading them to the cloud. A primary reason is that these applications are able to evolve and adapt much faster to meet the needs of their business users.

Third, that explosion in new analytics technologies includes the particular growth of cloud and big data for analytics. With all of this, there are tremendous challenges for CIOs, chief data officers, and enterprise architects.

The IT Leader Challenge

Just when the business is requiring that IT deliver trusted data faster than ever, these trends are conspiring to make it that much more difficult for IT. And you have to consider that IT budgets have been pretty much flat worldwide since 2008. Clearly, the only way for IT to keep up is through more standardization and automation of the data management processes—across the entire enterprise-wide data spectrum. The interesting thing is that a TDWI survey has shown that an integrated data integration tool set is the No. 1 desired change among the managers they surveyed.

The Architect challenge

There can’t be much debate about the need for data management standardization and automation within the architect community. The problem is how to accomplish this without slowing down the current business. The standard approach is to start small, show value, expand gradually. This can work if you are building toward a clearly defined future-state architecture. Otherwise, you could produce a series of one-offs that not only fail to advance the architecture, but ultimately hobble it.

The Chief Data Officer Challenge

The role of the CDO is to drive the use of data and analytics to provide a competitive advantage for the organization—and increase revenue and profit (IDC pegs the value of productivity gained by using all data in analytics by 2020 at $430 billion[1]). The CDO will be critical to the success of the organization specifically as the person who sets the priorities. Not all data can or should be managed. Not all business initiatives are the top priority. It is important for the CDO to set priorities on the business initiatives, and then to make sure the owners of each business strategy also own the data that will drive their success.

Everybody’s Challenge: Our reach exceeds our grasp

The challenge for everybody is that while BI/Analytics remains the No. 1 spending priority for CIOs for the fifth straight year, a recent McKinsey and Co. study found that 86 percent of companies surveyed say that they are at best only somewhat effective at meeting the goals of their data and analytics initiatives. The CDOs, architects, and IT managers need to collaborate to deliver on the business potential of all the data every organization is literally swimming in.

via Technology & Innovation Articles on Business 2 Community http://ift.tt/2oX8YSK

Why Social Business Intelligence Has Become so Important for Enterprises| By |Abhishek Budholiya

Social business intelligence is a new age technology that allows data sharing in a systematic and efficient manner. Some of the social business intelligence tools are specifically designed to analyse, assess and create business reports on the basis of real-time end use cloud computing data. Such business reports help companies in understanding customer behaviour and expectations. In general, using social business intelligence, product managers can typically obtain a calculated market data through various social media analytics. Per the latest data released by Future Market Insights (FMI), the global market for social business intelligence is expected to reach a valuation of around US$ 29 Billion over 2026.

Modern businesses are rapidly adopting latest analytical data generation technologies and management systems to stay at par in the market. Which is why the application of social business analysis tools is likely to increase in the near future. Meanwhile, the robust popularity of social media worldwide is necessitating more efficient business management systems capable of handling big data. At present, a majority of enterprises require big data management solutions to store and archive bulks of unsegregated data. Therefore, developers are actively focusing on introducing systems that are capable of managing big data and massive amounts of unstructured data generated from social media, enterprise IT systems and CRM conversations. Further, such big data management systems help users to store, analyse and efficiently manage data coming from multiple sources. In 2014, oracle introduced a business intelligence cloud service that can assists organisations in making speedy and more calculative decisions by lowering barriers. Moreover, such solutions are cost-effective, user-friendly and enable comprehensive information access.

On the flipside, security remains a major concern for developers. Susceptibility to cyber threats is limiting the use of social business intelligence solution and services. Increasing occurrence of cyber hacks and illegal security impeachments continue to deter the overall growth of the social business intelligence market. Nevertheless, arrival advanced cloud-based social business analytic tools is facilitating enterprises in shifting their workloads from on-premise to cloud systems.

In the forthcoming years, analytic frameworks such as the MapReduce is anticipated to turn open-source software framework systems into general-purpose data management systems. These systems are already being used in the processing of big data and distributed storage. For instance, Hadoop a popular open-source software framework systems have the capabilities of handling various types of workloads including graph and numeric data structure. It is likely that increasing adoption of such open-source software framework systems will benefit the social business intelligence market in the long run.

FMI’s report on the global social business intelligence reveals that the BSFI sector will have extensive applications of business intelligence tools over the next couple of years. Meanwhile, the IT and telecommunication sector is expected to account for around US$ 3 Billion of the overall market value in 2017. Amongst regions, North America will remain as a key market for social business intelligence. Growing popularity of wearable devices that allow monitoring of various bodily data and assist people in marinating healthier lifestyle in the US and Canada is projected to further expand the application base of social business intelligence services in the region.

via Technology & Innovation Articles on Business 2 Community http://ift.tt/2oMVB7p