Being a successful apps developer

After judging the Bristol Uni Computer society Appathon a couple of weeks ago, several students approached me with career related questions and I thought I’d collect them up and post them. These are purely my personal views not that of Mubaloo. When I’m talking about App developer I’m meaning native app development.Treehouse_QA

Also I jotted this down in a hurry as the students needed to include some of the comments in an assignment. So expect spelling mistakes!!

What’s your favorite and worst aspect of your job?

Best bits:

  • Developing apps used by millions of people (having great designer to make them look great)
  • As head of Android I’m the go to person for Android and I shape how the company approaches the density of devices.
  • working in team with motivated and talented people – it really makes a difference when team mates are all pulling to the same goals.

Worse/challenges

  • Trying to estimate how long a app will take to make based on limited details/requirements
  • Personally I find logging time to projects tedious, it should be simple but the software is clunky at best – but in all the companies I’ve worked the time tracking tools have been subpar. – someone should write a easy to use app for it! :)
  • Being point of contact, has it’s downsides mainly lots of interruptions which can make focused development (the bit i really love) difficult.

How would you describe your company (business area, number of employees, approx number of Countries operated in)

errrm, RTM… check the website for that www.mubaloo.com

Day to day taks and in general what does a typical working day consists (design work vs paper work vs talking with clients vs actual coding etc)

  • reviewing design documents,
  • writing specification,
  • meetings with clients to dsicuss current project progress or future project developments
  • fixing defects raised in defect tracking system
  • Writing code meet specification/design

Where did you find your job at Mubaloo?

I met one of their Android developers at google developer day/conf – i was looking to break in to Android from background in Java enterprise development (v.boring compared with mobile). I was resigned to fact I’d have to move to London as most the mobile opportunities were in London. I was totally stoked to find a large and successful app company 15 mins cycle away.

From there I applied directly, and completed an interview task to build an app. I spent time to make sure this app was good to impress the interviewers and help convince them of if this is what i could do in my own time, imagine what i could do if i did it full time. It also helped having programming certifications so then could see me keenness to learn and achieve goals

What was the application process like?

At Mubaloo we ask for cv’s and portfolio. If not portfolio or sample app/code we usually ask people to complete a interview task which consists of creating a basic Android app with several screens to demonstrate you understand the fundamentals of activity lifecycle, async tasks, and resources framework. We also look for well structured and commented code.

We also highly value a good github and stackoverflow account.

Once we are satisfied with above we conduct a 10-30 telephone interview to ascertain current situation and fit for the company.
Technical interview in person where normally a senior engineer asks a bunch of OO and Android questions. But mainly we’re looking for how you solve problems and how you would contribute.

What skills do you believe are most essential for an App developer to have?

  • In terms of programming, a solid understanding on OO.
  • An enthusiasm for technology.
  • Knowledge of the platform – know Android programming is great, but knowing how Andorid has evolved over the past couple of years is even
  • Clear and concise communication of ideas
  • working in a software team, using source control systems (merges), defect tracking
  • Attention to details – following the spec/designs

How do you think these skills can best be demonstrated?

  • Example apps and code
  • github – by that I mean contribution to open source projects or open sourcing your own work
  • stackoverflow – asking and answering good questions, showing your contributing and being part of the dev community

What are the transferable skills of an App developer?

  • Programming and problem solving skills can be applied to lots of technical roles
  • Working as part of team
  • Prioritization of work and meeting deadlines (Or flagging early if there are issues)
  • public speaking

Do you think a strong LinkedIn profile is important to getting employed?

I think linkedin is great way to connect and broaden your professional network. So yes, I think you certainly need a profile with professional photo and if possible recommendations of your work. These will come in time.

There are people who don’t rate the recommendations on linkedin, as they can technically be faked by getting friends to recommend you. Although because it’s your professional profile I believe this doesn’t happen allot. I personally would never recommend someone who wasn’t great, it takes time to write a recommendation and I would only do it for someone who was professional good whether they are my friend or not doesn’t matter. If I recommended someone poor i feel it is a poor reflection on me.

Tip: seek recommendations while the work is still fresh in the mind. But don’t be offended if people don’t recommend you.

Also I’d never accept connection requests from unknown recruiters (Or known ones if i’m honest) – they may spam your inbox and call you all hours. Once your details are on their database you’ll get calls for years!

Why did you chose to work for a development company rather than trying to develop apps independently like lots of developers are doing at present

Simply put there’s less risk in working for an apps company (as long as it’s profitable). There’s so many apps, the chances of being a hit is silm without hugh marketing or unique idea.

I enjoy developing my own apps, for fun and to build my own experience and showcase my skills. This is especially useful as often due to NDA’s I cannot talk about the apps i’ve done at mubaloo.

Do you recruit new graduates into your company? If you do what sort of training and support do you provide to the to ensure that they integrate effectively into your company?

Yes, graduates are great source of energy and enthusiasm. But also with new mobile technologies they often have simialr experence to seasoned developers and tbh are allot cheaper.
We assign mentors to help grads thorugh their 3 month company standard peroid. But in general the culture is frienly and helpful and we’d strongly encourage you to ask questions. In fact in general I’d be concerned with developers who just sit there suck on a problem all day without asking for help – whether that be in person/email or stackoverflow.

What are the main skills that you look for when looking at applicants?

  • Enthusiasm and motivation for mobile (and specific platform) – we always say you can’t teach Enthusiasm.
  • Willingness to help others and get stuck in and get things done
  • Programming/OO knowledge
  • Exmaples of how you’re overcome difficult sitations or problems
  • Normally start interview by asking why do you want to work for mubaloo as a Android developer? – which isn’t trying to trip anyone up and should be an easy question.

How have current financial trends affected new employment within your company?

Luckily the mobile space is expanding when other industries as contracting. Whilest is does effect the no of customers and amount willing to spend. Like with the web 10 years ago where every business needed a webstie, now with the massvie mobile trends everyone will need an app, so i see it continuing to grow.

Do you provide in-house education and training? If so, does it cover both technical education and personal skills development? If you do not, how do you ensure that employees remain up to date with the skills?

Yes, but it’s mainly on the job and when buddying with more senior developers. There are opporutunities to switch platform. Mubaloo is keen to support develoeprs who want to develop for multiple platfroms as if makes you more flexible resource for the company.

Does you company prefer to promote people internally or hire externally?

Depends on the role, but its not that formal. We try a keep a good mix of jr, dev, and senor developers, but theres not limit on the sensiors for exmaple. If you are at that level and have demostrated it you get promoted.

What you think the benefits of Android over iOS are (and vice versa) as well as other formats?

On Android all apps are equal, so there is scope to be more innovative- if I want to create a web browser or keybaord I can. In fact it’s encouraged by Google.

There’s more Android devices globally, that doesn’t translate in to more profit from Android apps as this device users are necessarily app users – but there’s a potential to reach more people. The Android development comminitty is strong and there are countless open source projects to help you create great apps. I like the way Android devices can be different to suit the user. If I want a 5.2 phablet or 3” ruggedised phone then I should be able to make the choice and not have Apple make it for me.

My passion for Android often gets mistaken for strong dislike anything Apple. Which isn;t the case, I enjoy using the iPAD and love my Macbookpro. I’m looking forward to learning iOS at some point. What I find frustrating apart from the additional effort required to get an app i develop on to a device. There’s cool features and API’s on iOS (e.g Siri), which aren’t availble to 3rd party developers.

Currently if you had to pick either iOS or Android you can’t make the wrong decision both are successful platfroms with plently of resource for getting going. Cost of entry is allot less for Android with no need to buy expendsive mac and $100 per year dev account. In terms of langauage I’d argue Java has more scope outside of mobile, than objective c – unless you only ever want to write iOS and OSx apps. But there are pros and cons for each language – I used Java since Uni, so it’s very familar to me, but I love in Objective C that you don’t get null pointer execeptions.

 

Like i said in the preamble these, are my personal opinions that I brian dumped to help out a couple of the guys who did the appathon. Let me know if useful.

 

  • ranbir oberoi

    Fingers crossed waiting for JavaOne India 2013
    Hyderabad May 8th and 9th. Register
    here http://bit.ly/YMPeJ8 today and be part of JavaOne India. Time to share expertise, insights, tips, and
    tricks for using Java technology, leveraging the Java programming language, or
    extending the Java platform.

  • http://www.technoscore.net/ Smita Sharma

    Great Explanation. If we want to hire app developer for any O.S. These guidelines & questionnaires can help us a lot.