软件开发向大数据开发过渡
Over the past ten years, there has been an explosion of interest in web development, and the number of people looking to make a career transition into the field.
在过去的十年中,对Web开发的兴趣激增,并且有很多人希望进入该领域进行职业过渡。
The 2008–09 financial crisis caused millions of young adult workers to lose their jobs and rethink their entire careers from scratch. From the ashes of this crisis, web development has become the darling of the job market.
2008-09年的金融危机使数百万成年青年工人失业,并从头开始重新考虑整个职业。 从这场危机的灰烬中,网络开发已成为就业市场的宠儿。
An increased number of companies, small and large, have turned to the wonders of web development to disrupt or adapt to the new “web 2.0” environment. These companies know that without a web presence, their businesses are doomed to be ignored.
越来越多的公司,无论大小,都已经转向Web开发的奇迹来破坏或适应新的“ Web 2.0”环境。 这些公司知道,如果没有网络,它们的业务注定会被忽略。
The spike in interest in web development has led to millions of young adults thinking of it not just as a skill to learn, but as a career to adopt. But for those who have already gone through college and spent a life worth of savings to get their degree, switching their careers to web development seems like a tough proposition.
对网络开发的兴趣激增,导致数百万年轻人将其视为一种学习技能,而不是一种职业。 但是对于那些已经上过大学并且花了毕生积蓄来获得学位的人来说,将职业转向Web开发似乎是一个艰难的提议。
If you’re in this position, the questions are hard. Do you have to start all over again, taking expensive and lengthy classes to learn the skills? Or can you jump ship from a traditional career to web development and still make it until you get a well-paying job?
如果您处于这个位置,问题将很难解决。 您是否需要重新开始,上昂贵且冗长的课程来学习技能? 还是可以从传统的职业过渡到Web开发,并且在获得高薪工作之前仍能做到?
The answer is, no, you don’t have to go back to college to become a web developer. And yes, you can make a career transition to web development if you prepare yourself for it.
答案是,不,您不必回到大学就可以成为Web开发人员 。 是的,如果您为此做好了准备,就可以向Web开发过渡。
People from all backgrounds have been able to switch to a career in web development. Their advice will shine a light for those who want to do the same without having to sacrifice everything in the way.
来自不同背景的人已经能够转而从事网络开发事业。 他们的建议将为那些想要这样做而不必牺牲一切的人提供帮助。
选择正确的自我教育路径 (Choose the Right Self-education Path)
To say that it is possible to become a web developer through self-education may have seemed like alchemy 20 years ago. In 2020, self-education appears to be the rule rather than the exception.
要说有可能通过自我教育成为一名Web开发人员,这似乎在20年前是个炼金术。 在2020年,自我教育似乎是规则而不是例外。
The 2016 StackOverflow annual survey found that almost 70% of its respondents considered themselves as “self-taught.” Whether they learned to code entirely on their own or partially is something the survey left out. However, it still shows the relevance self-education has for professional web developers.
2016年StackOverflow年度调查发现,近70%的受访者认为自己是“自学成才”。 这项调查遗漏了他们是否学会完全自己编写代码还是部分编写代码。 但是,它仍然显示了自我教育对专业Web开发人员的相关性。
For someone who wants to become a developer, learning on their own is more of a pragmatic obligation than a moral one. Without a formal degree, self-education is the only path to acquire the skills necessary to launch a web development career.
对于想要成为开发人员的人来说,独立学习更多的是务实的义务,而不是道德的义务。 没有正式的学位,自我教育是获得开展网络开发职业所需技能的唯一途径。
The question, however, shouldn’t be focused on whether self-education is a good idea or not. What truly matters, according to several developers, is to pick the right language and put all energies available into mastering it before focusing on a specific framework. It seems, unlike what the business saying goes, that it’s better to put all the eggs in one basket than to spread them out.
然而,问题不应该集中在自我教育是否是一个好主意上。 一些开发人员认为,真正重要的是选择正确的语言,并在专注于特定框架之前将所有精力投入到掌握它的过程中。 似乎与企业说法不同,将所有鸡蛋放到一个篮子里比散开它们更好。
For Lexis Hanson, a former finance professional turned developer, mastering a programming language first — one based on her needs — and focusing on frameworks and libraries second was critical to her self education.
对于以前由金融专业转为开发人员的Lexis Hanson来说,首先要掌握一种编程语言(一种基于她的需求),然后再着重于框架和库对于她的自我教育至关重要 。
[Mastering a programming language first] forced me to stay focused on getting extremely comfortable with vanilla JavaScript before diving into frameworks, which made that next step significantly easier.
[首先精通编程语言]迫使我在进入框架之前一直专注于对原始JavaScript的适应,这大大简化了下一步。
Putting language over frameworks may be the smart decision, but it still doesn’t help to pick the right one. One solution that can shine a light on the issue is to pick a personal project. The specific technical needs required to fulfill your project will guide your choices better.
将语言置于框架之上可能是明智的决定,但仍无济于事。 一个可以解决这个问题的解决方案是选择一个个人项目 。 完成项目所需的特定技术需求将更好地指导您的选择。
One self-taught developer who’s in favor of this approach is Avi Flombaum. Instead of picking the first language that pops into a Google search, he explains:
Avi Flombaum是支持这种方法的自学成才的开发人员。 他没有选择弹出Google搜索的第一语言,而是解释了 :
Beginners shouldn’t care about the languages they’re using. They should care that their chosen language matches their goals, if they’re getting expertise and depth and in it — and, of course, if they love using it.
初学者不应该在乎他们使用的语言。 他们应该注意自己选择的语言是否符合他们的目标,如果他们正在获得专业知识和深度以及对它的理解—当然,如果他们喜欢使用它。
A personal project will foster your passion for programming, and it will help you decide on the language you should consider to build it. Some common ideas include:
一个个人项目将激发您对编程的热情,并将帮助您决定构建语言时应考虑的语言。 一些常见的想法包括:
- a static website 静态网站
- a basic app, like a to-do list 基本应用,例如待办事项清单
- an automation script 自动化脚本
If you’re short of ideas, you can check the r/DailyProgrammer subreddit, which posts daily projects with a detailed background, challenges, and inputs to use.
如果您缺乏想法,可以查看r / DailyProgrammer subreddit,其中发布了每日项目,其中包含详细的背景,挑战和要使用的输入。
Another vital aspect to consider before settling on a specific language is to think about your natural problem-solving methodologies. How do you break down problems? How do you think about their solutions?
在使用特定语言之前要考虑的另一个重要方面是考虑您自然解决问题的方法。 您如何解决问题? 您如何看待他们的解决方案?
In the case of Hanson, she wasn’t sure whether to choose a language based on object-oriented programming or functional programming. But instead of going with the wisdom of the crowds and picking a popular language, she thought about the way she solved problems in general. Based on that introspection, she chose the programming paradigm that best suited her (which happened to be JavaScript).
对于汉森(Hanson),她不确定是选择基于面向对象编程还是函数编程的语言。 但是,她没有考虑人群的智慧并选择一种流行的语言,而是考虑了自己解决问题的方式。 基于这种内省,她选择了最适合她的编程范例(碰巧是JavaScript)。
Functional programming resonated with me (you might have other preferences), and I challenged myself to approach problems from a “functional-first” perspective. In my opinion, this forced me to think more flexibly about programming and how functions and components should “compose” with one another.
函数式编程引起了我的共鸣(您可能还有其他偏好),我挑战自己从“函数优先”的角度来解决问题。 在我看来,这迫使我更加灵活地思考编程以及功能和组件应如何“组成”彼此。
As you learn the basics of a language, consider reading its documentation, especially if you’re already toying with a specific framework. At first, this may seem hard, but the more you practice your skills, and the more you read the documentation, the more sense it will all make.
在学习某种语言的基础知识时,请考虑阅读其文档,特别是如果您已经在使用特定的框架。 乍一看,这似乎很难,但是您越是练习技能,并且阅读文档越多,它们的意义就越大。
Vinicius Brasil recommends using GitHub to find and read production code in the language you’re learning. He adds, “If you are confident to contribute, that’s even better.”
Vinicius Brasil 建议使用GitHub以您正在学习的语言查找和阅读生产代码。 他补充说:“如果您有信心做出贡献,那就更好了。”
Whenever you get stuck, don’t panic. Web development is a friendly skill whose practitioners share solutions to common problems. Stack Overflow is the most popular place developers go to ask questions and share advice. And when you can’t seem to find a solution, remember: “Google is your friend.”
每当您遇到困难时,请不要惊慌。 Web开发是一种友好的技能,其从业者可以共享常见问题的解决方案。 堆栈溢出是开发人员去提问和分享建议的最受欢迎的地方。 而且,当您似乎找不到解决方案时,请记住:“ Google是您的朋友 。”
Among the many challenges self-educated developers often face is getting accustomed to the rather strange way of writing code. Many experienced developers will tell you that the way you write a string of code is as important as what that code is meant to do. The truthfulness of such a statement is a discussion of its own, and it has its merits, but for a beginner developer who’s learning on the side and with their own resources, writing perfect code is more of a luxury than a necessity, at least in the beginning.
自学成才的开发人员经常会面临许多挑战,其中包括习惯于编写代码的相当奇怪的方式。 许多经验丰富的开发人员都会告诉您,编写代码字符串的方式与该代码的意图一样重要。 这样的陈述的真实性是对它自己的讨论,它有其优点,但是对于一个初学者来说,他们正在一边学习并利用自己的资源,编写完美的代码更是一种奢侈,而不是必要,至少在开始。
Such is the case of Jeremy Gunter, whose “learn first, clean later” mentality became the greatest boon to his confidence during the early days of his self-education. His methodology consisted of using pseudo-code to make his code work and then Googling how they are supposed to be written.
杰里米·甘特 ( Jeremy Gunter)就是这种情况,他的“自学成才 ,后来才干净”的心态在他接受自我教育的初期就成为最大的福音。 他的方法包括使用伪代码使他的代码正常工作,然后使用Google搜索来查找应如何编写。
Instead of going mental trying to remember method names, I focused on what action I needed to perform. When I wanted to add an item to the beginning of an array, I found it easier to google the phrase “add item to beginning of array JavaScript” than to try and use my own memory to differentiate between shift(), unshift(), and pop().
我没有试图记住方法名称,而是专注于需要执行的操作。 当我想将项目添加到数组的开头时,我发现用谷歌搜索“将项目添加到数组JavaScript的开头”比尝试使用自己的内存来区分shift(),unshift(),和pop()。
Any experienced developer will probably grind their teeth at the idea of using pseudo-code over syntax. Still, for the self-educated folk, Gunter’s approach resembles more to Mark Zuckerberg’s “learn fast and break things” mantra than to Tim Peters’ “beautiful is better than ugly.”
任何有经验的开发人员都可能会在语法上使用伪代码的想法下决心。 尽管如此,对于自学成才的人来说,冈特的方法更像马克·扎克伯格(Mark Zuckerberg)的“快点学习并打破事物”的口头禅,而不是蒂姆·彼得斯(Tim Peters)的“美丽胜于丑陋”。
All in its time, Mr. Peters, all in its time.
彼得斯先生,一直以来,都在它的时间里。
建立网络 (Build a Network)
College education is often seen as a mechanical process where a student acquires all the required knowledge to become a professional in their chosen field. Under this mentality, anything that doesn’t imply studying and memorizing technical concepts is secondary.
大学教育通常被视为一种机械过程,在该过程中,学生获得了所有必需的知识,以成为所选领域的专业人士。 在这种心态下,任何不意味着学习和记住技术概念的事情都是次要的。
This simplistic idea leaves a significant advantage that college-educated developers have over self-taught ones, and on which the latter must work if they want to be in an equal position to the former. That is, the professional network college provides to its students.
这种简单的想法留下了一个重要的优势,即受过大学教育的开发人员比自学成才的开发人员具有更大的优势,如果他们想与前者处于同等地位,后者必须在上面工作。 即, 专业网络学院向其学生提供。
A professional network is built upon a web of mentors, professors, job seekers, and classmates. Some of these people will eventually become colleagues, and some will act as referrals and references for job prospects, both critical elements to succeed in any professional career.
在导师,教授,求职者和同学的网络上建立起专业的网络。 其中一些人最终将成为同事,而另一些人将作为工作前景的推荐人和参考人,这是在任何职业生涯中取得成功的关键要素。
To dismiss the importance that a network like this has over web developers is to undervalue one of the most prominent advantages colleges bring to their students. Thus, anyone who is considering switching to a career in web development must prioritize building this network while they develop their skillset.
否认像这样的网络对Web开发人员的重要性,是低估了大学给学生带来的最显着优势之一。 因此,任何正在考虑转而从事Web开发职业的人都必须在开发技能时优先考虑建立该网络。
As a self-educated developer, you may not have professors or job seekers around you. The work, then, should be focused on building strong relationships with those developers who may help you in your journey.
作为一个自学成才的开发人员,您周围可能没有教授或求职者。 那么,这项工作应该集中在与那些可能在您的旅途中帮助您的开发人员之间建立牢固的关系。
To start, you need to consider participating in local development events and meetups. Whether these meetings are general or language-specific isn’t important. What matters is that you proactively meet other people and become a part of the community.
首先,您需要考虑参加本地开发活动和聚会。 这些会议是一般性会议还是特定语言会议并不重要。 重要的是您要主动结识其他人并成为社区的一部分。
Nnena Ndukwe, a college dropout and former tanning consultant, explains the usefulness of attending meetups throughout her self-education journey:
Nnena Ndukwe是大学辍学者和前晒黑顾问,她解释了在整个自我教育过程中参加聚会的好处:
Having these conversations about tech with people in the field helped me gain more knowledge about opportunities for work, organizations to volunteer for, and tech or social events to attend that would be fulfilling. One opportunity always leads to the next via networking.
与现场人员进行了有关技术的对话,这使我获得了更多的工作机会,组织志愿服务以及参加技术或社交活动的知识。 机会总是通过网络带来下一个机会。
To prove her point, Nnenna says she got her first development job through a bootcamp she heard about in one of the meetups she participated in. Whether meetups generate jobs directly or indirectly isn’t relevant. The point is that they compound the opportunities available for switching to a web development career.
为了证明自己的观点,Nnenna说,她是通过参加一个聚会中听说的一个训练营获得了她的第一个开发工作的。聚会是直接还是间接产生工作都无关紧要。 关键是它们增加了转换为Web开发职业的机会。
The most popular site to find local meetups is Meetup.com, but you can also use Facebook events and Eventbrite. A quick search in any of these sites will bring you dozens of meetups in your area.
查找本地聚会的最受欢迎的网站是Meetup.com,但您也可以使用Facebook事件和Eventbrite。 在任何这些站点中进行快速搜索都会为您带来数十次聚会。
Just like Google is your friend when it comes to learning to code, you can also use it to find events in your area. You can use a general search query like “web development” plus your city, or a more specific one like “Python” (or any other language or framework you want) plus your city, and you’ll get many events close to you.
就像Google在学习编码方面是您的朋友一样,您也可以使用它来查找您所在地区的事件。 您可以使用一般的搜索查询,例如“ Web开发”加上您的城市,或者使用更具体的查询,例如“ Python”(或您想要的任何其他语言或框架)加上您的城市,您会发现许多事件在您身边。
You can both participate as an attendee and use the networking available to meet others who can help you, or you can give a talk on your self-taught process.
您既可以作为参与者参加,也可以使用可用的网络与可以帮助您的其他人会面,或者可以就自学成才的过程进行演讲。
Most attendees will be surprised and glad to meet someone who’s trying to make the switch without a degree. You may even meet others who happened to achieve your career switching goal and who can give you feedback and support on your journey.
多数与会者会感到惊讶和高兴,因为他们遇到了一个没有学位的人。 您甚至可能会遇到碰巧实现您的职业转换目标并且可以为您的旅途提供反馈和支持的其他人。
Another option to build a network is to participate in online communities. There are dozens of Slack chats for developers, and these will provide you with a great deal of information about the latest news, ideas, and people to connect with. You can even search for developers in your area you can meet for a coffee.
建立网络的另一种选择是参与在线社区。 针对开发人员的数十种Slack聊天 ,这些聊天将为您提供有关最新新闻,想法和与之联系的人的大量信息。 您甚至可以在您可以碰杯咖啡的地方搜索开发人员。
These events and meetups aren’t just useful for meeting colleagues. As Nnenna Ndukwe attests, they are also effective for meeting potential clients or employers as well.
这些活动和聚会不仅对与同事见面有用。 正如Nnenna Ndukwe所证明的那样,它们在满足潜在客户或雇主方面也非常有效。
利用零工经济 (Leverage the Gig Economy)
There will be a point in your journey to becoming a web developer where you’ll start to consider the idea of getting a job. No amount of studying will prepare you for the responsibilities of a real job, regardless of your educational background. When should you start sending applications?
在成为一名Web开发人员的过程中,会有一个起点,您将开始考虑找工作的想法。 无论您的学历如何,学习的数量都不会使您为真正的工作做好准备。 您应该何时开始发送申请?
The most straightforward answer is that there’s never a right or wrong time to do so. You can start applying for jobs soon after you start studying web development or years later. If you’re afraid you’re still not ready to make the switch, one method you can apply to build confidence and experience is to leverage the “gig economy.”
最直接的答案是,永远没有正确或错误的时间这样做。 在您开始学习Web开发之后或数年之后,您可以立即开始工作 。 如果您担心自己还没有做好转变的准备,可以用来建立信心和经验的一种方法是利用“零工经济”。
Sites like Craigslist, Fiverr, and PeoplePerHour allow for people like yourself to get paid “gigs” — time-limited, contracted work. Not only do these gigs help you make some money on the side, but they help you get working experience (and maybe even references and referrals).
诸如Craigslist,Fiverr和PeoplePerHour之类的网站允许像您这样的人获得报酬“演出” —限时的合同工。 这些演出不仅可以帮助您赚钱,而且还可以帮助您获得工作经验(甚至可能是推荐和推荐)。
According to Walt Schlender, gig jobs are unique in the sense they are —
根据Walt Schlender的说法,演出工作在以下方面是独一无二的:
too small, too specialized, or too experimental to warrant hiring a full-time employee. The employers they work for hire them because they need to get a temporary job done, and the gig worker is available and willing to do the work.
太小,太专业或太具有实验性而无法雇用全职员工。 他们工作的雇主是雇用他们的,因为他们需要完成临时工作,演出工作人员愿意并愿意做这项工作。
The revenue potential from using these platforms is famous for being low—demand, is often cost-oriented, and the offer adapts accordingly, having a large chunk of its user base from low-wage countries like Pakistan and the Philippines. To think it’s possible to make a living from these platforms isn’t necessarily the smartest idea, but for someone who lacks professional experience, this can be a great opportunity — especially for those with a severe case of “impostor syndrome.”
使用这些平台带来的潜在收入以需求低而著名,通常以成本为导向,并且该产品也相应地进行了调整,其用户群中有很大一部分来自巴基斯坦和菲律宾等低薪国家。 认为有可能通过这些平台谋生并不一定是最明智的主意,但是对于缺乏专业经验的人来说,这可能是一个巨大的机会,尤其是对于那些患有“冒名顶替综合症”的人。
Self-taught developer and former chef Tania Rascia explains that freelancing on Craigslist helped her build her resume and learn on the go while still making some money on the side. She kept applying to jobs as she studied until she finally got a full-time web development job. As an interesting note, she says:
自学成才的开发商和前厨师Tania Rascia 解释说 ,在Craigslist上从事自由职业可以帮助她建立简历并在旅途中学习,同时还能赚一些钱。 在学习期间,她一直申请工作,直到最终获得了全职的Web开发工作。 作为一个有趣的注释,她说:
The biggest thing that helped me was making a blog to document everything I learned, and I would recommend the same to anyone who wants to learn.
对我最大的帮助是建立了一个博客来记录我所学的一切,我会向所有想学习的人推荐。
Other freelancing sites like Upwork and Freelancer are good alternatives for these types of jobs. One individual gig may not be the be all and end all to your career, but over time, they compound. Before you know it, a dozen or more of these gigs in your resume may work as well as having studied in college, especially if you’ve forked everything in your GitHub account.
其他自由职业者网站(如Upwork和Freelancer)是此类工作的不错选择。 一个人的演出可能不是事业的全部,但随着时间的流逝,他们会更加艰难。 在不知不觉中,您履历表中的十几个或更多演出可能与在大学学习时一样有效,特别是如果您已将GitHub帐户中的所有内容分叉。
What’s more, some of these gigs can transform into bigger jobs. Schlender, who started his web development career through the use of the gig economy, explains:
而且,其中一些演出可以转变为更大的工作。 Schlender通过使用演出经济开始了他的网络开发职业,他解释说:
I would bill out a gig for 2 hours (the gig actually took me a bit longer) and I would deliver exactly what my client asked me for. The next day the client would ask if I had time for another project.
我要花2个小时的演出费(演出实际上花了我更长的时间),并且我会按照客户的要求准确交付。 第二天,客户会问我是否有时间进行另一个项目。
Every project I created was another project I could add to my portfolio. Every project also expanded my network. People I met would refer their friends and colleagues to me. Over the years, I ended up working for some pretty big-name companies.
我创建的每个项目都是可以添加到我的投资组合中的另一个项目。 每个项目也扩大了我的网络。 我遇到的人会将他们的朋友和同事推荐给我。 这些年来,我最终在一些知名公司工作。
Another similar (and equally valid) alternative is to give away your skills to non-profits, local businesses, or your network. Free work, if used correctly, is a currency of its own. It may not have monetary value, but it has moral significance. It builds good-will, and if the person or company receiving it knows about your journey and gets value from it, they’ll likely recommend you to people who need a professional developer in their team.
另一个类似(同样有效)的替代方法是将您的技能分配给非营利组织,本地企业或您的网络。 免费工作,如果使用得当,本身就是一种货币。 它可能没有货币价值,但具有道德意义。 它建立了良好的信誉,如果接收它的人或公司了解您的旅程并从中获得价值,他们可能会向需要团队中专业开发人员的人推荐您。
Companies like Catchafire or donate:code can be the perfect leverage to practice your new skills in real projects that get you experience and build your confidence. As long as you treat these non-profit projects as work and not just a fun thing you do for selfish reasons, you’ll learn a lot, and the organizations involved will benefit greatly. And you’ll also build good karma if you’re into that.
像Catchafire或donate:code之类的公司可以成为在实际项目中练习新技能的完美杠杆,从而使您获得经验并树立信心。 只要您将这些非营利项目视为工作,而不仅仅是出于自私的原因而做的一件有趣的事,您就会学到很多东西,并且所涉及的组织将受益匪浅。 如果您对此有所了解,也将建立良好的业力。
结论 (Conclusion)
Switching to a technical career like web development is undoubtedly a scary proposition. Despite what college can bring you, a deep passion for the field, and a lot of hard work can compensate for most of the advantages educational institutions bring to their students.
转向像Web开发这样的技术职业无疑是一个可怕的提议。 尽管大学能为您带来什么,但对该领域的浓厚热情以及大量的努力可以弥补教育机构为学生带来的大部分优势。
Studying, practicing, and sharing what you learn form a trifecta for success for anyone who’s self-learning any skill. If you embrace it, your new web development career will have a great chance of success. Good luck!
学习,练习和分享您所学的知识,对于任何自学任何技能的人来说都是成功的三重奏。 如果您接受它,那么您新的Web开发职业将有很大的成功机会。 祝好运!
Ready to begin the journey? There’s plenty more you can do to prepare. Learn how top developers ace job interviews, how to prepare for a remote job search and find the right remote job for you, and how participating in the development community can improve your career prospects.
准备开始旅程了吗? 您还可以做更多准备工作。 了解顶级开发人员如何进行面试 ,如何为远程工作寻找准备并为您找到合适的远程工作 ,以及参与开发社区如何改善您的职业前景。
And when you are ready, find the best remote jobs in tech on SitePoint Remote.
当您准备就绪时,可以在SitePoint Remote上找到技术上最好的远程作业 。
翻译自: https://www.sitepoint.com/how-to-make-a-career-transition-into-web-development/
软件开发向大数据开发过渡