❯❯ Segment existing customers and identify new potential customers.
❯❯ Generate and convert prospective leads into sold customers.
❯❯ Craft product and brand images to reflect company and customer values.
Salespeople and marketers expend a great deal of effort placing the right message at the right time before the right customer. For decades, these messages were delivered in newspapers, in magazines, and on television and radio. Measuring their effect in these channels was difficult, part art and part science. With the movement of messages to the Internet, we can now measure and analyze every customer view and click. Online marketing has created another problem: Online customers generate so much data that much of it goes unanalyzed.
The salesperson or marketer who can code is able to better target customers online. If you’re a salesperson, generating leads is the start of the sales funnel, and coding enables you to find and prioritize online website visitors as potential customers. For example, when Uber launched their mobile application, it was available only in San Francisco. The company tracked and analyzed the location of users who opened the app to decide which city to launch in next.
If you’re in marketing, identifying whom to market to is as important as identifying what message to market. Website visitors reveal behavioral and demographic data about themselves, including location, web pages visited, visit duration, and often gender, age, employer, and past online purchases. Even moderately successful websites generate tens of millions of records a month, and coding can help spot trends such as the 25-to-29-year-old females in Nebraska who are suddenly interested in but aren’t purchasing your product. Marketing messages become more efficient when you know the segments you’re targeting and how they are responding.
Legal
Professionals providing legal services might perform the following tasks:
❯❯ Identify and manage legal risks in agreements and transactions.
❯❯ Ensure ongoing compliance with relevant laws and regulations.
❯❯ Review documents such as prior cases, business records, and legal filings.
❯❯ Resolve disputes through litigation, mediation, and arbitration.
Historically, the legal profession has been resilient to advances in technology. I include it here because if lawyers who code are able to more efficiently perform their jobs, professionals in any other industry should be able to benefit from coding as well.
Coding knowledge may not assist a lawyer with delivering a passionate argument in court or finalizing a transaction between two Fortune 500 companies, but the bulk of a lawyer’s time is spent on document review, a task that could benefit from coding knowledge.
When reviewing legal documents, a lawyer might read previous cases in a litigation, check existing patent filings before filing a new patent, or examine a company’s contracts in preparation for a merger. All these tasks involve processing large amounts of text, and current legal tools enable, for example, wildcard searching (such as using new* to find New York, New Jersey, and New Hampshire).
However, the use of regular expressions – code that searches for patterns in text – could help lawyers review documents faster and more efficiently. See Figure 1-2.
FIGURE 1-2: Use RegExr.com to practice searching with regular expressions.
For example, suppose you are a government lawyer investigating an investment bank for fraudulently selling low-quality mortgages. The investment bank has produced two million documents, and you want to find every email address mentioned in these documents. You could spend months reviewing every page and noting the email addresses, or you could spend a few minutes writing a regular expression that returns every email address automatically.
❯❯ The first site, SCOTUS Servo, logs a message whenever the Supreme Court changes an already issued opinion and is available at https://twitter.com/scotus_servo.
❯❯ The second site, Coding for Lawyers, teaches lawyers code that could be helpful in the practice of law and is available at http://codingforlawyers.com.
The career changer looking to transition to a coding job can choose from a variety of roles. This section describes the most popular coding jobs today. In these roles at the entry level, your coding knowledge will be used daily. As you become more skilled and senior, however, your people-management responsibilities will increase while the number of lines of code you write will decrease. For example, Mark Zuckerberg wrote the code for the initial version of Facebook and continued to write code for two years after the website launched, after which he stopped coding for almost six years to focus on managing the team’s growth.
Some coding roles may appeal to you to more than others. In addition to understanding jobs available in the market, some self-reflection can help you make the best choice possible. As you review the role descriptions in this section, take a personal inventory of
❯❯ Tasks you enjoy and dislike in your current role
❯❯ Skills you already possess, and the skills you will need to learn
❯❯ Interests you want to pursue that will make you excited about working every day
Although no job is completely secure, the demand for technical roles is high and continues to grow. The US government estimates that by 2020, more than 1 million computer science-related jobs will be unfilled, with 1.4 million available jobs and only 400,000 computer science students trained to fill them.
Front-end web development
Web developers create websites. There are two types of web developers: front-end developers and back-end developers. Each requires different skills and tasks, which are discussed in this section.
Front-end web developers code everything visible on the web page, such as the layout, image placement and sizing, input features including buttons and text boxes, and the site’s general look and feel. These effects are created with three major programming languages: HTML (Hypertext Markup Language), which is used to place text on the page, CSS (Cascading Style Sheet), which styles the text and further contributes to its appearance, and JavaScript, which adds interactivity.
In addition to these three languages, front-end developer job postings reveal a common set of skills that employers are looking for:
❯❯ SEO (search engine optimization): Creating web pages for humans might seem like the only goal, but machines, specifically search engines, are the primary way most users find websites. Search engines “view” web pages differently than humans, and certain coding techniques can make it easier for search engines to index an individual web page or an entire website.
❯❯ Cross-browser testing: Users navigate web pages by using four major browsers (Chrome, Firefox, Internet Explorer, and Safari), each with two or three active versions.