Coding All-in-One For Dummies. Nikhil Abraham

Читать онлайн.
Название Coding All-in-One For Dummies
Автор произведения Nikhil Abraham
Жанр Зарубежная образовательная литература
Серия
Издательство Зарубежная образовательная литература
Год выпуска 0
isbn 9781119363033



Скачать книгу

digital designers, also known as visual designers, created mockups, static illustrations detailing layout, images, and interactions, and then sent these mockups to developers who would create the web or mobile product. This process worked reasonably well for everyday projects, but feedback loops started becoming longer as mockups became more complex. For example, a designer would create multiple mockups of a website, and then the developer would implement them to create working prototypes, after which the winning mockup would be selected. As another example, the rise of mobile devices has led to literally thousands of screen variations between mobile phones and tablets created by Apple, Samsung, and others. Project timelines increased because designers had to create five or more mockups to cover the most popular devices and screen sizes.

      As a designer, one way to speed up this process is to know just enough code to create working prototypes of the initial mockups that are responsive, which means one prototype renders on both desktop and mobile devices. Then project managers, developers, and clients can use these early prototypes to decide which versions to further develop and which to discard. Additionally, because responsive prototypes follow a predictable set of rules across all devices, creating additional mockups for each device is unnecessary, which further decreases design time. As mobile devices have become more popular, the demand for designers who understand how to create good user interactions (UI) and user experiences (UX) has greatly increased.

      Prototyping tools such as InVision and Axure provide a middle option between creating static illustrations and coding clickable prototypes by allowing designers to create working prototypes without much coding. Still, a person with basic coding skills can improve a prototype generated with these tools by making it more interactive and realistic. Designers who can design and code proficiently are referred to as “unicorns” because they are rare and in high demand.

      Content and editorial

      Professionals in content and editorial perform tasks such as the following:

      ❯❯ Maintain the company’s presence on social networks such as Twitter and Facebook.

      ❯❯ Create short posts for the company blog and for email campaigns.

      ❯❯ Write longer pieces for articles or presentations.

      At smaller companies, content creation is usually mixed with other responsibilities. At larger companies, creating content is a full-time job. Whether you’re blogging for a startup or reporting for The Wall Street Journal, writers of all types face the same challenges of identifying relevant topics and backing it up with data.

      Traditionally, content was written based on a writer’s investigation and leads from a small group of people. For example, you might write a blog post about a specific product’s feature because a major customer asked about it during a sales call. But what if most of your smaller customers, whom you don’t speak with regularly, would benefit from a blog post about some other product feature?

As a writer, you can produce more relevant content by writing code to analyze measurable data and use the conclusions to author content. I Quant NY (http://iquantny.tumblr.com), an online blog, is one shining example of data driving content creation. In 2014, the site’s author, Ben Wellington, analyzed public data on New York City parking tickets, bike usage, and traffic crashes, and wrote about his conclusions. His analysis led to original stories and headlines in major newspapers such as The New York Times and New York Post (see Figure 1-1).

      FIGURE 1-1: Article about a ticket-generating fire hydrant.

      Human resources

      Those who work in human resources might be expected to do the following:

      ❯❯ Source and screen candidates for open company jobs.

      ❯❯ Manage payroll, benefits, performance, and training for employees.

      ❯❯ Ensure company compliance with relevant laws, and resolve disputes.

      Traditionally, HR professionals have not performed much coding in the workplace. The human- and process-driven components of the job generally outweighed the need for automation that coding typically provides. For example, a dispute between coworkers is usually resolved with an in-person meeting organized by HR, not by a computer program. However, the recruiting function in HR may benefit from coding. Hiring employees has always been challenging, especially for technical positions where the demand for employees far exceeds the supply of available and qualified candidates.

      If you’re responsible for technical recruiting and want to increase the number of candidates you reach out to and source, one solution is to develop some coding experience that enables you to discover people who may not meet the traditional hiring criteria. For example, a company might ordinarily look for developers from a specific university with at least a 3.0 grade point average.

      However, increasingly developers are self-taught and may have dropped out or not attended university at all. A technical recruiter who can evaluate code that self-taught developers have written and made publicly available on sites such as GitHub or Bitbucket can qualify candidates who previously would have been rejected. Additionally, recruiters working with technical candidates improve outcomes by being able to speak their language.

      Companies such as Google and Facebook have taken a technical approach to managing the expensive and difficult problem of finding and retaining employees. These companies perform people analytics on their employees by looking at everyone who applies and analyzing factors that contribute to hiring, promotion, and departure, such as undergraduate GPA, previous employer, interview performance, and on-the-job reviews. At Google, this analysis requires some serious coding because more than two million people apply each year.

      Product management

      Product managers, especially those working on software and hardware products, perform tasks like the following:

      ❯❯ Manage processes and people to launch products on time and on budget, maintain existing products, and retire old products.

      ❯❯ Connect all departments that create a product, including sales, engineering, marketing, design, operations, and quality control.

      ❯❯ Guide the product definition, roadmap, and business model based on understanding the target market and customers.

      The product manager’s role can vary greatly because it is a function of the company culture and the product being built. This is especially true for technical products; in some companies, product managers define the problem and engineers design hardware and software to solve those problems. In other companies, product managers not only define the problem but also help design the technical solution.

      One of the hardest challenges and main responsibilities of a product manager is to deliver a product on time and within budget. Timelines can be difficult to estimate, especially when new technology is used or existing technology is used in a new way. When you manufacture, say, a chair, it has a set product definition. For a product with a technical component, additional features can creep into the project late in development, or a single feature might be responsible for the majority of time or cost overruns. The product manager helps to keep these variables in check.

      The product manager working on a technical product who has some coding skill will be able to better estimate development cycles and anticipate the moving pieces that must come together. In addition, solving technical challenges that arise and understanding the tradeoffs of one solution versus another are easier with some coding background.

      Business analysts or integration specialists translate business requirements from customers into technical requirements that are delivered to project managers and that are eventually implemented by back-end engineers.

      Sales