Getting a Coding Job For Dummies. Nikhil AbrahamЧитать онлайн книгу.
have a good deal of flexibility and don’t necessarily have to sit behind a desk in an office. For example, some freelancers travel often for pleasure, and can be found working in cities such as Boston one month and Bali the next month. Finally, some coders freelance full-time, and build their business by doing work for existing clients and pitching new work to client referrals.
One issue with freelancing is that you are always looking for the next job. A few websites, such as Freelancer (www.freelancer.com) and Upwork (www.upwork.com), formerly odesk.com, help provide freelancers with steady work by creating communities that connect employers and freelancers. See Figure 1-5.
Figure 1-5: Upwork helps freelancers find and bid on contract coding jobs.
These sites create online reputations for both freelancers and companies, which helps each side feel more confident that the work will be completed and the agreed upon amount will be paid.
Chapter 2
Exploring Coding Career Paths
In This Chapter
▶ Improving your existing job
▶ Exploring entry-level full-time coding roles
▶ Understanding skills and tasks in various coding roles
We shall not cease from exploration, and the end of all our exploring will be to arrive where we started and know the place for the first time.
For many people, the words “coding career” evoke an image of a person sitting in a dimly lit room typing incomprehensible commands into a computer. The stereotype has persisted for decades – just watch actors such as Matthew Broderick in War Games (1983), Keanu Reeves in The Matrix (1999), or Jesse Eisenberg in The Social Network (2010). Fortunately, these movies are not accurate representations of reality. Just like a career in medicine can lead to psychiatry, gynecology, or surgery, a career in coding can lead to an equally broad range of options.
In this chapter, you see how coding can augment your existing job across a mix of functions, and you explore increasingly popular careers based primarily on coding.
Augmenting Your Existing Job
Many people find coding opportunities in their existing job. It usually starts innocently enough, and with something small. For example, you may need a change made to the text on the company’s website, but the person who would normally do that is unavailable before your deadline. If you knew how to alter the website’s code, you could perform your job faster or more easily. This section explores how coding might augment your existing job.
Coding career paths are extremely varied. For some people, the path starts with using code to more efficiently perform an existing job. For others, coding is a way to transition to a new career. As varied as the career path is, so too are the types of companies that need coders.
As more people carry Internet-capable mobile phones, businesses of every type are turning to coders to reach customers and to optimize existing operations. No business is immune. For example, FarmLogs is a company that collects data from farm equipment to help farmers increase crop yields and forecast profits. FarmLogs needs coders to build the software that collects and analyzes data, and farmers with large operations may need coders to customize the software.
To build or customize software, you’ll need to learn new skills. Surprisingly, the time required to learn and start coding can range from an afternoon of lessons to a ten-week crash course to more time-intensive options, such as a four-year undergraduate degree in computer science.
Professionals in creative design include those who
✔ Shape how messages are delivered to clients
✔ Create print media such as brochures and catalogs
✔ Design for digital media such as websites and mobile applications
Traditionally, 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 learn 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.
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 feature because a major customer asked about it during a sales call. But what if most of your smaller customers, who 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 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 2-1).
Figure 2-1: Article about a ticket-generating fire hydrant.