Chapter 12

Training on the Job

In This Chapter

arrow Choosing a task to practice coding at work

arrow Learning to code during and after work

arrow Transitioning to a coding role

I hated every minute of training, but I said, ‘Don’t quit. Suffer now and live the rest of your life as a champion.

Muhammad Ali

As an employee, whether you’re a marketer, a sales person, or a designer, you likely find that technology dominates more and more of your conversations with your boss, coworkers, and clients. Perhaps your boss wants to know which customer segments the company should target with online advertising, and you need to analyze millions of customer records to provide an answer. Or maybe a client wants to add or change a feature and will double the contract if the process can be done in six weeks, and you need to know whether it’s possible. More tangibly, you might find yourself performing mundane and repetitive tasks that you know a computer could do.

You have probably found that an ability to code could help you perform your current job more efficiently. Companies are also noticing the value of having nontechnical employees learn to code, and offering various on-site training options and support. This chapter shows you how to learn to code on the job and ways to incorporate what you’ve learned into your job.

Taking a Work Project to the Next Level

As a busy professional with a full work schedule, you need a tangible project to work toward and keep you motivated while you learn how to code. Think of all the tasks you perform during the week — how many could be automated if you had the right tools and skills?

The following sample tasks can be done more efficiently with some coding and could help you think of a goal of your own:

  • Spreadsheet consolidation: You have fifteen team members who submit timesheets to you using spreadsheets, and you create a consolidated weekly report by manually cutting and pasting entries from each spreadsheet.
  • Content updates: You cut and paste the latest press stories every week into a content management system to update the company’s website.
  • Data retrieval: You work for a financial services company, and monitor acquisitions and sales made by ten private equity firms. Every day you visit each firm’s website to look for updates.
  • Quality assurance: You test updates made to the company’s website by clicking the same set of links to make sure they work as expected.
  • Prototyping designs: You create website designs, but it’s difficult to explain to clients the user experience and interactions through static illustrations.

Whatever task you choose, make sure that you can describe how to complete it from start to finish. For example, the steps to complete the data retrieval task might be listed as follows:

  1. Visit the first firm’s website, and download the list of companies on the acquisitions page.
  2. Permanently store the list. If the acquisition list has previously been retrieved, compare the list downloaded today with yesterday’s version, and note any additions or deletions.
  3. Display the additions or deletions.
  4. Repeat Steps 1–3 for the next firm, until all the firm websites have been visited.
  5. Repeat Steps 1–4 daily.

You may be part of a technical process, such as a designer who hands off mockups to a developer to create. Instead of automating your existing work, you could try to complete work the technical team normally does after you. For example, if you do customer or sales support, you regularly receive customer and client feedback and file support tickets for issues that require an engineer. The number of support tickets always exceeds the number of engineers, so choose a low-priority non-mission-critical issue to fix.

tip Don’t worry about choosing a task that seems too simple. Fixing an issue on a live site currently in use is always more complex than it initially appears. However, try to choose a work-related task so you can ask for help from coworkers.

Learning on the Job and After Work

After you’ve selected a task, you need to learn some coding to be able to fix the issue. Given that you’re already working, going back to school or taking a hiatus from work to learn full-time is likely not feasible. Your next best option is to learn coding on the job, ideally with your company’s support. Companies are increasingly supporting employees who want to expand their technical skillset by providing resources to help them learn and by incentivizing those who learn tangible skills.

Training on the job

You are likely familiar with the compliance and leadership training available at your company, especially in medium- to large-sized firms. However, you may have never looked for the technical training options available to you. Here are some tips to get started learning on the job:

  • Virtual training resources: Corporate training libraries such as Safari, Skillsoft, Lynda, and Pluralsight are popular among companies, and are a good place to start learning programming fundamentals. See Figure 12-1. Each provider has a mix of text and video content, which you can read and view on-demand. Additionally, look for company generated wikis and other training resources that describe internal programming tools and procedures.
  • In-person training programs: Company employees often teach orientation training courses to introduce new engineers to basic concepts and the way to code in the company. Additionally, outside vendors may occasionally conduct specific training courses on more advanced programming topics and languages. Ask whether you can view the list of training topics typically made available to engineers, and then attend introductory training sessions.

    tip Let your supervisor know that learning to code is a development goal, and include it in any reviews. Your supervisor can help you access training programs not traditionally offered to nontechnical employees. Additionally, letting as many coworkers as possible know about your goals will increase your accountability and motivation.

  • Support from company developers: Your company likely has developers who already assist you with the technical side of your projects. Whether you’ve chosen a project to improve the efficiency of your own workflow or are trying to complete work a developer would typically do, make sure to recruit a developer, usually one you already have a relationship with, so you have a resource to help you answer questions when you get stuck.
image

Figure 12-1: Lynda.com is a popular online training tool used in companies.

tip Your coworkers, especially on technical teams, are just as busy as you are. Before asking for help, try finding the answer by reviewing internal materials, using a search engine, or posting a question on a question-and-answer site such as Stack Overflow. Include where you looked because developers might use the same resources to answer questions.

Learning after work

Your company may be too small to have on-site technical training, or your office may not have any developers. Don’t fret! You can take classes after work to learn how to code. Look for classes that meet twice a week in the evenings, and set aside time to do coursework during the weekend.

Companies often partially or fully reimburse the cost for employees who successfully complete a job-related course. Think of a few tangible ways that learning to code would help you do your job better, or take on a new project and then make the pitch to your manager. If you receive approval, make sure to keep up with the coursework so you’re ready to contribute at work after the class is over.

A few places teach in-person coding classes designed for working professionals. Because a live instructor is teaching and assisting you, many charge a fee.

tip Lower cost and free options are usually taught exclusively online, though completion rates for in-person classes are usually higher than online classes. Online coding resources are listed in Chapter 9.

Here are some places where you can learn to code from a live instructor:

  • General Assembly: Teaches part time, in-person classes across a range of subjects, and has a presence in major cities in the US and internationally. Topics include front-end, back-end, data science, and mobile development. Classes typically meet twice a week for three hours over 12 weeks. General Assembly is one of the largest companies teaching coding classes. You can view their classes at www.generalassemb.ly .
  • Local boot camps: As coding has become more popular, coding boot camps have sprung up in many cities around the world. Many of these boot camps offer part-time programs that don’t require you to quit your job. You can search boot camps by subject, location, and cost by using Course Report, available at www.coursereport.com , and CourseHorse, available at www.coursehorse.com.

    tip Before signing up, make sure you review the instructor, the physical location, and the cost, which should be no more than $4,000 for a part-time program with 70 hours of instruction. Course Report profiles 10 part-time boot camps at www.coursereport.com/blog/learn-web-development-at-these-10-part-time-bootcamps.

  • College courses: Traditionally, college computer science courses were theoretical, but colleges have recently started offering more applied web development and data science courses. Check your local university or community college’s continuing education departments to see what’s offered. For example, the City College of New York offers an Intro to Web Development class with 16 hours of instruction for $280.
  • Library classes: Public libraries offer desktop productivity and other computer classes, and have recently started offering web development classes as well. For example, the New York Public Library has a free, 10-week program called Project_<code>, in which you build a website for a small business.

Freelancing to Build Confidence and Skills

You’ve taken training classes at work, found a coding mentor, and solved your first problem by using code. Congratulations! So where do you go from here? Like a foreign language, if you stop coding you’ll forget what you’ve learned. The most important thing is to keep coding and building your confidence and skills.

Here are a few ideas for you to practice coding in the workplace:

  • Clone a website: Unlike programs that may have code you can’t access, company websites allow you to see and save text and images. You may not be able to recreate all the functionality, but choose a specific company’s web page and try creating a copy of the layout, images, and text. This process will help you practice your HTML, CSS, and JavaScript skills.
  • Build a mobile app: People purchase more mobile devices and spend more time on them than desktops and laptops. Still, some companies have been slow to adapt, and don’t have a mobile presence. Create a mobile website using HTML and CSS, or a native application using Swift for the iPhone or Java for Android devices.
  • Code a small workplace utility app: There are many tasks that everyone at your company and in your office performs. Your coworkers come to the office around the same time, eat lunch at the same places, and leave work using the same modes of transportation. They also share the same frustrations, some of which might be solved with a simple program. Try building an app that solves a small workplace annoyance — no one knows what would appeal to your coworkers better than you. For example, build a website that sends an email to those who opt-in whenever there is a traffic jam on the highway that everyone uses to leave work. Similarly, you could build an app that sends an alert if any of the restaurants close to work fails a health inspection. The goal here is to learn a new technology to solve a problem, and get real feedback from other users.

After you’ve practiced and built a few things, publish your code on a hosting service such as GitHub and create a portfolio website pulling everything you’ve built into one place. You’ll be able to share and others will be able to find your work, and the progression in your coding skills will be visible for anyone to see. Chapter 13 has more tips and examples on what makes for a good portfolio website.

tip If you are stuck and can’t think of anything to build, try freeCodeCamp, available at www.freecodecamp.com. The website, shown in Figure 12-2, connects working professionals with non-profits who need a website or app built. After you complete the challenges, you’ll start working on a vetted non-profit project. Current project include an animal adoption database for Latin America through the non-profit People Saving Animals, and a charity fundraiser website for the Save a Child’s Heart Foundation.

image

Figure 12-2: freeCodeCamp connects professionals who code together for non-profits.

Transitioning to a New Role

Like any skill, coding can take a lifetime to master, but after you learn a little you may find that you want to move into a technology-based role. The first step is to do a self-assessment and evaluate what you like and dislike about your current role, and how that matches with the technology role you want. You’ll likely also need input from others; networking and chatting with developers you trust will help give you a balanced view of the job. If you decide to take the leap, you have the big advantage of being inside a company, so you’ll know what they need before a job posting is ever written.

Assessing your current role

You’ve worked hard to get to where you are — perhaps you just landed a job in a competitive industry or have been working and advancing in your role for a few years. In either case, if you’re thinking about switching to a coding job, you should do a self-assessment and decide whether a new role would be a better fit for you.

Think about what you like and dislike about your current job. For some people, the issue is office politics or poor team dynamics, but these are present in every role that involves working with other people, and switching to a coding job carries the risk of seeing the same issues. On the other hand, if you are ready to learn a new topic or have limited advancement opportunities, switching roles could be a good idea.

After evaluating your current job, think about what you think you would like or dislike about a coding job. For some, tech jobs seem attractive because companies overnight can become worth billions of dollars and employee salaries are reportedly in the millions. It is true that companies such as Facebook and Twitter are worth billions of dollars, and engineers at these companies are well compensated, but these are the exceptions not the rule. According to the federal Bureau of Labor Statistics, web developers and computer programmers make on average between $65,000 and $75,000, which is higher than many jobs but will not make you a millionaire overnight.

Networking with developers

One major benefit you have over other job seekers is that you probably work with developers who hold the position you’re trying to obtain. Seek out some of these developers, either from people you already work with or in a department that you think is interesting.

After you connect with a few people, ask them how they spend their days, what they enjoy and what they would change about their job, and for any advice they have for you on how to make the transition. These types of conversations happen less frequently than you might think, so don’t be shy about reaching out — you might be surprised to find that some developers are happy to chat with you because they are wondering how to transition into a nontechnical or business role.

The biggest constraint any company faces when hiring externally is not finding people who are technically capable of doing the job but finding people who will fit in with the company and the team culturally. As a current employee, you’ve already passed one culture screen, and you’re in a good position to learn about how you might fit in with the existing developer culture at the company. After you build relationships with developers, maintain them and keep them updated on your goals. At some point, they’ll likely be asked how serious you are and whether you’d be a good fit.

Identifying roles that match your interest and skills

Technical roles are just as numerous and varied as nontechnical roles. The positions include data analysts who analyze big data, traffic analysts who monitor website traffic and patterns, web developers who create website front ends and back ends, app developers who create mobile web apps and native apps for mobile devices, and quality assurance testers who test for and help solve bugs in new releases.

Apply for roles in which you have a strong interest. If you like working with statistics and math, a data analyst or traffic analytics role might suit you best. Or if you’re a visual person and like creating experiences others can see, consider a front-end developer role.

No matter the role, you should aim for a junior title and be committed to learning a lot on the job. Don’t be afraid of starting over. For example, if you’ve been in marketing for four years and are interested in being a web developer, you will likely start as a junior developer. Your previous job experience will help you be a better team member and manager, which could help you advance more quickly, but you’ll need to show that you’re able to complete basic technical tasks first. Also, no matter the role, you’ll be spending a lot of time learning on the job, and will be relying on your coworkers to teach you, so choose your role and team carefully.

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

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