初级开发人员的缺点

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大错误,以及如何避免这些错误。

接受随之而来的第一份工作 (Taking the first job that comes along)

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:

因此,在申请或接受任何工作机会之前:

研究公司 (Research the company)

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 ,互联网,他们的网站上搜索公司,然后阅读评论。 如果公司适合您的目标和需求,这将为您带来良好的感觉。

问你认识的人 (Ask people you know)

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.

如果您网络中的任何人曾在此工作或认识任何人,请与他们聊天。 找出他们喜欢的东西,不喜欢的东西以及他们的经历。

在面试中提出正确的问题 (Ask the right questions in the interview)

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:

面试是您了解公司的最佳机会,因此请确保准备好一系列问题来询问面试官。 您可以问的几件事是:

  • Ask about the development process (what methodologies do they follow? Do they do code reviews? branching strategies?)询问开发过程(他们遵循什么方法?他们进行代码审查吗?分支策略?)
  • Ask about testing (what sort of testing do they follow? do they have dedicated test engineers?)询问测试(他们遵循哪种测试?他们有专门的测试工程师吗?)
  • What is the culture like (is it a relaxed environment? what is the support like for junior developers?)文化是什么样的(宽松的环境?初级开发者的支持是什么?)

不选择路径 (Not choosing a path)

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).

因此,请缩小焦点,选择路径,并制定计划以成为所选道路上的专家( 这是一个路线图 ,可以帮助您确定路径)。

编写代码时太“花哨” (Being too “fancy” when writing code)

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原则(“ 保持简单愚蠢 ”)。 通过使事情保持简单,您将获得易于阅读,可维护的代码的好处(在您之后的下一个开发人员将不胜感激!)。

生活比代码和工作更重要 (There’s more to life than code and work)

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!

明天总会有!

不够说“我不知道” (Not saying “I don’t know” enough)

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:

我觉得如果我说“我不知道”,人们会认为我不知道自己在做什么 。 事实是事实并非如此。 谁都不知道。 因此,如果您在问一个问题而又不知道答案,那就这么说。 这样做的好处是:

  • You’re being honest and not misleading the person who is asking the question您是诚实的,不会误导提出问题的人
  • You’ll learn something new when it’s explained to you向您解释新知识
  • You’ll gain respect for saying you don’t know something. Not everyone is capable of admitting they don’t know something.您会因为说自己不知道而得到尊重。 并非每个人都有能力承认自己不知道什么。

试图进步太快 (Trying to progress too quickly)

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!

我犯了要对这些较小的任务感到沮丧的错误,并且让这种沮丧阻碍了我的工作。 有耐心,尽您所能执行所有任务,就会有更多激动人心的工作!

不参与社区和建立网络 (Not getting involved in the community & building a network)

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 。

翻译自: https://www.freecodecamp.org/news/how-to-avoid-these-7-mistakes-i-made-as-a-junior-developer-a7f26ce0f7ed/

初级开发人员的缺点

初级开发人员的缺点_如何避免我作为初级开发人员犯的这7个错误相关推荐

  1. 初级开发人员的缺点_这是我想放弃初级开发人员时所做的事情

    初级开发人员的缺点 Coding is hard. Really hard. There are times when you'll think "this is amazing! I lo ...

  2. 初级开发人员的缺点_作为一名初级开发人员,我如何努力克服自己的挣扎

    初级开发人员的缺点 by Syeda Aimen Batool 通过Syeda Aimen Batool 作为一名初级开发人员,我如何努力克服自己的挣扎 (How I'm working to ove ...

  3. 初级开发人员的缺点_在您作为初级开发人员的第一年获得此建议

    初级开发人员的缺点 Are you a junior developer embarking on your software development career? 您是从事软件开发事业的初级开发人 ...

  4. 初级开发人员的缺点_我希望成为初级开发人员的事情

    初级开发人员的缺点 by James Munro 詹姆斯·芒罗(James Munro) 我希望成为初级开发人员的事情 (The things I wish I'd known as a junior ...

  5. 初级开发人员的缺点_成为成功的初级开发人员的10条最佳建议

    初级开发人员的缺点 重点 (Top highlight) 重点 (Top highlight) Junior developers are one of the biggest assets to a ...

  6. 初级开发人员的缺点_初级开发人员应阅读的书籍

    初级开发人员的缺点 这些书籍"基本上是作弊代码",可帮助您提高开发人员的技能和知识. (These books "are basically cheat codes&qu ...

  7. 如何开发rest接口服务_如何简化网络请求接口开发

    日常开发中,需要大量和后端对接接口,很容易写出大量的模板代码,比如把对接口的请求放到组件内,或者虽然有数据访问层,但是有大量 get,post 方法的调用,传参的字符串拼接,异常处理等等,有些逻辑是可 ...

  8. ios开发循环网络请求_如何简化网络请求接口开发

    日常开发中,需要大量和后端对接接口,很容易写出大量的模板代码,比如把对接口的请求放到组件内,或者虽然有数据访问层,但是有大量 get,post 方法的调用,传参的字符串拼接,异常处理等等,有些逻辑是可 ...

  9. 敏捷开发团队 项目分工_如何为您的软件开发项目建立敏捷团队

    敏捷开发团队 项目分工 敏捷公司认为团队合作对于交付工作软件至关重要,而优秀的敏捷团队则关注"我们"而不是" I". 不幸的是,许多公司声称他们拥有敏捷团队,但 ...

最新文章

  1. 手写自己的MyBatis框架-V2.0参数处理
  2. java 获取光标_如何在java中使用Windows API获取当前鼠标光标类型?
  3. Oracle图形化管理工具——OEM
  4. DirectAccess部署(四)之双网卡环境 客户端连接测试(多图!)
  5. 电商垄断的形式不是对某一行业的具体垄断
  6. java软尾山地车评测_[渣图] 骑很慢的穷屌丝软尾历程
  7. Electron-日志与崩溃收集
  8. 字符串定义操作(C语言)
  9. c语言解三元一次方程组_一次二次反比例,一山更比一山高?二次函数三大解析式详解...
  10. java 知网 语义 相似度,基于知网的词汇语义相似度计算-hownet!.doc
  11. 计算机网卡ip怎么设置,怎样为网卡配置ip地址 电脑给网卡设置IP地址的方法有哪些...
  12. 百度地图动态添加marker的图片显示问题
  13. 【笨木头Cocos2dx 038】战争迷雾效果 第01章_要探索,不要地图全开!
  14. 大数据薪水大概多少_大数据工程师工资待遇一般多少?高吗
  15. kml用什么软件打开?
  16. python中num函数是什么意思_如何理解python3函数中num的用法?
  17. asyncio 系列五、同步原语—Synchronization Primitives
  18. select中选中option的方法
  19. TreeView 入门
  20. 数据库第七次作业——更新数据

热门文章

  1. 前端开发 字体样式的演练0229
  2. django-登装饰器
  3. python-格化输出format方法
  4. 博客索引-pyhui-第二版
  5. Python 数据类型 list(1)
  6. python中利用opencv对图片进行缩放
  7. [高性能javascript笔记]1-加载和执行
  8. android权限--android开发中的权限及含义(下)
  9. Laravel 支付宝SDK在Laravel5的封装
  10. 今天我开通了51cto的博客