Rachel Hornay – BMC Software | Blogs https://s7280.pcdn.co Fri, 21 Oct 2022 15:34:09 +0000 en-US hourly 1 https://s7280.pcdn.co/wp-content/uploads/2016/04/bmc_favicon-300x300-36x36.png Rachel Hornay – BMC Software | Blogs https://s7280.pcdn.co 32 32 PMP & Other Project Management Certifications https://s7280.pcdn.co/pmp-project-management-professional/ Fri, 18 Jun 2021 10:43:49 +0000 https://www.bmc.com/blogs/?p=49921 Project management is a fast-growing and increasingly desirable profession. With many companies managing a variety of cross-team projects, project managers are crucial to business agility. With the competitive nature of most industries, staying up to date on your skills is a smart move for any professional. Project managers can earn a project management certification. Like […]]]>

Project management is a fast-growing and increasingly desirable profession. With many companies managing a variety of cross-team projects, project managers are crucial to business agility.

With the competitive nature of most industries, staying up to date on your skills is a smart move for any professional. Project managers can earn a project management certification. Like many IT certifications, earning a project management certification can provide you with:

  • Increased authority
  • Improvement in your abilities
  • An opportunity for a higher salary

The Project Management Professional (PMP)®certification is the most prestigious project management certification, but there are others to consider as well.

Let’s take a look.

What is the PMP certification?

Course duration: 3 years
Cost: $400-555

The Project Management Professional (PMP) certification is a professional designation that project managers can earn with their professional experience.

The PMP certification is the most well-known project management certification. The PMP certification is owned, accredited, and operated by the Project Management Institute (PMI). PMI works constantly work to introduce new developments within the course contents to keep it up-to-date and aligned with the ever-changing requirements of the project management industry.

The purpose of the certification is to establish a standard of project management spanning different industries worldwide. Obtaining a PMP certificate is one of several ways you can prove your strong ability and dedication to a potential or current employer.

Earning a PMP

There are several requirements that you must meet before applying for a PMP certification. Once your application has been accepted and approved, you must pass a lengthy and comprehensive exam.

  • 3 years minimum experience in the project management field
  • 5 years (or an equivalent 7,500 hours) of experience as someone who directed projects in PM-related areas
  • Additional 35+ hours of project management education and a qualified person certification

(Learn about project portfolio management, a related discipline.)

What is the value of a PMP certification?

Though the requirements for earning a PMP are hefty, the salaries that come with it are worthwhile.

According to the annual PMI Project Management Salary Survey and PayScale, professionals with a PMP certification earn an average salary of more than $100,000 per year. Earning your PMP certification credential has tremendous value for you, your career, and your employer.

(Explore other top paying IT certifications.)

Enhance your skills

Suppose you’re looking to shift into a new position entirely or move up the ladder in your company. Starting with a certification that develops your skills is a significant first step.

Obtaining a PMP certification allows you to gain the valuable skills needed to meet your career goals. This credential can be an instant advantage, and the skills can immediately apply the knowledge on the job.

Increase your value, increase your worth

A PMP certification is an excellent way to stand out to your employer and prove that you are highly experienced and dedicated to your profession. After all, PMPs are in high demand with all their knowledge and hands-on experience.

Many large companies will require a PMP certification when hiring a new project manager to their team—especially for business-critical projects. If you’re looking to achieve the best positions in your industry with tangible qualifications, a PMP certification can help you get there.

Stand out from the competition

Continued education is valuable in any industry, but it’s especially vital in a field that has become increasingly competitive. PMP certifications can help you enhance your skills and stay relevant in your specialized profession.

As mentioned before, some businesses require a PMP certification for a role. That means if you are not investing in a PMP certification for yourself, employers can pass your resume over compared to others seeking the same role.

Top Project Management Certifications

Are there other project management certifications?

While a PMP certification is not mandatory to work in the project management field, it is a widely recognized designation that improves credibility and enhances any resume.

But it’s not the only one!

There are many project management certifications to consider with different costs, course durations, and requirements for each certification. Below is a list of other project management certifications to consider.

EC-Counsel: Certified Project Management

Course duration: 3 days
Cost: $199 per exam/attempt

EC-Counsel developed this certification as a benchmark for those who had a knack for managing recovery operations. Individuals with this certification are expected to take on several projects related to:

  • Infrastructure development
  • Managerial obstacles
  • Leadership hurdles

Although this certification is not a high-tier degree, it does serve to work as a solid foundation for anyone looking to get into an occupation that requires hands-on experience.

No prerequisites.

IAPM: Certified Project Manager (CPM)

Cost: $630-$800

The International Association of Project Managers (IAPM) developed this certification when the September 11 terrorist attacks rocked the United States in 2001. At that time, the presiding government body of introduced the Certified Project Manager course because of the unpredictable nature of the disaster at hand.

In the 20 years since, this certification has become globally recognized by project management training institutes.

No prerequisites.

American Academy of Project Management (AAPM): Master Project Manager (MPM)

Cost: $300

This certification is modeled for professionals who aim for greater productivity at their workplace.

The MPM certification helps you earn additional points for IT professionals within the project management field of their businesses. It provides a simple and effective training environment for professionals with a technical background and teaching management skills associated with engineering.

Requirements:

  • Three years of training and project management experience make applicants eligible for waivers who hold a master’s degree with relevant job experience
  • Graduates with less than three years of project management experience are also eligible to appear for this certification

Harvard Extension School: Project Management Certificate (PMC)

Course duration: 1.5 years
Cost: $12,000 (average $2,900 course tuition)

This online certification gives students the technical and business management skills to initiate, plan, execute, monitor, and close projects.

This certification leads to a broader understanding of the project management life cycle. Upon completion, you’ll:

  • Fully understand the shifts in management practices over time
  • Be able to apply tactful knowledge of project management impacts strategy and business success

No prerequisites or application process required.

Project management is for every industry

Project management skills are applicable in almost any company setting and can be a great way to leverage your value to an organization. If you meet the requirements for a PMP certification, consider obtaining the PMP to validate your skills and stay competitive in the growing field.

Of course, if you are short on the experience necessary for a PMP, other certifications can help you get there.

Related reading

]]>
Serverless Best Practices https://www.bmc.com/blogs/serverless-best-practices/ Mon, 12 Apr 2021 14:06:12 +0000 https://www.bmc.com/blogs/?p=49298 The oldest deployment framework around today for serverless applications is known as the Serverless Framework. This deployment framework has its own set of best practices for securing your serverless deployment. This article will review the Serverless Framework and outline the best practices for developing and deploying serverless apps. Developing serverless apps Serverless computing is a […]]]>

The oldest deployment framework around today for serverless applications is known as the Serverless Framework. This deployment framework has its own set of best practices for securing your serverless deployment.

This article will review the Serverless Framework and outline the best practices for developing and deploying serverless apps.

Developing serverless apps

Serverless computing is a way for developers to build apps without the headache of managing infrastructure. More specially, it enables them to write in serverless code without having to:

  • Provision a server
  • Ensure its functionality
  • Create test environments on a server
  • Maintain server uptime

This frees up teams and resources to focus their attention on accelerating innovation in today’s competitive digital economy.

What’s the Serverless Framework?

One particular framework is known as the Serverless Framework. This open-source framework is free, of course, and written using Node.js. Serverless is the first framework developed for building applications on AWS Lambda, a serverless computing platform that’s part of the Amazon Web Services suite.

A couple of lambda functions can accomplish some simple tasks through a serverless app or an entire back-end composed of hundreds of lambda functions. Serverless supports all runtimes offered within your chosen cloud provider.

Keep in mind the best practices explained below are not the only practices. These practices all rely on a set of underlying assumptions. We’ll talk specifically about Lambda, simply because it’s so popular. But remember that Lambda isn’t the only serverless option.

Serverless best practices

When working with the Serverless Framework, here are the top best practices worth adopting to ensure your applications are secure and robust.

Start locally

When your Lambda starts to get complicated, app developers find themselves making numerous tweaks to configurations and functions code. Each change leads to waiting for the code to deploy and the rest of the stack to go live.

To save yourself time, start locally.

Instead of operating your dev cycle as “save, open the console, deploy, wait, refresh, wait, refresh,” shift the cycle to “save, build, refresh.” The AWS Serverless Application Model directs line interface can replicate lambdas and API endpoints and several sources—all in a local Docker container.

Use 1 function per route

When using HTTP, it is a best practice to avoid single function proxy. Why? This method does not:

  • Scale well
  • Isolate issues

If the function of a series of routes ties strictly to a single table, it is decoupled from the application. This best practice may add a level of complexity for management, but it helps isolate errors and issues when scaling your app.

Don’t rewrite your code

JavaScript is the higher-order language in a Serverless Framework. When writing JavaScript code, it will be interpreted and executed in the most performative way possible.

Rewriting code is not the way to solve a performance problem. Instead, there are many ways to improve your program:

  • Combining multiple requests to other services
  • Stopping loops when you have enough matches
  • Returning helpful error information

Manage code, not configurations

The Serverless Framework lets you pass a dedicated deployer role to AWS CloudFormation to run deployments with the architecture. CloudFormation deployment role is the AWS path out of ‘config that is only stored in the UI’ their Serverless Application Model lets you create YAML that defines your stack in a file you can use to track changes.

You can use a different role for each project or team and apply the least privilege principle to the deployment pipeline.

Perform load testing

Load testing your lambda functions will help determine the amount of memory to allocate and the optimum timeout value.

There may be complex applications in a serverless environment, and you may not be aware of dependencies within your applications that could not perform a function on a large scale. Load testing allows you to catch potential issues that may be vital to maintaining a highly available application.

Deploy API gateways for security

Security should be a top priority for your applications, whether for a traditional architecture or serverless.

Implementing an API gateway as the event source for your lambda function is vital. It would be best if you secured API Gateway endpoints. This API Gateway provides several options for securing your API.

Serverless supports agile software design

Developing applications with a Serverless Framework is the modern approach to application development. There are other best practices to explain when using a Serverless Framework, and over time, you will find what practices best serve you and your project goals.

As your project progresses, your users can tell you what needs to be improved.

Related reading

]]>
6 Benefits of Deployment Automation https://www.bmc.com/blogs/deployment-automation-benefits/ Wed, 24 Feb 2021 15:27:57 +0000 https://www.bmc.com/blogs/?p=20287 Automation processes have become popular among many IT organizations, but many more businesses have yet to adopt application deployment automation. In this article, we cover the basics of understanding deployment automation and outline the top benefits of embracing deployment automation for your company. By the end, you’ll see exactly why automation is essential for any […]]]>

Automation processes have become popular among many IT organizations, but many more businesses have yet to adopt application deployment automation.

In this article, we cover the basics of understanding deployment automation and outline the top benefits of embracing deployment automation for your company. By the end, you’ll see exactly why automation is essential for any dev team in any business.

What is deployment automation?

Deployment automation is the use of automated processes to move your software between testing and production environments. This process is both reliable and repeatable across the software delivery lifecycle (SDLC).

The DORA State of DevOps research program, a Google-affiliated, academically rigorous investigation into the practices that drive high performance, first discovered this automation ability. Since the discovery, many deployment automation tools have been developed to drive higher software delivery and organizational performance.

Remember that deploying and releasing software aren’t the same thing, but they’re closely related. The biggest difference is the business rationale:

  • Deploying software means you might only be pushing it to a controlled environment, for testing usually.
  • Releasing software means you’re making it accessible to customers.

Better deployment processes, as we’ll see below, often means better releases, too. Deployment automation is particularly relevant for any organization wanting to:

  • Minimize or eliminate the challenges of manual deployments
  • Leverage the pace and quality of releasing software

Some of the best deployment automation tools available include:

There are many deployment automation tools out there, and the benefits for an organization can vary based on your business’s goals.

top deployment automation benefits

Deployment automation benefits

The value of deployment automation for any business is exponential, but these are some critical benefits that deployment automation can bring to your business or organization:

  • Anyone can deploy
  • Faster, more efficient deployment
  • Increased productivity
  • Fewer errors
  • More frequent releases
  • Immediate feedback

Let’s look at each in some detail.

Anyone can deploy

A great benefit for any business: anyone on the team can deploy the software. Understanding how to deploy or release your software doesn’t take massive brainpower—but it can be a completed process in the system.

Typically, a small subset of people on a team are responsible for manual or partially automated deployments, no matter how often you need to deploy. This specific duty often falls to a single person in a given project team.

If that individual is off, ill, or in any way unavailable at short notice, the release of software can become a nightmare—you’re now delayed and pushing on all sorts of other deadlines.

Deployment automation can be completed by anyone who has access and can initiate the release. This is a redundancy that any DevOps team requires.

Faster and more efficient

Deployment automation increases productivity for a business. Automated software deployments are performed in seconds, and validation can be unattended—reducing deployment from a manual half-day process to a task that you barely have to think about.

Increased productivity, focus on service offerings

With manual processes replaced by automation, you’ve now freed up your dev team to focus on the business goals of improving or expanding service offerings. This freed time means your team can be more visibly productive.

Minimal errors

Deployments that are automated are much less error-prone compared to manual deployments.

Unfortunately, manual deployments involve multiple steps and can lead to human error. Essential steps in a software release can be accidentally missed, issued during a release may not be spotted, the incorrect versions of software can be shipped, or broken software ends accidentally go live.

Consider the errors that could happen at each phase of deployment:

software deployment activities

Quick thinking and luck can minimize mistakes sometimes, but any deployment error could quickly escalate into a business issue. That’s a risk most IT orgs can’t take.

Once you’ve correctly configured your deployment automation, the process is set and will work the same way you deploy your software from the first to the last.

Release at high frequencies

Deployment automation performing a single software deployment has low overhead and can be repeated frequently—as frequently as you need. Weekly, daily, even hourly!

This frequency level is desirable for many reasons, but overall a higher frequency promotes genuinely agile software development. When your team can release a higher frequency, this brings value to the users more often and in incremental steps.

Companies that excel at software development, like Netflix and Adobe, tend to release very often. This means they can both:

  • Reduce time that deployed errors are bugs are live
  • Continuously release updates and service improvements

(Learn where continuous delivery fits in the CI/CD cycle.)

Immediate feedback

Because deployment automation is less error-prone and can be released at a higher frequency, you get your feedback sooner—even immediately.

Your business can collect valuable consumer feedback and integrate them into future releases for improved performance and productivity at a higher rate. This feedback is vital; it’s often the difference between a product delighting its target audience or missing them entirely.

Deployment automation makes business sense

Deployment automation lets you release new features and applications more quickly and frequently while removing the need for human intervention in application deployments. If your business is ready to upgrade your software deployment systems, deployment automation offers many benefits to grow your overall efficiency.

Related reading

]]>
Data Analytics vs Data Analysis: What’s The Difference? https://www.bmc.com/blogs/data-analytics-vs-data-analysis/ Fri, 08 Jan 2021 13:20:39 +0000 https://www.bmc.com/blogs/?p=19892 Data analysis, data analytics. Two terms for the same concept? Or different, but related, terms? It’s a common misconception that data analysis and data analytics are the same thing. The generally accepted distinction is: Data analytics is the broad field of using data and tools to make business decisions. Data analysis, a subset of data […]]]>

Data analysis, data analytics. Two terms for the same concept? Or different, but related, terms?

It’s a common misconception that data analysis and data analytics are the same thing. The generally accepted distinction is:

  • Data analytics is the broad field of using data and tools to make business decisions.
  • Data analysis, a subset of data analytics, refers to specific actions.

To explain this confusion—and attempt to clear it up—we’ll look at both terms, examples, and tools.

data analytics

What is data analytics?

Data analytics is a broad term that defines the concept and practice (or, perhaps science and art) of all activities related to data. The primary goal is for data experts, including data scientists, engineers, and analysts, to make it easy for the rest of the business to access and understand these findings.

Data that sits raw, as-is, has no value. Instead, it’s what you do with that data that provides value. Data analytics includes all the steps you take, both human- and machine-enabled, to discover, interpret, visualize, and tell the story of patterns in your data in order to drive business strategy and outcomes.

A successful data analytics practice can—should—provide a better strategy for where your business can go. When done well, data analytics can help you:

  • Find trends
  • Uncover opportunities
  • Predict actions, triggers, or events
  • Make decisions

Like any true practice, data analytics is systematic, consisting of many computational and management steps. Experts stress the word “systematic”. Being systematic is vital because data analytics uses many different activities and draws on all types and sizes of data sources.

Many subject areas comprise data analytics, including data science, machine learning, and applied statistics. One tangible result of a data analytics practice is likely well-planned reports that use data visualization to tell the story of the most salient points so that the rest of the business—who aren’t data experts—can understand, develop, and adapt their strategies.

Think of the many ways data analytics can highlight areas of opportunity for your business:

  • Using facts, not guesses, to understand how your customers engage might mean you change your sales or marketing processes. A bakery might use its data to realize its demand for bread bowls increases in the winter—which means you don’t need to discount the prices when demand is high.
  • An increase in cyberattacks might mean you need to take proactive preventative measures.
  • Data from a variety of IoT devices in a certain environment, such as your server room, a power station, or a warehouse, could indicate whether you’re providing the safety and reliability you need at the lowest cost possible.

Processes in data analytics

The data analytics practice encompasses many separate processes, which can comprise a data pipeline:

data pipeline

What is data analysis?

Consider data analysis one slice of the data analytics pie. Data analysis consists of cleaning, transforming, modeling, and questioning data to find useful information. (It’s generally agreed that other slices are other activities, from collection to storage to visualization.)

The act of data analysis is usually limited to a single, already prepared dataset. You’ll inspect, arrange, and question the data. Today, in the 2020s, a software or “machine” usually does a first round of analysis, often directly in one of your databases or tools. But this is augmented by a human who investigates and interrogates the data with more context.

When you’re done analyzing a dataset, you’ll turn to other data analytics activities to:

  • Give others access to the data
  • Present the data (ideally with data visualization or storytelling)
  • Suggest actions to take based on the data

A vital point of data analysis is that the analysis already captures data, meaning data from the past.

Type of data analysis

There are many types of data analysis techniques. Here are the most well-known:

  • Text analysis. This is also referred to as Data Mining. This method discovers a pattern in large form data sets using databases or other data mining tools.
  • Statistical analysis. This analysis answers “What happened?” by utilizing past data in dashboard form. Statistic analysis involves the collection, analysis, interpretation, presentation, and modeling of data.
  • Diagnostic analysis. This analysis answers “Why did it happen?” by seeking the cause from the insights discovered during statistical analysis. This type of analysis is beneficial for identifying behavior patterns of data.
  • Predictive analysis. This analysis suggests what is likely to happen by utilizing previous data. The predictive analysis makes predictions about future outcomes based on the data.
  • Prescriptive analysis. This type of analysis combines the insights from text, statistical, diagnostic, and predictive analysis to determine the action(s) to take in order to solve a current problem or influence a decision.

Combine these different methods depending on the business need and decision-making process. Pieter Van Iperen, Managing Partner of PWV Consultants, uses the example of web traffic, which your company very likely tracks. You have tools in place to automatically collect and measure individual metrics within web traffic, such as:

  • Location
  • Activity per time of day
  • Mobile vs PC
  • Browsers in use

Each of those data points is a small part of the overall analysis. Then, humans perform further analysis to determine things like how to optimize your website to:

  • Improve sales opportunities
  • Reduce sales lead time
  • Increase revenue

Analysis that is repeatable can often be converted into a new metric within your analytic platform.

Which is better?

Brack Nelson, Marketing Manager at Incrementors SEO Services, suggests that the outcome of data analytics is more encompassing and beneficial than the output of data analysis alone.

Consider the differences between:

  • An analyst sending a business user a spreadsheet of numbers versus creating a dashboard for the user to interact with descriptive analytics.
  • A business user receiving a report with the live value of a marketing campaign versus creating a web app that both shows the forecast and lets the user interact with predictive analytics.

The ultimate move, Brack says, is creating a product that makes a data-driven prediction and contacts another system’s API is order to produce action—that’s data analytics in action.

Tools for data analytics

Analytics software are tools that help humans and machines perform the analysis that allows us to make mission-critical business decisions.

Common tools for performing data analysis and overall analytics include:

  • Microsoft Excel
  • Microsoft Power BI
  • Tableau
  • R analytics
  • Python
  • Google Analytics

(Check out BMC Guides for tutorials on many big data and data visualization tools.)

Why the confusion?

Interestingly, the terms are sometimes confused by data scientists and data analysts themselves!

Polling a variety of people in the wide world of data revealed this divide. Most agreed that data analytics is the broader field, of which data analysis is one key function, but others had different takes. This lack of clarity underscores that maybe the question isn’t data analytics versus data analysis—but whether you’re doing both as well as you can.

Several people said that they aren’t concerned if us non-data experts use the terms interchangeably. So, if you confuse data analytics with analysis at your next meeting, most folks will be none the wiser.

Related reading

]]>
10 Must-Read Books for Java Developers https://www.bmc.com/blogs/java-books/ Thu, 12 Nov 2020 08:11:44 +0000 https://www.bmc.com/blogs/?p=19212 Are you a Java developer looking to brush up on your skills? Java is the most widely used programming language—so it’s a great language to add to your skillset. Of course, many resources available for free, like tutorials, online courses, tips, forums, blogs, and coding examples. These resources are beneficial, but don’t forget about good […]]]>

Are you a Java developer looking to brush up on your skills? Java is the most widely used programming language—so it’s a great language to add to your skillset.

Of course, many resources available for free, like tutorials, online courses, tips, forums, blogs, and coding examples. These resources are beneficial, but don’t forget about good old-fashioned books. Books are an excellent resource because:

  • They’re written by seasoned programmers who are credible authorities in the subject.
  • Java books are more detailed and offer more in-depth subject knowledge than what’s free and online.

This article will dive into ten must-read books on Java that you can add to your bookshelf. These Java books cover various programming areas, including core Java fundamentals, frameworks, design patterns, and so much more. These books are excellent tools for all Java developers, from beginners to advanced users.

(This article is part of our Tech Books & Talks Guide. Use the right-hand menu to navigate.)

Head First Java

Authors: Kathy Sierra & Bert Bates
Audience: Beginners

Head First JavaThis book is, hands down, the best book for Java beginners. This book is digestible and easy to understand through engaging games and quizzes. It doesn’t require you to have prior knowledge of Java.

The head-first approach of explanation is clear and concise for any reader. Head First Java addresses the essential Java programming subjects about class, object, thread, collection, and language features. The subject matter makes this book a Java Programmers bible and should be the first book worth investing in when building your Java book collection.

Java: A Beginner’s Guide

Author: Herbert Schildt
Audience: Students and novice programmers

Java: A Beginner’s Guide This beginner’s guide covers everything a Java programmer needs to know. The target audience for this book is aspiring students and novice programmers. This book describes topics in a detailed manner—without straying into too much detail.

We especially appreciate how this book engages students and beginners to think and understand Java concepts and ideas critically.

Effective Java

Author: Joshua Bloch
Audience: Devs needing a perspective shift

Effective JavaA must-have book for any Java programmer. This book is a resource for numerous practical guides for both entry-level as well as intermediate developers. For programming problems that a Java programmer may encounter regularly, this book provided concrete explanations to solve these issues. We especially like how Effective Java give you the tools to shift your perspective when handling problems—making programmers feel empowered.

Head First Design Patterns

Author: Eric Freeman
Audience: Design pattern and OOP beginners

Head First Design PatternsUnderstanding design patterns as a Java programmer is a valuable skill. This book covers:

  • The power of design patterns
  • How they solve many common problems
  • How to apply a design pattern
  • The benefits they provide in Java
  • Many helpful tips

Part of the Head First series, this book also contains many useful tools like exercises and memory maps, leading to a faster understanding of design patterns. This book is an excellent first step if you are looking to learn core Java design patterns and object-oriented design principles.

Spring in Action

Author: Craig Walls and Ryan Breidenbach
Audience: Intermediate to advanced Java programmers

Spring In ActionSpring in Action is by far the most wide-spread and widely utilized book on the Java framework in today’s programming landscape. Plus, adding Spring to your skill set can be a vital tool for growing your Java knowledge.

This book can be challenging to comprehend if you are a beginner, especially if you are not familiar with specific Java topics. Spring in Action is best for advanced Java programmers and an excellent resource as you grow and develop your skills.

Clean Code

Author: Robert C. Martin (aka Uncle Bob)
Audience: Developers with working to advanced Java knowledge

Clean CodeThis classic Java programming book illustrates better ways to write code, as hinted by the title. The book tackles understanding clean code in three sections:

  • Section 1 addresses the patterns, practices, and principles of writing clean code.
  • Section 2 details several case studies of ascending complexity, showcasing code cleanup exercises.
  • Section 3 contains a list of heuristics gathered while creating the previous chapters’ case studies.

Clean Code can help a Java developer build their knowledge base of clean code for the Java programming language.

Test-Driven: TDD and Acceptance TDD for Java Developers

Author: Lasse Koskela
Audience: Intermediate to advanced Java devs

Test DrivenIf you are looking to learn how to write unique automation testing programs, Test-Driven is an excellent resource. Java developers that prioritize code quality and writing unity, integration, and automation testing will benefit from this book.

Test-Driven delivers hands-on examples for you to test drive Java code. This book also defines acceptance test-driven development, the Fit framework, and testing Java EE components: JSPs, Servlets, and Spring Controllers.

Core Java Volume I: Fundamentals

Author: Cay S. Horstmann
Audience: Programmers seeking robust but maintainable code

Core Java: Volume 1This Java reference book offers a reader a detailed explanation of various features of Core Java, which includes:

  • Exception handling
  • Interfaces
  • Lambda expressions

Core Java highlights simple language, consciousness, and detailed example that is valuable to any Java programmer. This book will assist a programmer in developing an ability to write highly robust and maintainable code.

Java Concurrency in Practice

Author: Brian Goetz
Audience: Advanced devs

Java Concurrency in Practice Java Concurrency in Practice is one of the best Java programming books for advanced developers.

This book is essential to developing a strong understanding of concurrency and multithreading. Some book sections can be challenging to comprehend, but the concepts—concurrency and multithreading—are themselves tricky.

Thinking in Java

Author: Bruce Eckel
Audience: Intermediate to advanced Java devs

Thinking In JavaSerious about learning Object Orientated Programming? This is the book for you. In this book, Bruce Eckel teaches the Java concept with his unique Head-First teaching style. Thinking in Java is no beginner’s book, but it’s a fantastic resource for intermediate to advance developers with a desire to learn.

Still, this book is considered one of the most complete books in Java, so you can use it as an excellent reference at any stage of your programming career.

Learn Java with books

Many vital resources can kickstart your Java journey. These books may be a great way to start learning more about Java and can create a roadmap for a developer at any level of learning Java.

Related reading

]]>
Transformational Leadership in the Enterprise https://www.bmc.com/blogs/transformational-leadership/ Fri, 04 Sep 2020 00:00:47 +0000 https://www.bmc.com/blogs/?p=18511 Transformational Leadership is a concept for leaders to transform the workplace by inspiring team members to create change. Transformational leadership comes naturally to very few people—which means you can learn to become a transformational leader. Let’s take a look at transformational leadership and how it works within the enterprise. (This tutorial is part of our IT […]]]>

Transformational Leadership is a concept for leaders to transform the workplace by inspiring team members to create change. Transformational leadership comes naturally to very few people—which means you can learn to become a transformational leader.

Let’s take a look at transformational leadership and how it works within the enterprise.

(This tutorial is part of our IT Leadership & Best Practices Guide. Use the right-hand menu to navigate.)

What is Transformational Leadership?

Transformational leadership is a style of leadership in which leaders encourage, inspire, and motivate employees to create change that overall helps to grow and shape the future success of a company. The executive level sets examples that contribute to three enterprise characteristics:

  • Influential company culture
  • Employee ownership
  • An independent workplace without a level of micromanagement

Transformational Leaders lead with a level of trust to create a healthy work environment. This style trains staff members to take authority over decisions within their assigned jobs. This leadership style allows employees to:

  • Be more creative
  • Plan for future success
  • Discover new solutions for problems that arise within their duties

Though Transformational Leadership might begin with the leader directly, it does not end there. Employees trained within this leadership style are also preparing to become transformational leaders themselves through company mentorship and training.

Thanks to its very nature—developing and delivering a team vision to change the culture of the company for the better—transformational leadership can be used especially in:

A brief history of Transformational Leadership

Transformational leadership was first conceptualized by James V. Downton, an American sociologist, in 1973. However, the leadership style was not fully developed until 1978, when American historian and political scientist James MacGregor Burns wrote Leadership. Burns studied various political leaders, including both Franklin D. Roosevelt and John F Kennedy. During this time, he developed his theory of Transformational Leadership.

This leadership concept was expanded further during the 1980s by Bernard M. Bass, an American scholar in leadership studies and organizational behavior. Bass noted that the transformational leadership model inspired followers to:

  • Reach a higher level on the consciousness towards the company’s goals
  • Rise above their self-interest for the organization
  • Approach a higher level of needs

Transformational leadership is also associated with the Servant Leadership philosophy notably embraced by Mahatma Gandhi, Nelson Mandela, and other historical figures.

The 4 I’s of Transformational Leadership

Bass suggests that transformational leadership involves four different elements, known today as the 4 I’s. These factors are crucial for any leader who wants to inspire, nurture, and develop their employees.

Let’s take a look at each factor.

Idealized Influence

Character: Promoting trust to earn respect

Idealized influence refers to how Transformational Leaders exert their weight within a group. A transformational leader must serve as a role model for their followers. Instilling trust and respect of the leader evokes the followers to emulate this individual and internalize the leader’s ideals.

Their team exceptionally respects these leaders because of the example they set forth for others. This type of leader also provides a clear vision and a sense of belonging, which encourages individuals to follow long-term objectives and drives them to achieve their own goals within the organization.

This leader is a powerful role model, and based on the example set, their team of followers will imitate this leader an aspire to become the leader.

Intellectual Stimulation

Character: Challenging the status quo

Intellectual stimulation means creating a diverse and open environment within the Transformation Leader’s organization. The setting is a space open to innovation and forming new ideas both for the company and for themselves.

The Transformational Leadership style challenges the status quo, encouraging team members to think outside of the box to reach their creative potential. This type of lead galvanizes their team to explore new ways of doing things and seek new opportunities to learn and grow within the organization.

This leadership style can play an influential role by openly pushing their followers to challenge their own beliefs and values (as well as those of the company) to stray from the norm.

Inspirational Motivation

Character: Encouraging, motivating, and inspiring others

Performance is a vital component of the Transformation Leadership style. A Transformational Leader must be able to motivate and inspire their team. This leadership plays the role of improving performance by encouraging their team’s morale through motivational techniques and presenting themselves as inspirational forces that drive their organization’s team members.

A Transformational Lead is a positive communicator of their high expectations to individual followers and encourages them on a solo level to gain their trust and commitment to the shared vision of the company’s goals and beliefs.

Instilling a clear vision that the Transformational Leader can voice to their team allows the leader to foster passion and motivation to meet their team member’s individual and the company’s goals.

Individualized Consideration

Character: Communicating openly to support all team members

Together with fostering an open environment, a Transformational Leader is actively seeking to create a diverse and supportive space. In this workspace, all individuals and their differences are respected and celebrated.

A leader of the Transformational leadership style offers support and encouragement to their team. Creating this growing supportive relationship involves a leader that keeps an open line of communication so that:

  • Team members feel comfortable sharing ideas.
  • Leaders can offer direct recognition of team member contributions.

Open communication allows for the lead to act as a mentor and coach for the team members continuing to work towards developing, empowering, and inspiring their team to achieve more.

This leader is always happy to listen to other’s concerns or needs of their team. Individual consideration is key to creating future leaders.

Benefits of Transformational Leadership

Both the leaders and the team members of Transformational Leadership experience many positive outcomes, including:

  • Self-motivation
  • Active engagement
  • Higher productivity
  • Personal and professional satisfaction
  • Positive attitude
  • Lower stress

How to become a Transformational Leader

Becoming a Transformational Leader is something you work at; it’s not something you either have—or don’t. Transformational Leaders actively embrace and commit to the 4 I’s to become a Transformational Leader.

To move towards Transformational Leadership, start by assessing your current leadership style. Consider how your strengths can benefit the team you are leading. Acknowledge your weaknesses and gaps and consider ways that you can overcome or limit these.

Some steps to developing your leadership style include:

  • Understanding your own strengths and weaknesses
  • Developing an inspiring vision for the future
  • Motivating everyone around you
  • Involving yourself in the Transformational Leadership concept
  • Building trust and loyalty with your team members

Developing these tools of transformational leadership and working to improve you and your team’s areas of weakness to reach your overall goals can put you on a path to becoming a transformational leader.

Transformational leadership for the enterprise

The transformational leadership style can be hugely affected when used appropriately in a company or organization setting.

Every working environment is different. In some cases, a team or certain individuals may require a leadership style with more management that involves a closer eye and more significant direction, especially in a situation where team members may be less skilled or newer to the company.

Additional resources

For more on business leadership, explore these resources:

]]>
Google Cloud Functions: An Introduction https://www.bmc.com/blogs/google-cloud-functions/ Thu, 18 Jun 2020 07:06:46 +0000 https://www.bmc.com/blogs/?p=17776 The buzz is booming around serverless functions, also known as cloud functions. A sure sign of this? The big players, like Google and AWS, have entered the arena. Google has introduced its own serverless function on GCP. Since Google joined the Functions as a Service (FaaS) world, the new serverless execution option offers many benefits. […]]]>

The buzz is booming around serverless functions, also known as cloud functions. A sure sign of this? The big players, like Google and AWS, have entered the arena.

Google has introduced its own serverless function on GCP. Since Google joined the Functions as a Service (FaaS) world, the new serverless execution option offers many benefits. Let’s take a look.

What are Google Cloud Functions?

The execution environment of Google Cloud Functions enables serverless programming on top of Google Cloud Platforms. The introduction of Google Cloud Functions, which are scalable, pay-as-you-go FaaS, offers many options in a simpler environment, making it easier for developers to run and scale your code in the cloud. The functions can be coded in Python, node.js, and Go—so developers likely won’t need to learn anything new to use them.

Google Cloud Functions easily solves the many worries you may traditionally experience, like:

  • Multiple services needing extra managing
  • Predicting traffic to each service
  • Risk of service going down during a spike or load
  • Overpaying for unused capacity

You may be thinking “Why is Google Cloud Functions important?” Well, there are a number of key features we will explain, below, that makes using Google Cloud easier, faster, and seamless of the developer.

Types of Google Cloud Functions

There are two types of Google Cloud Functions:

  • HTTP functions
  • Background functions

HTTP Functions

The HTTP functions are primarily used when you want to invoke your function via an HTTP(S) request. This type of function can be used for webhooks and creating APIs. The Cloud Function abstracts away the information infrastructure, so you do not need much code.

Executing your Google Cloud Function has to signal your function in order to actually run. This is known as a trigger. The HTTP trigger comes from a request sent to your function or can be an event from Google Pub/Sub events, stack driver, or a Firebase Event.

The following command shows how to call the function and pass it as a parameter using curl:

curl -X POST HTTP_TRIGGER_ENDPOINT -H "Content-Type:application/json”'{"name":"Jane"}'where HTTP_TRIGGER_ENDPOINT(https://YOUR_REGION-YOUR_PROJECT_ID.cloudfunctions.net/FUNCTION_NAME)

(Source)

Background Functions

Background functions are triggered when specific cloud events occur. For example, when a file is uploaded into the cloud, a function can automatically run to process the upload. These background functions currently respond to:

  • Pub/Sub events
  • Cloud storage
  • Firebase events

This creates multiple use cases such as:

  • Transforming data
  • Processing IoT messages
  • Watching project logs and reacting to specified changes within the infrastructure

Benefits of Google Cloud Functions

Google Cloud Functions make the experience simple and intuitive for the developer. Simply write your code and Google Cloud can handle the rest of the operational infrastructure. Here are the unique key features of Cloud Functions that make it so beneficial for many use cases:

Google Cloud Functions

No server management

First off, it’s completely serverless, meaning that you can simply deploy your code and Google will automatically scale it for you. Google Cloud Functions has no server management which makes the overall architecture for a developer more flexible, in addition, a quicker time to release.

Pay per use

Another benefit of Google Cloud Function is you only pay for what you use. As a user, you pay nothing when your function is idle. Your function’s execution time is only billed metered to the nearest 100 milliseconds. The pricing breakdown of Google Cloud Functions is based on

  • The length of time your function runs
  • The number of times the function is invoked
  • The number of resources you provision for your functions.

This function is especially beneficial if you offer a service that has unpredictable traffic patterns—you can optimize your spending.

Event-driven architecture

Cloud functions are event-driven, which means they are executed when cloud events occur. An event-driven architecture allows for greater operational efficiency, creating a seamless, cost-effective operation. This type of architecture leads to forecasting functionality which gives real-time analytics so you can identify patterns and forecast and prepare for future responses. Developers especially value the increased versatility of this event-driven system.

Automatic scaling

GCP automatically scales servers up or down as needed—no need for your developers to try to manage requests.

Integrated services

Another great benefit of Google Cloud function being event-driven is that it is seamlessly compatible with the Firebase platform in addition to GCP and Google Assistance. Firebase is Google’s version of a mobile development platform that works to empower users to quickly craft and grow an app. Firebase and Google Cloud Platform share common integrations, including products, projects, billing, access control, terms of service, and accounts for streamlined usability.

More features

The simplicity of Google Cloud includes many other great features. There is also no need to provision virtual machines, no need to install new operating systems, or OS security patches.

Logging & monitoring

In a serverless world, it is vital to know how your app is performing. The cloud function feeds its logs into stack driver logging and sends telemetry data, like memory and execution time, into stack driver monitoring. This will allow you to review how your application is doing using familiar diagnostic tools across platforms.

Start building functions

On the Google Cloud Platform, you can create functions through the cloud console web interface. You can deploy functions from a gear depository or package them from your local development workstation. Google offers an open-source emulator that allows you to develop and run functions locally. It even connects to many popular IDEs to help prevent bugs in the system. Once you start building, you naturally start implementing other native cloud tools like:

  • Big data
  • Storage cues
  • Scalable file storage
  • Machine learning

Google Cloud Functions makes it possible to make your infrastructure invisible. This means developers can focus on more important parts of development—resulting in incredible apps shipping faster and more simply than ever. To get started, take advantage of $300 in free credits when you sign up with GCP.

Additional resources

For more on this topic and GCP, check out the BMC DevOps Blog and the BMC Multi-Cloud Blog or explore these articles:

]]>