Interview With Alexey Pelykh - How To Be a Mobile App Developer Without a Degree in Computer Science - LoudProgrammer

Interview With Alexey Pelykh – How To Be a Mobile App Developer Without a Degree in Computer Science

Mobile application development is a booming field, with plenty of job opportunities and interesting projects at both small and medium sized businesses and large enterprises.

But how do you go from tech support or a complete newbie to a mobile app developer?

That’s a question most frequently asked by many who desire to one day be a master of the art.

While most organizations seeking mobile-focused developers are looking at relevant, practical experience, many will also put emphasis on hiring candidates with a strong foundation in computer science.

In his interview with LoudProgrammer, Alexey Pelykh who is

explains how you can actually make your way to an exceptional mobile app developer without a background in computer science.

1. In brief could you please tell us a little bit about what you do at Brainbean Apps and why you do it?

In short we do mobile app development using native approach to make iOS and Android applications.

Why native?

Exclusive Bonus: Click here to download my book on How to Become a $50/Hour Software Developer in 7 Simple Steps and jump-start your software career today.

Because the cross platform or hybrid applications approach using HTML5 and JavaScript, for example Phonegap and related technology stacks, is not yet that production ready.

In other words when you or your customers want to have really smooth animations and to use the very top notch features of the operating system you should go native.

Or use real cross platform development, for example Xamarin or native, yet try to avoid HTML5 hybrid development in this case.

How we usually approach development depends on the stage at which our future customer comes to us.

Sometimes they just have a bare concept or idea and we help our customers to develop this idea by

  1. providing a business analysis and then
  2. pre actual development stuff,
  3. do the design and then always
  4. move into the implementation part of the application or project.

In other cases we have to rescue the projects already built when previous teams or partners have failed and the customer is frustrated and they need help immediately.

In 3 out of 4 cases these types of clients have a really strict deadline, or they have a product launch or an exhibition  or they need to make a presentation for their investors.

Then in the very last moment they realize that their current or previous team has failed them. So they need to fix things really really fast just to save the situation and handle the delay before the next milestone.

So usually we do the emergency fixing to help our customers pass through this critical situation and after that we start more solid review on what was done wrong and how to fix that in the most efficient way to get the customer’s project back on track.

2. There are already many mobile application developers out there but with varying capabilities. What do you consider to be a GREAT mobile app developer?

What defines a really awesome mobile app developer as a person?

This person should first of all

  • be patient and
  • specific to details.

In other words there are those types of people that when you speak with them you feel like their mind is somewhere else.

It’s really hard to Teach such a person to be a great developer besides being a mobile developer.

A great mobile developer should also pay a lot of attention to your implementation.

In other words mobile development is usually everything about the user interface.

And a great mobile developer should be able to communicate with your UI designer in the most efficient way possible. So it’s not going to work just to write code. Your code must create a really great user experience to the end user.

So it boils down to

  • attention to details,
  • understanding of basic design stuff and
  • just to be able to communicate with the designer to the lowest level possible.

3. In this technology era where learning resources are available online through blogs and video courses, people can pretty much learn mobile app development without attending classes at a university. Do you think a background in computer science is necessary in order to be a great mobile developer?

It’s not a must have for everybody yet in most cases you should first learn how to develop, prior to becoming a mobile developer.

You should still know the basic algorithms.

How to sort arrays and all of that stuff.

So prior to becoming a mobile developer that person should take a few lectures or courses.

There are plenty of them regarding basic programming skills: how to calculate algorithm complexity to avoid common mistakes that are accredited usually to poorly skilled developers.

There are a lot of both free and paid courses online that are pretty good in helping you nail the basics in algorithm stuff. I have really used a few of them and they should really just be enough for a person who is hardworking.

In other words if you want to learn this stuff and you have the attitude for that then you don’t have to spend 4 or 6 years gaining a degree in computer science to learn that.

If you already have a degree in computer science, that would make your career a bit easier if you studied well.

4. Do you have a particular platform that you particularly recommend where you can refer somebody to go and have their algorithm skills honed up?

Most of the time I recommend the use of Coursera.

We use those resources to enhance the knowledge of those who come to our company as trainees or junior  developers.

They want to become developers but they lack some knowledge so we give them the materials or courses from there as resources for study.

5. As an experienced mobile developer with 10+ years of experience, what are some of the tools that you find indispensable to a mobile app developer?

First of all, if you want to be efficient, the most important tool is Google.

You must have the experience and knowledge of how to find information.

Being a developer is not about how much documentation you can remember but, it’s about how fast you are able to find the information you don’t know yet.

The second tool you must have is more or less about a properly running computer.

Whether it’s Windows based or Linux based or Mac it doesn’t really matter. You should be able to comfortable use it with an integrated development environment for Xcode or the Android Studio without severe speed loss of the computer itself.

So if you feel that you are embarrassed by the slow speed of your computer. For example you type faster than the computer can show what you just typed, then you should replace your machine.

You should also take sometime to learn the hotkeys when you are developing in Xcode or Android Studio or Sublime.

You should use your keyboard as much as possible since the time you spend when you move your hand from your keyboard to your mouse is significant, i.e. when switching between windows or for selecting texts you should use the keyboard.

6. When learning to code from the internet there is a lot of information overload. Ranging from free to paid courses. YouTube videos and blogs with information that sometimes conflict with one another. How do you solve information overwhelm when learning to code from the internet?

Exclusive Bonus: Click here to download my book on How to Become a $50/Hour Software Developer in 7 Simple Steps and jump-start your software career today.

The following two tabs change content below.
Geoffrey is a lead software developer, author and writer. He writes code from scratch and frequents GitHub. He also writes and talks about technology trends, small business tips and software developer productivity hacks. He is no coffee addict.

Leave a Reply

Your email address will not be published. Required fields are marked *