Chapter 18

Ten Coding Myths

In This Chapter

arrow You must be good at math

arrow You must have studied engineering

arrow You can learn coding in a few weeks

arrow You need a good idea to start coding

arrow Ruby is better than Python

arrow Only college graduates receive coding offers

arrow You must have experience

arrow Tech companies don’t hire women or minorities

arrow The highest paying coding jobs are in San Francisco

arrow Your previous experience isn’t relevant

The tech profession is filled with myths and rumors. It can be hard to separate fact from fiction, especially given the reports of eye-popping salaries and prices for company acquisitions in the news. After you cut through the hype, the tech industry is like any other, with demand for talent far exceeding supply.

The following are ten myths about coding that just aren’t true. These myths mainly apply to people learning to code for the first time. Read on to separate myth from reality.

You Must Be Good at Math

Developers who are building cutting-edge games, data scientists trying to create the next big machine-learning algorithm, or engineers working in the financial services industry likely need some proficiency in physics, statistics, or financial math. However, many developers, such as those building e-commerce applications or typical web pages, do not need much more math than basic addition and subtraction, and high school algebra.

A good deal of math operates and powers applications, but there often isn’t a need to understand everything that is happening. Computer languages and programs are designed to manage complexity by requiring that you understand the inputs and outputs — but not what happens in between, a concept called abstraction. For example, when driving a car, you don’t need to understand how the internal combustion engine works or the physics behind converting the energy from the piston to the wheels. To drive a car you need to understand how to operate the accelerator, the brake, and the clutch for stick-shift cars. Similarly, programs have functions that perform operations, but you need to understand only the inputs you send a function and the output it returns.

In other words, you need to be able to understand math and have some basic math skills, but you do not need to be the next Einstein to be able to program.

You Must Have Studied Engineering

Many people who study engineering learn how to program, but you do not need to be an engineer to learn how to code. Engineering teaches skills that are useful to programmers, such as how to solve a problem step-by-step as well as working within and then designing around real-world constraints. These are useful skills, but you can learn them outside the engineering curriculum.

Many topics that are part of an engineering curriculum vary in usefulness for learning how to code. Topics such as algorithms can be directly applicable, especially if you’re working on cutting-edge problems. Other topics, such as assembly language and computational theory, provide a good background but are rarely used by most coders.

If your goal is to push the cutting edge of computer programs, a degree in computer engineering might be useful. However, if you want to create a website to solve a problem, learning to code in three to six months is probably sufficient to start.

tip Many colleges offer scholarships that can subsidize or completely cover the cost of attendance for women and minorities pursuing science and engineering degrees.

You Can Learn Coding in a Few Weeks

Like any passion or profession, coding is an art and coders hone their skills over decades. Although you don’t need decades of study to start coding, the amount of time needed to learn depends on your goals. For example:

  • One week: Learn enough HTML to put text, images, and other basic content on the page. You’ll be able to operate site builders to create and customize informational websites.
  • One month: Develop your front-end CSS skills so you can position and style elements on the page. You’ll also be able to edit sites built with website builders such as Wix, Weebly, or SquareSpace. For data science, you can learn to import and handle large datasets and use Python or R to find insights about the data.
  • Three to six months: Learn front-end and back-end development skills to take a concept, build a working prototype that can store data in a database, and then code a version that can handle hundreds of thousands of users. In addition, learn how to use a programming language’s external libraries to add additional functionality, user management, and version control systems such as Git so multiple people can work on a project at the same time. For data science, you’ll be able to build an interactive visualization using a JavaScript library such as d3.js. Whether learning web development or data science, it will take approximately 800 hours of effort to be proficient enough to be hired for a job.

You Need a Great Idea to Start Coding

Learning to code is a lengthy process, filled with ups and downs. You might get stuck for days or see much progress. During periods of inevitable frustration, having a bigger idea or a concrete reason to motivate you to keep learning can be helpful. Instead of trying to build the next Facebook, YouTube, or Google, try to build something that solves a problem you’ve personally faced. Here are people who learned to code and remained motivated with a project:

  • Coffitivity.com: Four college students wanted to fight writer’s block by listening to ambient sound. While learning to code, Tommy Nicholas built a site that streams coffee shop sounds to add background noise to otherwise silent offices and workspaces.
  • Outgrow.me: Sam Fellig is a Kickstarter enthusiast who wanted a simple way to browse and purchase items from successful crowdfunded projects. He took the leap and learned to code so he could build his website, shown in Figure 18-1, which turned into one of Time magazine’s Top 50 websites of 2013.
  • Sworkit: Ryan Hanna liked to work out but often became bored at the gym. While learning JavaScript and Ruby, he built an app that guided users through military-style workouts in five minutes or less. The app had over 1 million downloads, and Ryan eventually sold it to Nexercise, an exercise company.
image

Figure 18-1: Outgrow.me sells products from successful crowdfunded projects.

Each of these sites enjoyed a degree of popularity and were noticed by a huge number of users. If something similar happens with a site you design, it serves as a nice bonus. But even if it doesn’t, you’ll feel satisfied having solved your own problem.

Ruby Is Better than Python

You might wonder what language to learn first, especially given all the choices out there. You could start with Ruby, Python, JavaScript, PHP, Swift, Objective-C — the list goes on. To resolve this debate, you might search for which language is the best, or which language to learn first. You’ll find articles and posts advocating one language or another. Unlike comparing TVs or toasters, a clear winner is unlikely to emerge. Sometimes you can spend more time deciding which language to learn first than getting down to learning the language.

The most important thing is to learn a few easy scripting languages first and then choose one all-purpose beginner programming language to learn thoroughly.

Usually, beginners start with HTML, CSS, and JavaScript. These languages are the most forgiving of syntax mistakes and the easiest to learn. Then, after you learn these basics, choose Python or Ruby if you are interested in web development. You’ll find many online tutorials and help for both.

If you plan on doing work with a content management system such as WordPress or Drupal, consider learning PHP.

Don’t spend too much time deciding which language to learn first, and don’t try to learn all of them at the same time. Sometimes people hit a roadblock with one language, give up, and start learning another language. However, the end result is learning a little bit about many languages, instead of mastering a single language and being able to build a complete and functioning website.

Only College Graduates Receive Coding Offers

Both Bill Gates and Mark Zuckerberg left college before graduating to start their own technology companies. To encourage more college dropouts, Peter Thiel, the billionaire founder of PayPal and investor in Facebook, created a fellowship to pay students $100,000 to start businesses and forgo school. Still, whether you can get a coding offer without a degree varies by company type:

  • Elite technology companies: Google, Apple, Facebook, Microsoft, Twitter, and Yahoo! are some of the world’s most elite technology companies. Because of their sheer size and name recognition, they employ recruiters who screen for certain attributes, such as college affiliation. College graduates from top schools apply to these companies in overwhelming numbers. Although it is not impossible to be hired at one of these companies without a college degree, it is very difficult.

    tip To find out which colleges serve as feeder schools for the top technology companies, read The Schools Where Apple, Google, and Facebook Get Their Recruits, available at www.wired.com/2014/05/alumni-network-2.

  • Fortune 1000 companies: Large companies such as Verizon and AT&T hire thousands of engineers a year, making their initial requirements for hiring slightly more flexible. These companies typically look for a college degree or two to three years of relevant experience with a specific programming language.
  • Startups and small companies: Startups are sympathetic to non-degree holders, and many startup employees are currently in college or are college dropouts. Although startups don’t require a college degree, a great deal of emphasis is given on what you’ve built previously and your ability to code under tight deadlines. Well-funded startups are often a good place to gain experience because they need talent to keep growing and often compensate employees as well as the more mature companies do.
  • Freelancing and contracting: When working for contracting websites such as oDesk or for yourself, the main consideration is whether you can complete the job. Few employers check whether you have a college degree; a portfolio of past work, even if it was unpaid, is much more important to securing the job and conveying the confidence that you’ll be able to deliver the project on time and within budget.

tip Interest in nontraditional candidates is growing. Companies such as Gild.com specialize in sourcing and scoring candidates with nontraditional markers of success, such as blog posts, Stack Exchange answers, Twitter comments, and code posted to GitHub.

You Must Have Experience

Studies have shown that there is no correlation between experience and performance in software development. For the new programmer, after you master some basic skills, your performance is affected by much more than the amount of time you’ve spent on a job. Despite the research, however, some companies still screen for years of experience when filling open positions.

Much of the same logic that applies to getting a coding job without a college degree applies here as well. Elite technology companies receive so many resumes and are in such high demand that they can be more selective, and look first at experienced candidates. Fortune 1000 companies usually take one of two approaches: They look for a minimum one to two years of experience, or they understand that as a new hire you’ll need training and use existing staff to help support you.

Startups and small companies typically pay the least attention to the number of years of experience and more attention to your previous projects. Your contributions to an open-source project or a weekend project that attracted real users will generate plenty of interest and enthusiasm for you as a candidate. Although it can be easier to get your foot in the door at a startup, remember that the company’s small size likely means there are fewer people and less money to devote to your training and support, so much of your learning will be self-supported.

Companies of any size willing to invest in developing your programming abilities will typically look for a positive attitude, a willingness to learn, and the persistence to keep trying to solve problems and overcome obstacles.

Tech Companies Don’t Hire Women or Minorities

Whether in the Law and Order: SVU portrayal of women in technology or the national media reports of the high-powered lawsuit filed by Ellen Pao around her treatment in the technology industry, the tech industry has not had the best year for being welcoming of women and minorities.

Admittedly, the numbers show a story that has improved but still has plenty of room to grow, with the tech industry workforce made up of 25% women and 5% minority workers, which is below the national averages for both groups.

tip The Wall Street Journal has compiled publicly released diversity data from top tech companies broken down by leadership and technology positions (see Figure 18-2). Go to graphics.wsj.com/diversity-in-tech-companies.

image

Figure 18-2: WSJ compilation of diversity in tech companies based on public filings.

Although many contributing causes have been identified, including the lack of a pipeline of candidates studying computer science or applying to tech firms, many leading companies and nonprofits are actively trying to increase the recruitment and support of women and minorities in the workplace.

On the corporate side, larger companies are creating programs that train and increase the number of pathways to join the workforce. For example, Google recently launched a $50 million campaign called Made with Code to highlight women in tech and provide opportunities for girls to learn to code.

Similarly, nonprofit organizations such as Code 2040 connect Black and Latino talent to companies. On the training side, nonprofits such as Yes We Code, Girls Who Code, Black Girls Who Code, and Women Who Code teach technical skills to increase the number of women and minorities entering the jobs pipeline.

The Highest Paying Coding Jobs Are in San Francisco

Many of the most famous tech companies, including Apple, Facebook, Google, Twitter, and Yahoo!, are located in Silicon Valley. While these and other companies in the San Francisco and Silicon Valley area hire a large number of tech workers each year, that paints only part of the picture.

Cities across the US pay tech salaries comparable to San Francisco but have a much lower cost of living, as shown in Table 18-1. Two numbers to keep in mind when evaluating a city are the average salaries paid to tech workers and the average cost of living. Salary minus rent provides a simple and rough estimate of take-home pay, though it doesn’t take into account taxes, transportation, and cost of goods and services.

Table 18-1 Salary and Median Rent by City

City

Annual Salary

Annual Rent

Salary Less Rent

St. Louis, MO

$93,829

$9,900

$83,929

Seattle, WA

$99,423

$21,492

$77,931

Austin, TX

$93,135

$18,000

$75,135

Houston, TX

$89,838

$18,000

$71,838

Washington D.C.

$98,323

$26,700

$71,623

New York, NY

$95,586

$29,100

$66,486

San Francisco, CA

$112,610

$48,000

$64,610

Sources: Dice.com Annual Salary Survey, Zillow.com median rent prices

Although San Francisco does pay the most of any city in the country, it looks less attractive after subtracting the cost of rent from annual pay. By contrast, cities such as St. Louis and Seattle offer strong salaries with a much lower cost of living.

tip A cost of living calculator will help you compare salaries in different cities. See, for example, the PayScale cost of living calculator by visiting www.payscale.com/cost-of-living-calculator.

Your Previous Experience Isn’t Relevant

Coding skill is one important factor that tech companies evaluate when hiring coders. But just as important is your domain knowledge and ability to work and lead a team. For example, perhaps you’re a lawyer looking to switch careers and become a coder. Your legal knowledge will far exceed that of the average programmer, and if you target companies making software for lawyers, your perspective will be valuable.

Similarly, whether you previously were in finance or marketing, the issues around managing and leading teams are similar. It is natural for a team of people to disagree, have trouble communicating, and end up short of the intended goal. Your previous experiences handling this type of situation and turning it into a positive outcome will be valued in a tech company, where much of the coding is performed in teams.

Finally, your current or previous job might not seem technical, but others like you have made the transition into a coding job. People from a variety of professions — such as lawyers, teachers, and financial analysts — have learned how to code, and found ways to incorporate their past work experiences into their current coding careers.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.137.201.242