赞
踩
初级开发人员的缺点
Beginning your career as a junior developer can be scary. There will be many unknown challenges, things to learn, and difficult choices to make. And sometimes, we get these choices wrong. It’s only natural, and we shouldn’t beat ourselves up when it happens.
作为初级开发人员开始您的职业生涯可能会令人恐惧。 将会有许多未知的挑战,需要学习的东西以及难以做出的选择。 有时,我们会错误地选择这些选项。 这是自然而然的事,我们不应该在发生这种情况时打败自己。
What we should do though, is learn from this. As a senior developer, I’ve made my fair share of mistakes. Here are the 7 big mistakes I made when I was starting out as a junior developer, and how to avoid them.
但是,我们应该从中学到东西。 作为高级开发人员,我犯了很多错误。 这是我刚开始作为初级开发人员时犯的7大错误,以及如何避免这些错误。
If you’re teaching yourself to code, or coming to the end of your university degree, getting your first job will be one of your main goals. It’s the light at the end of a long tunnel.
如果您正在教自己编码,或者即将完成大学学位,那么找到第一份工作将是您的主要目标之一。 这是长隧道尽头的曙光。
And getting a job is not easy. There are more people than ever trying to get junior developer jobs. You need to write a killer CV/Resume, make it through many rounds of interviews, and the process can take forever.
而且找到工作并不容易。 有越来越多的人试图获得初级的开发人员职位。 您需要编写一份杀手级简历/简历 ,经过多次采访后才能完成,整个过程可能要花很长时间。
Which is why it’s understandable how tempting it can be to jump on any job offer you get with both hands.
这就是可以理解的是,为什么要用双手拿到任何工作机会,多么诱人。
Yet, this can be a bad move. My first job was far from ideal, from a learning and enjoyment perspective. The developers had a “meh, it’ll do attitude” and often did things half-heartedly. There was a culture of blame, and I was often required to cut corners to meet tight deadlines. Worst of all, I wasn’t learning anything.
然而,这可能是一个坏举动。 从学习和娱乐的角度来看,我的第一份工作远非理想。 开发人员有一种“嗯,它会做的态度”,并且常常三心二意。 有一种责备文化,我经常被要求偷工减料,以应付紧迫的最后期限。 最糟糕的是,我什么都没学。
I ignored the warning signs in interviews because I was blindsided by the opportunity of getting a job. Any concerns I had were thrown out the window when I received the offer with a nice salary to boot.
我忽略了面试中的警告信号,因为我对找工作的机会视而不见。 当我收到一份 薪水可观的报价时,我的所有疑虑都被抛在了窗外。
Big mistake.
大错。
Your first job is important. It gives you a taste of being a true developer, and the experience and mentorship you receive will set you up for the rest of your career. Which is why you should thoroughly do your research on the role and the company before accepting any job offer. The last thing you want is a bad experience or bad mentors!
您的第一份工作很重要。 它使您成为一名真正的开发人员,并且获得的经验和指导将为您的职业生涯奠定基础。 这就是为什么在接受任何工作机会之前,应该对角色和公司进行彻底的研究。 您想要的最后一件事是糟糕的经历或糟糕的导师!
So, before applying or accepting any job offer:
因此,在申请或接受任何工作机会之前:
Search for the company on Glassdoor, the internet, their website, and read the reviews. This will give you a good feel for if the company is suited to your goals and needs.
在Glassdoor ,互联网,他们的网站上搜索公司,然后阅读评论。 如果公司适合您的目标和需求,这将为您带来良好的感觉。
If anyone in your network has worked there or knows anyone who works there, have a chat with them. Find out what they like, what they don’t like, and generally what their experience was.
如果您网络中的任何人曾在此工作或认识任何人,请与他们聊天。 找出他们喜欢的东西,不喜欢的东西以及他们的经历。
The interview is the best chance you have to learn about the company, so make sure you come armed with a set of questions to ask the interviewer. A few things you can ask are:
面试是您了解公司的最佳机会,因此请确保准备好一系列问题来询问面试官。 您可以问的几件事是:
No doubt the path to becoming a fully fledged developer can be a confusing one. There are many languages, frameworks, and tools available. A mistake I made at the beginning was trying to learn everything. Funnily enough, I ended up not learning very much.
毫无疑问,成为一名成熟的开发人员的道路可能会令人困惑。 有许多语言,框架和工具可用。 我一开始犯的一个错误是试图学一切 。 有趣的是,我最终没有学到很多东西。
One minute I would try and learn Java, then JQuery, then C#, and then C++ …
一分钟后,我将尝试学习Java,然后学习JQuery,然后学习C#,然后学习C ++。
Instead of focusing solely on one language at a time, I was jumping between things depending on how I was feeling that day. And trust me, that is a very ineffective way to learn.
我不是一次只专注于一种语言,而是根据当天的心情在不同事物之间跳转。 相信我,这是一种非常无效的学习方式。
I would have gotten much better results and climbed through the ranks faster if I had chosen a path or set of technologies, and stuck to learning them. For example, if you are an aspiring front-end developer, learn JavaScript, learn CSS/HTML, and pick a framework. If you’re focused on the backend side of things, again, pick one language and learn it well. You do not need to know Python, Java, and C#!
如果我选择了一条道路或一套技术 ,并且坚持学习它们,我会得到更好的结果,并且更快地升入排名。 例如,如果您是一位有抱负的前端开发人员,请学习JavaScript,学习CSS / HTML并选择一个框架。 如果您只专注于后端,请选择一种语言并学得好。 您无需了解Python,Java和C#!
So narrow your focus, choose your path, and create a plan to become a pro in your chosen path (here’s a roadmap that will help you map out your path).
因此,请缩小焦点,选择路径,并制定计划以成为所选道路上的专家( 这是一个路线图 ,可以帮助您确定路径)。
So you’re preparing a project to show the interviewers, or landed your first job and working on your first task. You are trying your best to impress. What’s the best way to do that? Show off this super fancy coding technique you learned to complete the task, right?
因此,您正在准备一个向面试官展示的项目,或者找到了您的第一份工作并从事第一份工作。 您正在尽力打动您。 最好的方法是什么? 炫耀您学到的完成任务的超高级编码技术,对吗?
Wrong.
错误。
This is a major mistake I made and a mistake I see junior developers do too often. More often than not junior developers will try and reinvent the wheel, or use some complicated solution in a bid to try and impress.
这是我犯的主要错误,也是初级开发人员经常犯的错误。 初级开发人员经常会尝试重新发明轮子,或者使用一些复杂的解决方案来试图给人留下深刻的印象。
The best approach to writing code is the K.I.S.S principle (“keep it simple, stupid”). By keeping things simple, you’ll reap the benefits of easy to read, maintainable code (the next developer coming along after you will appreciate it!).
编写代码的最佳方法是KISS原则(“ 保持简单 , 愚蠢 ”)。 通过使事情保持简单,您将获得易于阅读,可维护的代码的好处(在您之后的下一个开发人员将不胜感激!)。
An early bad habit I ran into was not learning to switch off. I would often bring my laptop home with me at the end of the day. I would sit for hours trying to complete a task or bug that could have waited until the next day. This unsurprisingly, left me feeling burnt out and stressed.
我遇到的一个早期坏习惯是不学习关机。 一天结束时,我通常会把笔记本电脑带回家。 我要坐几个小时才能完成可能要等到第二天的任务或错误。 毫不奇怪,这让我感到疲倦和压力。
Part of the reason I did was this because I felt an urge to complete everything as soon as possible. Whereas, in reality, I should have realized that work is an ongoing process, and it can more often than not wait until the next working day. It’s important to switch off and remember the other things in life — friends, family, hobbies and having fun. Of course, if you like to stay up until the early hours writing code, by all means! But when it is not enjoyable, consider stopping and doing something else.
我这样做的部分原因是因为我有一种尽快完成所有工作的冲动。 而实际上,我应该已经意识到工作是一个持续的过程,而且它常常会等到下一个工作日。 关闭并记住生活中的其他内容(朋友,家人,爱好和娱乐)很重要。 当然,如果您喜欢熬夜直到编写代码,那就一定要! 但是,当它不愉快时,请考虑停止并做其他事情。
There is always tomorrow!
明天总会有!
It’s easy to get stuck on a problem or task you are trying to complete, it happens all the time, even to the most senior developers. A mistake I made whenever I was a junior developer was not saying “I don’t know” enough. If management asked me a question I wasn’t sure about I would bluff an answer instead of saying “I don’t know”.
很容易陷入您要完成的问题或任务中,甚至对于最高级的开发人员而言,它总是无休止地发生。 当我还是一名初级开发人员时,我犯了一个错误,那就是说“我不知道”不够。 如果管理层问我一个问题,我不确定是否会虚张声势而不是说“我不知道”。
I felt if I said “I don’t know” people would think I didn’t know what I was doing. The reality is that this is not the case. Nobody knows everything. So if you’re asking a question and you don’t know the answer, say that. The benefits of this are:
我觉得如果我说“我不知道”,人们会认为我不知道自己在做什么 。 事实是事实并非如此。 谁都不知道。 因此,如果您在问一个问题而又不知道答案,那就这么说。 这样做的好处是:
I’m sure you’ve heard the saying, “you have to walk before you can run”. Never does this saying have more relevance than in the field of web development. When you start your first job as a junior developer, you’ll be eager to hit the ground running, and get your hands on nice big coding tasks. You’ll even be thinking of how to get a nice promotion to the next level!
我相信您已经听过这样一句话:“必须走路才能跑步”。 这句话在网络开发领域从未像现在这样重要。 当您开始担任初级开发人员的第一份工作时,您会急切地着手准备并完成出色的大型编码任务。 您甚至会考虑如何将一个不错的晋级提升到一个新的水平!
Whilst ambition is good, the reality is that these sort of things will not come straight away for a junior developer. At the start of your career, you will more than likely get the smaller, easier tasks and bugs to work on. These might not be the most exciting things in the world to work on, but it’s necessary. It allows you to put one foot into the codebase and get familiar with the process. Secondly, it allows your team and managers to gauge how you cope with working as part of the team, and where your skills lay.
尽管雄心壮志不错,但事实是,对于初级开发人员来说,这类事情不会马上解决。 在职业生涯的开始,您很有可能会遇到更小,更轻松的任务和错误。 这些可能不是世界上最令人兴奋的事情,但有必要。 它使您可以投入代码库并熟悉该过程。 其次,它允许您的团队和经理评估您作为团队成员的工作方式以及技能所在。
I made the mistake of getting frustrated at these smaller tasks, and I let this frustration get in the way of my work. Have patience, perform every task you get to the best of your ability, and the more exciting work will come!
我犯了要对这些较小的任务感到沮丧的错误,并且让这种沮丧阻碍了我的工作。 有耐心,尽您所能执行所有任务,就会有更多激动人心的工作!
The development community is great. The community is always willing to help, provide feedback, and can even help with motivation. Being a developer is tough, and can sometimes take its toll. As a junior developer, the tough times would have been easier if I had got involved in the community earlier.
开发社区很棒。 社区始终愿意提供帮助,提供反馈,甚至可以提供激励。 成为开发人员很艰难,有时可能会付出代价。 作为初级开发人员,如果我更早地参与社区,那么困难时期会更容易。
Getting involved is also a great way to learn. You can contribute to open source projects, see how other’s write code, and see how developers collaborate on projects together. These are all skills you can bring to your day job and will make you a better developer in the long run.
参与也是学习的好方法。 您可以为开源项目做出贡献,了解其他人的编写代码,以及开发人员如何在项目上进行协作。 这些都是您可以带给日常工作的技能,从长远来看,它们将使您成为更好的开发人员。
Find communities that interest you — freeCodeCamp, CodeNewbies, 100DaysOfCode are some good ones — and get involved! You can also get involved in local meetups in your home town or city. Check out meetup.com for this.
找到您感兴趣的社区-freeCodeCamp,CodeNewbies,100DaysOfCode都是不错的社区-并参与其中! 您还可以参与家乡或城市的本地聚会。 请查看metup.com。
This also lets you build a network. A network is basically a bunch of people you know in your industry. Why is a network important? Let’s say you are looking to move into another job. By reaching out to your network, someone may be able to recommend a specific role, or even refer you to a company. This gives you a solid advantage going into the interview, as you’ll have someone to vouch for you, and will no longer be another “name in the pile of resumes”.
这也使您可以建立网络。 网络基本上就是您在行业中认识的一群人。 网络为什么重要? 假设您正在寻找另一份工作。 通过与您的网络联系,某人可能可以推荐特定的角色,甚至可以将您推荐给公司。 这为您进行面试提供了坚实的优势,因为您将有一个人来为您提供担保,而不再是另一个“一堆简历中的名字”。
Thanks for reading!
谢谢阅读!
To get the latest guides and courses for junior developers straight to your inbox, make sure to join the mailing list at www.chrisblakely.dev
要将最新的入门指南和课程直接发送到您的收件箱,请确保加入www.chrisblakely.dev的邮件列表。
Originally published at www.chrisblakely.dev on March 25, 2019.
最初于2019年3月25日发布在www.chrisblakely.dev 。
初级开发人员的缺点
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。