Chapter 12
In This Chapter
Choosing a task to practice coding at work
Learning to code during and after work
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.
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:
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:
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.
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.
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:
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.
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.
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.
Here are some places where you can learn to code from a live instructor:
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
.
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
.
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:
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.
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.
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.
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.
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.
3.135.182.221