Tag: 初级开发人员

初级iOS开发人员

一周前,我加入了Bookmate iOS团队。 简而言之,这是一个非常愉快的一周。 这就是为什么我会告诉你的。 第一天 第一天有点特别。 我真的很紧张,因为这是我的第一份正式工作。 我来得比预期的要早。 首先,好的HR Karina向我展示了整个办公室,并且收到了一本不错的Macbook。 我遇到了我的所有队友Artem和Konstantin。 是的,团队规模很小🙂我们通常在露天场所的一张桌子上工作。 我在工作中所做的第一件事是建立工作环境。 那是很普通的事情:我连接到闲暇,公司电子邮件和其他东西。 然后Artem建议我安装SourceTree。 它实际上是一个很酷的工具。 真的很有用。 在那之前,我是命令行的狂热者,因为它使您看起来像是专业人士;)几天后,我意识到便利已胜过冷静🙂现在,SourceTree在我的必备工具列表中。 我们还使用Jira。 谢谢,Atlassian。 我以前没有使用过相同类型的软件,我的意思是错误跟踪软件。 因此,我无法将其与其他工具进行比较。 也许只是在Facebook上进行简单对话即可:)因此,Jira更加方便😀 我还想提到我不是git的大师。 只需提交推送,提交推送,提交推送-我就是git。 所以首先,我真的很担心我在git中可能会犯的错误。 如果我删除必不可少的内容怎么办? 强行推? 我真的需要这样做吗? 听起来很危险;)变基了吗? WTF ?! 我需要提及的是,我真的很想加入Junior的队伍。 我可以随时问愚蠢的问题-无论我想要什么。 我很确定它将提高我的学习速度。 这就是为什么我问几乎所有问题时都​​会有点烦恼的原因:)但是,伙计们,我还很初级!:DI可以,我会的! 如果我是中级开发人员,我会在Google上搜索所有内容,并花更多的时间。 因此,不要害怕以低级的身份加入一个团队—能够惹恼人们很有趣:) 任务呢? 我已经用水龙头修复了一个小虫子。 我只走了几行:)但是,无论如何,我还是被要求在这些行中进行更改:)他妈的空格人🙂我没有安装SwiftLint。 所以我错过了几个空格:)但是拉请求被接受了! 下一项任务是一个很大的任务。 这是一个非常酷的任务。 我更喜欢复杂的任务,因为我相信它们确实可以提高我的技能。 任务是为无法使用的书籍开发自己的小部件。 不幸的是,我第一天还没有完成。 但是今天,您可以下载Bookmate应用,并在不可用的书本视图中查看我的小部件! 我在队友面前离开办公室感到不舒服,所以我也只有在他们回家后才离开。 在第一天,我什至没有喝一杯水,因为我完全专注于任务。 第二天及以后 我会做尽可能多的任务。 这是我成长为iOS开发人员的方式:)我真的希望很快成为这一领域的专家。 第一周我关闭了大约10个问题。 我曾与我们的设计师讨论过3次有关应用程序的详细信息。 […]

初级iOS开发人员6个月后获得的8个关键知识

我于2017年7月开始在臭名昭著的猫鼬(comparethemarket.com)背后的公司工作。我刚刚结束了为期3个月的编码课程,专注于Ruby和Javascript全栈Web开发,在完成我的最终项目后,我结束了加入流行的Meerkat电影应用程序背后的团队。 我很高兴有机会开始使用我以前没有经验的技术,并且从头开始学习如何成为移动开发人员。 我不仅要向自己证明,而且要向我的团队证明,尽管我缺乏相关技能,但确实有可能。 因此,我白天进行了视频课程,晚上则阅读了编程书籍,在同事的帮助和支持下,我很快就会发现自己为我们应用程序的代码库做出了贡献,并每天都在捡票。 但是,达到这一能力水平绝对是一路颠簸,途中遇到了许多主要障碍。 在许多领域,我仍然是一个完整的新手,需要学习更多知识。 但是,到目前为止,我所面临的挑战以及克服这些挑战的经验证明是宝贵的经验。 因此,我希望通过分享这份建议清单,我可以启发甚至帮助其他有抱负的(移动)开发人员,他们发现自己处于与六个月前相似的状况。 请享用! 1.开始使用该应用 如果您已经接受工作或开始工作,这无庸置疑。 但是,如果您正在公司面试,那么了解可能要使用的应用程序同样重要。 尝试像用户一样使用它,并进行一些案例分析-也许您会想到一些有关如何改进应用程序的想法。 就我而言,我将研究要看的电影,看一些预告片,通过搜索或使用当前位置找出在哪里看电影,兑换我的优惠券代码,最后购买我的打折电影票并去电影院。 这不仅帮助我更好地理解了产品(尤其是从用户的角度),而且还帮助了我要开发的代码库。 2. 找一位导师 …如果可能的话。 我没有被任命为正式的导师,但是从一开始我就很自然地开始受到我们团队中一名高级人员的监督。 关于我的发展和重点领域,我们经常进行代码审查和每月召开的会议,并且有人在跟踪我的进展并向我提供反馈。 这在开始时至关重要,因为要评估自己的进度并决定要专注于什么可能会非常困难,尤其是在刚开始的时候! 3. 制定计划 –并制定明确的目标。 如果没有计划,学习会变得势不可挡,尤其是当清单和资源似乎无限时。 制定目标和时间表,并要求您提供有关您的进度和正在进行的工作的反馈。 极大地帮助了我的一件事是创建了Trello板,其中包含针对iOS工程的概述技术路线。 4. 了解何时寻求帮助 重要的是要学习如何自己找到答案,而不要依赖他人来完成您的工作。 因此,我建议在寻求帮助之前,总是尝试自己解决所有问题。 但是,如果您尝试查找错误的时间超过30分钟,或者如果某个特定的概念没有被点击,那么向某人寻求帮助当然是相关的-绝对应该这样做。 但是,学习如何以最佳方式找到平衡使用资源的方法,而又不会滥用具有更多经验的人坐在您旁边的事实。 并非总是如此。 5. 交流! 如果您无法在约定的时间内完成分配给您的任务,请让相关人员知道并共同制定新计划。 另外,在冲刺计划会议中保持直言不讳,并参与评估票务,尤其是要处理的票证。 对自己的能力诚实是很重要的,并且有责任让您的团队知道您是否对某项工作的某个时间表存在疑问和忧虑。 但请放心,在您作为开发人员的第一份工作中,至少前3到6个月,您的工作速度会慢得多。 6. 做代码审查 参与他人的代码; 进行代码审查,并请您的同事向您介绍他们的代码。 看到更有经验的开发人员如何解决问题并让他们向我解释他们的工作方式,我学到了很多东西。 确保您有足够的时间与编写该代码的人一起阅读复杂的代码,以便以后理解。 另外,请尝试让年长者与您一起检查您自己的代码,并获得关于您工作的口头反馈,而不仅仅是对Github的评论。 最后,配对程序-这可能并非总是可行,但是我认为这是最好的学习方法之一。 7. 找到自己的学习方法 互联网上充斥着各种各样的学习资源,有时这可能会让人有些不知所措。 各种各样的书籍,博客,播客和视频课程无处不在,并且很难知道该选什么和从哪里开始。 问题是,没有“最佳”道路。 有些人通过阅读学习得更好,其他人则通过学习视频教程来学习。 但是,我将分享三个对我的学习最有帮助的资源,我将向在同一路径上的任何人推荐: […]

在Elements第三部分锻造初级

凯拉 在我作为组织心理学硕士的一部分实习期间,我首先对编程感兴趣。 我在一家专门从事品牌研究的小型初创公司工作,除了进行研究外,我还被要求为新产品设计信息图形。 由于我没有设计经验,因此我在互联网上进行搜索,然后找到了所有可以学习的新技能的公开课程。 毕业后,我获得了荷兰电视新闻节目EenVandaag的研究员职位。 这也是我开始关注CS193p的时候,CS193p是斯坦福大学关于iOS开发的流行在线课程。 我之所以选择应用程序,是因为每个人都在使用它们,并且因为您可以使用GPS,运动传感器等,因此您可以对自己制作的应用程序类型真正发挥创意。 我之所以选择iOS,是因为我自己使用iPhone,因此可以立即在真实设备上看到结果。 课程结束后,我构建了一个小应用程序来展示自己的技能,并开始参加聚会以与其他开发人员联系。 这是我从Elements那里听到的,我非常感谢他们为我的Junior iOS程序提供了一个位置。 在这里,我不仅获得了关于编码的知识,还获得了有关Scrum和DevOps的许多宝贵经验。 当我回头看初级课程时,我对这么短的时间内学到的东西感到惊讶。 亚伦 我没那么久没写代码了。 在获得人力资源学士学位后,我开始在HR的房地产中介工作。 经过一年的“生存”,我感到自己和所做的工作之间没有爱。 那时我意识到我想要一些与众不同的东西,我可能会对此充满热情。 我回到教室,完成了信息研究的硕士学位。 在那儿,我接触了程序员和(移动)编程。 我不知道他们在做什么,但是我对如何以及为什么感兴趣。 成为硕士之后,我开始担任IT顾问,却忘了编程。 在我获得文学学士学位和IT硕士学位之后,这对我来说是合乎逻辑的一步。 可悲的是,我再也没有发现工作的乐趣。 我辞职了,知道自己想做什么:开始开发应用程序。 在硕士期间,我曾帮助设计应用程序,但我想学习如何构建它们。 我花了大约一个月的时间来决定iOS还是Android是适合我的平台。 最后,语言,IDE,产品和个人喜好使我朝着iOS开发的方向前进。 在Udacity获得两个iOS纳米学位后,我开始申请实习。 在一周之内,我收到了四家公司的报价,其中之一是Elements。 Elements是唯一一家为我提供专门的初级计划并且将我视为开发人员而不仅仅是实习生的公司。 我很高兴他们与没有任何专业技术经验的人取得了飞跃。 我们最近将我在Elements的合同续签了一年。 造成这种情况的主要原因很简单:编码标准很高,我觉得自己像家人一样。 初级项目和最佳实践 我们的第一个项目是为我们构建iOS Deploy +应用程序。 它涉及一个内部项目,该项目使该公司可以共享和下载移动应用程序构建的开发版本。 由于我们是应用程序开发的新手,因此我们感觉到了很多事情:使用Git,与JIRA一起,在Scrum团队中,与客户打交道(内部管理)和学习编码。 初级程序的优点在于,允许失败,并且有很多反馈可以解决! 实际上,我们开始注意到当我们开始工作第一个“真实”项目时学到了多少。 我们发现有一些关键的学习使之成为可能: 逐步学习,有时需要一些简单的步骤才能完全理解代码。 您会认为自己了解一些东西,但是下次您对同一件事进行研究时,您会更深入地认识到,在您不真正了解它之前(可能现在已经一样)。 不要沮丧:这是编码的一部分。 不要害怕问问题。 无论他们多么愚蠢,在您看来。 跟踪自己的进度。 如果某些事情延迟了您的进度,请尽快解决此问题。 不要只专注于编码。 应用程序开发的意义非凡,可以向不同类型的开发人员,设计师,质量检查人员开放学习。只需与您的同事交谈,因为他们可以分享自己的故事。 向他们学习。 最后,玩得开心! – […]

了解一些Lambda毕业生!

我们选择了一些顶尖的学生与您分享。 我们每个学生都有独特的背景和经验。 我们的合作伙伴对这种独特的组合赞不绝口,这些独特的组合产生了一些顶尖的初级开发人才。 让我们知道您是否有兴趣与以下任何候选人交谈,我们将设立电话! Andrew Dahn:iOS Swift,Objective-C,Python和C 位置偏好:华盛顿特区,向弗吉尼亚州和马里兰州开放 目前四月/五月开始面试 安德鲁·达恩(Andrew Dahn)曾经是一名医生。 直到他上大学三年级并在厄瓜多尔进行外科实习之后,他才意识到这不是他的道路。 医学是反应性的,安德鲁想成为积极健康解决方案的一部分。 高三时,他参加了一些设计课程和CS课程,这引起了他的浓厚兴趣。 安德鲁(Andrew)喜欢拥有一个技能组来建立自己脑海中浮现的创意的想法。 大学毕业后,他把自己在加利福尼亚的生活连根拔起,直奔波士顿。 他在一家可持续食品初创公司工作,在那里他亲眼目睹了健康饮食是主动关爱自己健康的重要难题。 安德鲁(Andrew)被工程师创建了一个现场菜单板,该菜单板反映了餐厅库存的新鲜食品。 从头开始创建可以帮助人们日常生活的东西的想法变得越来越有吸引力。 安德鲁目前正在开发一个食谱书iOS应用程序,该应用程序将鼓励健康的饮食习惯,并且很快将其添加到他的产品组合中。 他对iOS开发的创作充满热情,这源于他对艺术的热爱。 关于他想工作的公司,他说:“在我职业生涯的每个阶段,我都想学习。 如果我不学习,那那对我来说不合适。 Linh Bouniol:iOS Swift和Objective-C 地理位置偏好:加利福尼亚州洛杉矶 目前四月/五月开始面试 Linh是Lambda学校坚定而勤奋的毕业生,现在正在iOS软件工程领域寻找职业。 Linh具有药理化学的背景,喜欢复杂的想法和解决问题的方法,她对细节的专注。 在本科期间,Linh通过与一名从事应用程序开发的同学对编程非常感兴趣。 琳(Linh)最初是自学成才,但随着她的兴趣达到顶峰并且越来越着迷,渴望获得更多知识。 她决定研究进一步发展iOS开发方面的知识。 她已经将药理化学的许多必要技能完美地转移到了这一新的职业道路上。 Linh决定就读于Lambda学校而不是药房。 她的创意头脑细致入微,使她在Lambda School的整个旅程中熠熠生辉。 在iOS群组中,Linh是第一个使用自己构建的应用程序在App Store中发布的人。 从头开始构建应用程序,这对她周围的社区既有帮助又有用,令Linh兴奋,并使她为自己选择的职业道路感到自豪。 Linh不会回避困难的任务,并且会很快学习新事物。 她决心并致力于编程实践,并准备面对提出的任何挑战。 琳(Linh)对成功,好奇心和不断寻求更多的教育充满热情和激情,并将成为任何团队的重要成员。 Linh目前正在从事她的Smart ASL项目,您可以在这里查看YouTube概述,我们的Lambda School CEO在这里发布推文。 Brock Rohloff:全栈WebDev HTML,CSS,Javascript,Python,C 地理位置偏好:犹他州,但愿意搬迁到任何地方 目前四月/五月开始面试 布罗克(Brock)的冒险精神和尝试新事物的能力确实促使他在成年时代尝试各种大学课程和各种工作。 直到Brock在一家小型Web开发初创公司上班之前,他才知道软件工程适合他。 在这家初创公司中,他能够担任项目经理一职,并能体会到对技术行业做出的贡献。 […]

作为iOS开发人员实习生的12周—第十周(转换为全日制),十一,十二

我很高兴地宣布,在第10周内,我接受了加入团队的邀请,成为初级iOS开发人员☺️! (*我原本打算在2018年8月/ 9月发布这篇文章,但生活受阻:D。我现在是Linkedin的REACH软件工程师学徒,期待有关此的近期文章) 这是我在10到12周内学到的一些东西: 错误烤面包机 您可能想知道,什么是错误烤面包机? 这是一个自定义视图,当触发指定的错误时,该视图将从屏幕底部向上滑动。 错误烤面包机向用户显示一条消息,然后烤面包机向下滑动并消失。 之所以称其为烤面包机,是因为其行为与从烤面包机中弹出的烤面包非常相似! 在此示例中,由于必须选择三明治样式才能前进到下一个屏幕,所以会触发错误烤面包机。 这被制成自定义UIView,因为它在几个屏幕上使用。 错误烤面包机的动画也封装在UIView中。 可以重复使用此UIView,而不必在需要此错误烤面包机的所有屏幕上重复相同的代码。 选项集 这里发生了很多事情。 这是自定义formfieldViews(可重用的自定义UIView)的stackview。 如果输入有效,则会出现一个选中标记。 如果输入无效,则出现X,以使用户知道输入无效。 如果用户点击一个表单域,则其下划线将为深色。 用户导航出该表单域后,下划线颜色就会消失。 如果输入无效并且用户导航离开,则下划线变为红色表示输入无效。 选项集用于表示表单域的状态。 选项集很有趣,因为可以将这些值组合起来以表示状态。 例如,如果字段输入有效(原始值4)并且用户当前正在与文本字段(聚焦状态)(原始值2)进行交互,则有效且聚焦的文本字段的总原始值为6。 国家必须被赋予价值。 状态可以存储在数组中 在updateStyle中,它的调用函数可更新和设置bordercolor和图像的动画 一个示例是处于聚焦状态(当用户与表单域进行交互时)(使用RxSwift): 使用三元运算符-如果正在编辑文本字段,则状态为焦点,否则状态为焦点 这就是本系列的全部内容! 谢谢您阅读🙂 在下面通过👏表示赞扬您的支持,在Twitter上关注我的iOS开发者之旅,并在Twitter上与我联系

没有更多的故事板吗?

作为IOS尤其是新手开发人员,情节提要似乎是一条路。 即使对我来说,在IOS开发的最初1.5年中,我100%使用情节提要板。只需拖放插座并在属性检查器中进行编辑似乎比编程方法要快得多。 直到几个月前,一切都发生了变化……在处理我的个人项目时,我尝试导航到情节提要,而Xcode崩溃了。 认为这只是我每天发生的Xcode崩溃,所以我重新打开了项目,并且Xcode在10分钟内都没有响应。 在尝试导航到情节提要板几次失败的尝试之后,我尝试以编程方式创建布局。 从那天起,我再也没有使用过故事板。 前几个小时/天很艰难。 注册collectionViewCell吗? NSLayoutAnchors?设置RootViewController吗? 简单的拖放任务,现在需要阅读Apple Docs和StackOverflow来完成。 但是随着时间的流逝,我不仅因为属性检查器而学习了一些理所当然的东西,而且我还了解了所有出口/对象在后台如何工作。 让我的时间变得更有效率。 如果需要在另一个项目中创建相似的布局,则可以简单地复制并粘贴代码,如果需要快速更改约束,则只需搜索文件并进行适当的更改,即使构建项目的速度大大加快。 以下是我不再使用情节提要的5大好处的简短清单。 1.构建项目时的快速编译时间 2.真正理解UIKit 3.创建可重复使用的布局 4. 迫使您了解每个组件的实现 5.没有更多的SIGABRT崩溃! 🙂