There is much debate over which programming languages are best to learn at a given point in time, but here are a few safe bets:

Java is used by millions of developers and billions of devices worldwide. It’s the official language of Android development, and 90% of Fortune 500 companies use it as a server-side language for back-end development, according to an analysis from Coding Dojo.

Python is commonly used in scientific computing, data mining, and machine learning. It’s the fastest-growing programming language, and Stack Overflow predicts that in 2019, Python will significantly outstrip other languages in terms of active developers. Coding Dojo found that Python grew in popularity by about 5,000 job postings between 2017 and 2018.

JavaScript is used by more than 80% of developers and by 95% of all websites for any dynamic logic on their pages, according to Coding Dojo. Several front-end frameworks for JavaScript, like React and AngularJS, will be increasingly used as Internet of Things (IoT) devices become more popular, so it’s unlikely that the language will fall out of favor any time soon.

Stack Overflow’s 2018 Developer Survey found that Rust, Kotlin, and Python were the most loved programming languages among developers, while Visual Basic 6, COBOL, and CoffeeScript were the most loathed.

In terms of what programming languages can net you the highest salary, globally, the top paying options were F# ($74,000), OCaml ($73,000), and Clojure ($72,000), according to Stack Overflow. In the US, Erlang ($115,000), Scala ($115,000), and OCaml ($114,000) topped the list.
]]>Tue, 08 Jan 2019 00:00:00 +0000From the cheat sheet:

Can you describe a software development project you worked on in which you overcame a new challenge?

The candidate described having to develop a software interface that properly calculated sales tax by zip code throughout North America. His current employer required the new capability, which he wasn’t familiar with. So he consulted with potential vendors, conducted internet research, and taught himself what he needed to know to complete the initiative.

How do you do ensure that deadlines don’t slip when managing multiple initiatives?
The candidate described the methods he follows when prioritizing work. His methods include leveraging daily scrums and providing regular status reports to his manager to make sure priorities and projects remain on track with deadlines.

Do you have any experience working within our specific industry?
The candidate has worked within the financial services and manufacturing sectors.

With which programming languages do you have the most expertise?
The candidate earned Microsoft MCSD certification and has worked with Microsoft Visual Studio, Team Foundation Server, Azure, ASP.NET, PHP, and Python technologies.
]]>Tue, 08 Jan 2019 00:00:00 +0000From the ebook:

Machine learning engineer was the fastest growing job category in the five years to 2017, according to LinkedIn. But tech’s hottest role isn’t a simple field to break into, requiring at least high school math and some programming knowledge, even to get started.

Luckily there are an increasing number of options for those wanting to get a grounding in the field, with Amazon Web Services (AWS) being the latest tech giant to release a set of machine learning courses for free. That’s in addition to the existing well-regarded material available online from the likes of fast.ai and Andrew Ng and Coursera.

If you’re interested in these courses, it’s worth noting that you’ll benefit more if you have a basic knowledge of Python and high school linear algebra, statistics, and calculus.

If you’re a developer after a quick introduction, the Machine Learning Crash Course is a good option, with video lectures and exercises covering the basics. If you want a more comprehensive deep dive, try its Google’s Deep Learning course on Udacity. Developed with Vincent Vanhoucke, principal scientist at Google and technical lead in the Google Brain team, the Udacity course is taught by industry pros and offers hands-on assignments that task you with building increasingly complex machine learning models using Google’s open source TensorFlow framework.

Other courses on the Google AI Education site cover problem framing and data preparation, both important topics for anyone considering machine learning.]]>Fri, 30 Nov 2018 00:00:00 +0000From the job description:

The Android developer will be responsible for creating and maintaining mobile apps that exist on the Android mobile operating system. They will have a thorough understanding of the Android SDK and how it works with different devices and screen sizes. They should also have a working knowledge of the company’s infrastructure and industry needs so they can adapt the Android apps to the firm’s requirements.

The developer will be expected to work in a team environment and communicate effectively with management and laterally with other departments within the company. Enthusiasm and knowledge of good user experience is important. The developer may be expected to work with interpreted datasets to improve usability, should have a strong knowledge of all versions of Android, and must keep up with new iterations.

Duties and responsibilities
The Android developer will:

Create and maintain Android mobile apps for the company.

Develop and maintain codebases for the apps.

Have a familiarity with APIs and how to connect Android with back-end services.

Understand how to use natural user interfaces within Android.

Be expected to conceive and manage projects and deliver them under strict deadlines.

Have a working knowledge of the devices that host Android apps and how apps work on those devices.

]]>Tue, 24 Jul 2018 00:00:00 +0000Overview

The decision regarding which web hosting service provider to hire is critical to the success of your business and should be made only after rigorous research. There are dozens of features and factors to consider when choosing a provider and it can get complicated quickly. This tool offers a framework for a side-by-side comparison to help you sort through the options.

Comparison checklist instructions
The web hosting services comparison tool organizes features into two sections—tangible and intangible.

Tangible: In this section, features are either offered by the prospective service provider or they are not. It includes obvious considerations like cost, uptime, email accounts, and storage. Depending on your business needs, the lack of a certain feature in this category could eliminate a provider from consideration.

Intangible: This section contains features that are more subjective and amorphous, so the checklist asks for a rating. With the right negotiations and under the right service level agreement (SLA), it is possible for your rating of these features with regard to a particular provider to change over time. Again, depending on your business needs, these could be the features that eliminate providers from contention or raise a provider to the leading candidate. You can use the cumulative score as a reference, but some of the features may have to be weighted more heavily in your decision making.
Note: The sample data provided in the checklist is for explanatory purposes only—check with the service providers for current and accurate information.]]>Thu, 14 Jun 2018 00:00:00 +0000From the ebook:

Developers are among the most in-demand tech professionals in the world right now, with front end, full stack, mobile, and back end developers among the top 10 hardest to fill tech jobs, according to data from Indeed. With demand outpacing supply, many companies are left without the tech talent needed to build apps or automate business processes.

Enter low-code development platforms: tools that allow IT and business professionals without coding experience to build apps, potentially filling tech talent gaps in organizations.

“Developers trade off a little bit of control for more prescriptiveness, and because of that, they get a higher level of productivity,” said Forrester analyst Jeffrey Hammond. “It also makes developing approachable for a wider set of folks out there who may not have a computer science degree but can use a low-code tool to build applications.”

Forrester predicts that the market for low-code tools will grow to $15 billion by 2020. “It feels like we’re in a growth phase now—we see tools that make it easier to build mobile apps and web apps and automate business processes. It’s certainly an upswing,” Hammond said.]]>Wed, 30 May 2018 00:00:00 +0000Thu, 12 Oct 2017 18:50:21 +0000Tue, 03 Oct 2017 11:29:09 +0000From the kit:

Introduction
In many respects, the development and deployment of the Internet of Things (IoT) is the culmination of the information technology revolution that started with the first transistor. An integrated network of probes, sensors, and devices designed to exchange information with each other and then act on that information using artificial intelligence is going to change how just about everything works. This will be particularly true for manufacturing and industrial operations.

In an industrial environment, where every device interacts with every other device, data processing and software development are of paramount importance. Someone must write the code that determines what each device should measure, what each device should report, and what each device should do with the data it receives. It is a complex process requiring a skilled developer with extensive knowledge of not only the programming involved, but of the industrial processes as well.

It is important to remember that a successful candidate for IoT developer will not have years of experience developing IoT projects or applications—this is a new technology, after all. However, candidates should have extensive programming experience and demonstrable knowledge of the industry and/or manufacturing process associated with your organization.]]>Mon, 14 Aug 2017 00:00:00 +0000Fri, 11 Aug 2017 20:55:38 +0000From the job description:

Introduction
Python is a widely used general purpose interpreted programming language. It’s a high-level language that can support multiple programming paradigms, including object-oriented, imperative, functional programming, and procedural styles. Because of this language versatility, the skills, specializations, and experience of Python developers tends to vary considerably.

The search for candidates for a Python developer needs to be as project-specific as possible. Narrowing a search to candidates with specific experience in coding and developing applications similar to your project will save time and eliminate mismatches. However, because the code is designed to be highly readable, all candidates should be able to write code that is clear, clean, and concise, with proper indentions and delineated code blocks.

Job description
The Python developer will work with a team of developers, product managers, and other stakeholders. The team will use Python to design, build, test, and deploy applications using the Python programming language. The application may include [insert your company’s projects here].

The successful candidate will have superior coding and programming skills as well as a demonstrable ability to communicate and successfully collaborate with other team members. They should also be skilled in translating vague concepts into plans of action and achievable milestones.
]]>Wed, 02 Aug 2017 00:00:00 +0000From the job description:

Introduction
JavaScript is one of the three primary languages required to create and develop content for the World Wide Web. It is a core competency that all web developers should know and it is vital to modern interactive websites. Without JavaScript and its nearly universal support built into most web browsers, websites would not be able to perform event-driven activities so common in modern website design.

Those applying for JavaScript developer positions will often distinguish themselves from other candidates by highlighting their collaborative and social skills in addition to their technical expertise. A certain level of JavaScript knowledge can be assumed for any candidate with even minimum experience, so the determining hiring factor may come down to soft-skill characteristics, such as the ability to work well in a team environment.

Job description
The JavaScript developer will generally work with a team of developers to maintain, enhance, and/or build an interactive website using JavaScript, HTML, and CSS components. The successful candidate will be familiar with all three core programming languages, but will primarily focus energies on the development of the JavaScript component for the site.

Proven experience and success working with a team of skilled programming professionals is of paramount importance. Candidates must be able to collaborate with team members in a fast-paced, dynamic work environment and demonstrate an affinity for effective communication and social interaction.
]]>Tue, 25 Jul 2017 00:00:00 +0000From the kit:

iOS developers create and develop mobile applications on the iOS platform, consistent with the company’s goals and standards. They need to have a thorough understanding of iOS and how it works with different Apple devices and screen sizes. They should also have a working knowledge of the company’s infrastructure and industry needs so they can adapt iOS applications to the firm’s requirements.

iOS developers are expected to work in a team environment and communicate effectively with management and laterally with other departments within the company. Enthusiasm and knowledge of good user experience are important. They may be expected to work with interpreted data sets to improve usability. They should also have strong knowledge of all iOS programming languages and will be expected to keep up with innovations and trends within iOS use.]]>Fri, 07 Jul 2017 00:00:00 +0000Mon, 26 Jun 2017 21:52:55 +0000From the kit:

Job description
The user experience specialist will combine a superior knowledge of user-friendly and visually appealing design with a basic understanding of web functionality to create stunning mobile-based or web-based applications and sites. They will also be able to interpret user data and incorporate feedback into their design to maximize usability for stakeholders and customers.

The UX specialist must be able to work both independently and with a team to develop end products. They will communicate directly with senior management and team leaders to provide updates on progress and stay focused on the company’s vision. They should have excellent project management skills and a functional knowledge of app development tools, such as AngularJS. They will need to be able to tweak designs to meet company specifications and address user feedback.

Job responsibilities
The UX specialist must be able to:

Design, implement, and augment a positive user experience for app-based or mobile-based software.

Read, interpret, and incorporate customer feedback data into design.

Execute prototype testing and work to make design intuitive and accessible.

Follow new trends and implement industry-accepted best practices.

Focus on customer service.

Communicate effectively within a team and with senior management on project status.