移动开发工程师_新工程师:从移动开发开始

移动开发工程师

It seems like the trend now is for college students and those trying to break into the software industry to get their feet wet in web development first. There’s nothing wrong with this direction — there are lots of jobs and opportunities for web developers. Most new job listings are looking for web developers somewhere along the stack.

现在看来,大学生和试图打入软件行业的人们正在趋向于首先涉足网络开发。 这个方向没有错-Web开发人员有很多工作和机会。 大多数新工作清单正在堆栈中寻找Web开发人员。

With that said, I don’t think learning web development first is necessarily better. I’m of the opinion that using mobile development as your main knowledge base as opposed to full-stack web is a more optimal route.

话虽如此,我认为先学习网络开发不一定会更好。 我认为,相对于全栈式Web,使用移动开发作为您的主要知识库是一种更好的方法。

移动开发拥有更清晰的学习路径 (Mobile Development Has a Clearer Learning Path)

If all you’ve taken is an Introduction to Programming course or you’re just breaking into the field, where do you start with web development?

如果您所学的只是编程入门课程,或者您只是刚进入该领域,那么从哪里开始Web开发?

Well, the “traditional” start was with LAMP (if you’re new to web development, you’ll have to learn all these stack acronyms first). Presently, the most popular stack is MEAN or MERN. But there’s also LEMP, Django, Ruby on Rails, and many others. Part of the difficulty in learning is figuring out where to start — and there are many places to start here.

好吧,“传统”的开始是从LAMP开始的(如果您是Web开发的新手,则必须首先学习所有这些堆栈缩写)。 当前,最受欢迎的堆栈是MEAN或MERN。 但是,还有LEMP,Django,Ruby on Rails等。 学习困难的一部分是弄清楚从哪里开始—并且这里有很多地方可以开始。

Even when you select a learning path, each part of the stack, at a high level, is very unlike the other parts. Once you learn the first part, you’re going to be learning something different for the next. While the language will translate (which is part of the reason why using a MERN stack is popular), it will still be an uphill climb to learn the other parts.

即使选择了学习路径,堆栈的每个部分都在较高的层次上与其他部分非常不同。 一旦学习了第一部分,接下来的部分将要学习一些不同的东西。 尽管该语言可以翻译(这是使用MERN堆栈流行的部分原因),但学习其他部分仍然是艰巨的尝试。

Let’s compare this to iOS and Android development.

让我们将其与iOS和Android开发进行比较。

If you want to learn iOS, you can go learn Swift (a relatively simple language at the base level) and either UIKit or SwiftUI. While learning SwiftUI and Swift isn’t necessarily easier than learning MERN, the path is much clearer and I feel the learning is more straightforward.

如果您想学习iOS,则可以学习Swift(基本级别的相对简单的语言)以及UIKit或SwiftUI。 虽然学习SwiftUI和Swift不一定比学习MERN容易,但是路径要清晰得多,我觉得学习更简单。

If you want to learn Android, you just download Android Studio, open up your choice of Kotlin or Java, and start learning the Android framework. As someone who prefers iOS development over Android, I’m of the opinion that learning Android is easier than learning iOS. So learning Android would be a very straightforward path, and if you’ve ever had experience with Java before, a relatively painless one.

如果您想学习Android,只需下载Android Studio,打开选择的Kotlin或Java,然后开始学习Android框架。 作为喜欢iOS开发而不是Android的人,我认为学习Android比学习iOS更容易。 因此,学习Android将是一条非常简单的道路,并且,如果您以前曾经有过Java的经验,那将是一件相对轻松的事情。

找工作会更容易 (The Job Hunt Will Be Easier)

While there are definitely more openings for full-stack, back-end, and front-end jobs, there are reasons to consider a mobile development job hunt “easier.”

虽然绝对有更多职位供全职,后端和前端职位使用,但仍有理由考虑“更轻松”地寻找移动开发工作。

There are significantly fewer applications for mobile roles. Web development has gotten especially popular lately with the growing boot camps that teach full-stack development and IT courses at universities teaching modern web development as a subject. If you look at the 2019 Stack Overflow Developer Survey, you can see that 18% of respondents consider themselves mobile developers compared to 50% for full-stack and back-end and 33% for front-end. Yes, there are more people in roles for web development than there are for mobile, but if you’re trying to break into the industry or just get started, there are still plenty of open roles for mobile developers.

移动角色的应用程序明显更少。 最近,随着越来越多的新兵训练营(包括在大学里教授全栈开发和IT课程,以现代Web开发为主题的课程),Web开发变得特别流行。 如果查看2019年Stack Overflow开发人员调查 ,您会发现18%的受访者认为自己是移动开发人员,而全栈和后端的受访者为50%,前端为33%。 是的,从事Web开发的角色比从事移动开发的人员更多,但是,如果您想闯入该行业或刚刚起步,那么对于移动开发人员来说,仍然有很多开放的角色。

When applying for mobile roles, it’s much easier to meet the base requirements. For web development roles, applications may vary on requirements by stack and languages — so if you know a different one, you may feel like a less qualified applicant and they may pass over you. With mobile, most roles just require knowledge of Swift/Objective-C and UIKit for iOS roles and Java/Kotlin and AndroidX for Android roles.

申请移动角色时,满足基本要求要容易得多。 对于Web开发角色,应用程序可能会因堆栈和语言而异,因此要求不同-因此,如果您认识其他应用程序,您可能会觉得自己不如合格的申请人,并且可能会超越您。 对于移动设备,大多数角色只需要了解Swift / Objective-C和UIKit(对于iOS角色)以及Java / Kotlin和AndroidX(对于Android角色)的知识。

技术堆栈更改的频率降低 (The Tech Stack Changes Less Frequently)

Objective-C was created in 1984 for NeXT, Steve Job’s intermediary venture, and is still in use today. NSString, with the NS standing for NeXTStep, still remains the foundation of the iOS operating system and iOS jobs. Google and most other large corporations still primarily use Objective-C. So if you learned Objective-C ten years ago, that skill is still valid (though a couple of bells and whistles like ARC have been added since then).

Objective-C于1984年为Steve Job的中间企业NeXT创建,并一直沿用至今。 NSString ( NS代表NeXTStep)仍然是iOS操作系统和iOS工作的基础。 Google和其他大多数大型公司仍主要使用Objective-C。 因此,如果您在十年前学习了Objective-C,该技能仍然有效(尽管此后添加了诸如ARC的风吹草动)。

Similarly, Android is built on Java and most large corporations are still seeking developers with that skill set, as the transition to Kotlin — albeit a painless one — is just starting to occur. So just like with Objective-C, if you learned Java in a CS class ten years ago, that skill is still a vital component of an Android developer’s skill set.

同样,Android基于Java构建,并且大多数大型公司仍在寻求具有这种技能的开发人员,因为向Kotlin(尽管很轻松)的过渡才刚刚开始。 因此,就像使用Objective-C一样,如果您十年前在CS课上学习过Java,那么该技能仍然是Android开发人员技能中至关重要的组成部分。

This is in stark contrast to web development, which is an industry of rapid change. The technologies for web development are constantly being improved upon to create better frameworks that are faster and easier to develop for. While this is great for users (as their websites are more responsive and interactive) and people who know the latest stack, it’s not so great if you have to constantly keep learning a new stack every few years. For some, the natural-born learners, this may sound like a dream. But for those who prefer to stay with a certain skill and refine it, it may be a nightmare.

这与快速发展的行业Web开发形成了鲜明的对比。 Web开发技术不断得到改进,以创建更好的框架,从而使其开发起来更快,更容易。 虽然这对用户(因为他们的网站具有更高的响应性和交互性)以及知道最新堆栈的用户非常有用,但是如果您必须每隔几年不断学习新的堆栈,那就不是很好。 对于某些天生的学习者来说,这听起来像是一场梦。 但是对于那些喜欢保留某种技能并对其进行完善的人来说,这可能是一场噩梦。

从Web开发开始不好吗? (Is It Bad to Start With Web Development?)

Absolutely not. Starting with web development is a perfectly fine route if you find it more enjoyable or rewarding. As I mentioned, there are tons of jobs for web developers and the field just seems to continue to grow.

绝对不。 如果您觉得Web开发更有趣或更有意义,那么从Web开发开始是一条完美的选择。 正如我提到的,Web开发人员有大量工作机会,而且该领域似乎还在继续增长。

But if you’re looking to break into the field of CS, I think mobile may be a more palatable route. It’s how I started.

但是,如果您想进入CS领域,我认为移动可能是一条更可口的路线。 这就是我开始的方式。

I started with iOS development in high school developing and publishing apps on my own. It has done wonders for me and everyone else I know. I was able to intern at Google as a freshman going to a relatively under-the-radar school. I was able to participate in Apple’s WWDC as a scholar. And I was able to work on a startup and sell it with friends I met at WWDC.

我从高中就开始进行iOS开发,自己开发和发布应用。 它为我和我认识的其他人带来了奇迹。 我能够以新生的身份在Google实习,当时他去了一所相对不太成熟的学校。 我能够作为学者参加苹果公司的WWDC。 而且我能够在一家初创公司工作,并与在WWDC上认识的朋友一起将其出售。

Mobile development has always felt especially rewarding and interesting to me. With the shallower learning curve, less competition on applications, and a more dormant stack, I believe it to be a great way to propel yourself into a career in CS.

移动开发一直让我感到特别的收获和兴趣。 随着学习曲线的变浅,应用程序竞争的减少以及堆栈的Hibernate,我相信这是一个推动自己进入CS事业的好方法。

翻译自: https://medium.com/better-programming/new-engineers-start-with-mobile-development-130210d1b93

移动开发工程师

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值