Q+A:全栈软件工程师

Ivo Marjanović介绍了他作为软件工程师和产品主管的职业生涯,以及他获得这一职位的教育背景,以及对那些希望进入这一行业的人的建议。

~ 9分钟读数

Care万博全站端apperExplorer Disc万博苹果客户端ord社区有机会与Ivo Marjanović,一个全栈软件工程师和产品主管,在一个实时的炉边问答中进行了交谈。

Ivo Marjanović是一名全栈软件工程师,目前领导着加拿大温哥华Sokanu的产品和工程团队。在获得计算机科学学位毕业并加入自己的第一家初创公司之前,他花了7年时间自学成才,从事自由网络开发工作。

Ivo将他的时间分配在管理和开发工作上,主要在Sokanu的Python (Django)和Typescript (React)栈中。实际上,他整天忙来忙去,帮助团队解决问题,完成任务。

伊沃来自波斯尼亚的萨拉热窝,在不列颠哥伦比亚省温哥华和华盛顿州雷德蒙德之间长大。他拥有英属哥伦比亚大学政治学和计算机科学学士学位,目前居住在温哥华。

下面的文字记录是经过修改和删节的。

开始

学习像代码这样令人生畏的东西有多难?

我从小就对计算机感兴趣,但我当然还记得计算机令人生畏的时代。坦率地说,这有点像学习一门新语言——你接触得越多,你就越能理解它,它也就变得越不吓人。

在高中学习编程值得吗?

如果你问我在拿到学位之前是否值得自己去学习,我的回答是肯定的。这真的取决于你想做什么,但我的学位并没有像我希望的那样关注现实,所以我不得不自己学习很多东西(例如,我们几乎没有讨论过web开发)。

你一开始是自学成才的自由web开发人员。你会向那些想要自学的人推荐什么编程语言?

如果你想自己学习,一定要把注意力集中在那些你可以做项目的事情上。

Python可能是最不令人生畏的,但它确实取决于您想要构建什么。如果您想要为web构建东西,Javascript绝对是开始的地方。现在比我刚开始的时候容易多了。

你对编程训练营有什么看法?

我认为有好有坏,但最终取决于你投入了什么。我不知道所有的雇主是怎么看的,但他们肯定能帮助你开始通往稳定职业的道路。

也就是说,我不认为很多人会从训练营得到FAANG (Facebook,亚马逊,苹果,Netflix,谷歌)的工作。

选择上大学的路线

什么使你决定上大学?

坦率地说,我只是想要一个更坚实的编程基础,而我并不是那么善于激励自己去学习计算机科学中更“科学”的一面。

这些都是我完成项目的好方法,但对构成优秀代码基础的原则有扎实的理解也很有帮助。上大学确实让我在我所做的事情上做得更好。

你在政治学学位中学到的技能是否可以用于你现在的工作?

我不认为这些技能可以直接在两者之间转换,但成为一个更全面、多面手的人总是有价值的。它当然有助于沟通、展示和创建文档等工作,这些工作现在越来越成为我工作的一部分。

改变学位路径有多大的挑战性?你后悔这么做了吗,还是它已经带来了好处?

我并不认为这更困难或更具挑战性,只是需要更多的时间和金钱。我很高兴自己走了这条路,我认为这对我的职业生涯有很大帮助,在写作、研究和交流方面给了我一个优势。

我们的团队中有一些拥有多个学位的人,他们在其他学位中学到的技能也很明显。

计算机科学课程难吗?对于那些刚开始攻读计算机科学学位的人,你有什么建议吗?

我想没有人会告诉你获得计算机科学学位就像在公园里散步一样简单。有一些客观的困难课程(算法、网络、数据结构等)。

最后,不要因为自己不是班里的第一名或者没有马上理解一些概念而自责,因为我们都有不同的技能。最后,不是课程的所有方面都能直接对你的职业生涯有用,但能专注于学习和成长是件好事。我只关注这个。

学计算机科学需要多少数学知识?你每天都用吗?

这取决于你在做什么。如果你在做图形的工作,你肯定每天都要用到高等数学。

对我来说,它往往不会超越日常基础知识,每当我面对三角函数或微积分时,我都必须查阅并重新学习。其中有很多逻辑,而研究和理解是必不可少的。

在找工作的问题上,你认为自学和获得学位的区别是什么?

我见过自学成才的程序员,也见过有学位的程序员。在我们所处的行业,网上有太多的信息,你完全可以自己去做,但有些人在学校里学得更好。

不管你是怎么学习的,你付出什么就会得到什么。学位可以帮助你找到工作,但这是一个独特的行业,拥有扎实的项目投资组合比你接受的教育背景更重要。

求职面试最好的准备方法是什么?你会被期望在飞行中编写一些程序吗?

这是个很难回答的问题。就我个人而言,我讨厌脑筋急转弯和强迫面试者在白板上忙活,但这在许多公司确实是司空见惯的。

网上有很多很好的资源可以帮助你练习一些典型的面试问题。但总的来说,了解你的东西,不要害怕问问题,试着放松,多讲你的推理。

至少在我面试的时候,我只是想确保你是一个正派的人,有能力思考问题,而不是在没有任何外部资源的情况下,在一个有压力的环境中第一次尝试就解决问题。

我是软件工程师

你能谈谈从自由职业过渡到办公室工作的调整吗?

我认为最大的区别是你必须学会与他人更协作地工作。它需要不同的工具和技能,你在交换控制的自由和你的时间表,所以肯定有一个学习曲线。

最终,这是件好事,因为你可以积极地向他人学习,作为一个紧密团结的团队,你可以比单打独揽完成更多的事情。

你喜欢做个人贡献还是管理员工?

这是一个我经常纠结的问题。我真的很喜欢从高层次和细粒度的角度看问题,所以我被拉向两个方向。对于其他考虑这个决定的人来说,这就是我的看法。现在我正努力兼顾两者,但这条路真的很难维持。

当你开始一个项目时,你是否看到了整个项目从开始到结束的全过程,以及中间的阶段是什么?还是你有不同的方法?

我倾向于考虑我想要达到的目标,然后将其分解成合理的步骤。

通常,这意味着要制定一个基本的最小可行产品来测试假设,然后从那里逐步构建。不过,这确实取决于项目,它当然不是一种放之四海而皆准的方法。

你如何跟上当前的趋势和发展?

我花了很多时间在编辑的reddit和黑客新闻上,所以我认为这有助于跟上趋势。我也喜欢做一两个业余项目,研究新技术或新想法。我的业余项目不是什么大东西——小机器人、脚本或网站——而是一些让我保持敏锐和尝试新工具的东西。

软件工程师的压力和时间有多大?还有时间发展另一个感兴趣的领域吗?

压力水平肯定会有起伏,很大程度上取决于你的公司和情况。有时候,你需要长夜的努力才能把事情说出来,这会让你很有压力。但也有平静的时期,我可以集中精力把东西清理干净,为未来的工作做好准备。

作为一个更资深的人,我认为在我的未来会有更少的例行程序编程,但对于任何走纯个人贡献者路线的人来说,这肯定是一个可以实现的目标。

至于第二个问题,关于是否有时间从事另一个感兴趣的领域,我确实设法让我的大部分晚上和周末都是空闲的,所以我想,如果有什么事情是我真正感兴趣的,我可以做到。

我认为科技行业在这方面比较好,因为公司往往更愿意提供其他的时间表(比如兼职,每周四天工作等等)。

你是如何在经常带着显示器工作的情况下保持健康的?

我有长时间盯着屏幕看的坏习惯,但我正在努力改善这一点。我有蓝光减少监测器,并尽我所能让我的眼睛保持快乐。

每天稍微休息一下,改变坐/站的姿势,试着有一些不看屏幕的爱好,这些都是保持长期健康的必要条件。

COVID-19是否向您透露了一些关于您自己以及您的工作方式的信息?

有趣的问题!我想我已经明白了,我在自己不知情的情况下,享受朝九晚五的日常生活。虽然我以前会说我喜欢在家工作,但我真的很怀念骑自行车上班和每天见到人的日子,所以也许这是一个教训,我们只需要生活中各种事情的结合才能快乐。

我还认为,这表明我们在这里有一个伟大的团队,因为我们仍然设法完成事情,尽管有距离,有良好的沟通,这纯粹是因为每个人都在努力使它工作。

如果时光倒转,一切再来一次,你会做出不同的选择吗?

我不这么想。如果没有过去所有的经历,无论是积极的还是消极的,我就不会是现在的我。

对于那些正在考虑这个职业的人,最后还有什么想法吗?

做到!现在是程序员的大好时机,对他们的需求也在不断增长。不断尝试学习新事物,如果你发现有困难或不理解的领域,也不要害怕。

在这个行业中有很多细分市场需要填补。你总能找到一个地方,在那里你独特的技能集是有用的。


找到每周现场问答万博全站端appCareerExplorer不和谐社区万博苹果客户端

博客/Q+A:全栈软件工程师
下一个:

答:民事诉讼律师

开启未来的你

跟CareerExplor万博全站端apper打个招呼吧,它是帮助你找到梦想职业的个性化评估。

  1. 参加30分钟免费apititude测试
  2. 在这个过程中发现自己的独特之处
  3. 选择适合你个性的职业匹配
免费与选项升级