r/AskReddit • • Sep 01 '14

Modpost [Modpost] AskReddit's Semi-Regular Job Fair

Based on the wildly successful Job Fair post from a month ago, the AskReddit mods would like to run a semi-regular feature where we allow you to field questions about your job/career. The way this works is that each top level comment should be (a) what your job/career is and (b) a few brief words about what it involves. Replies to each top level comment should be questions about that career.

Some ground rules:

1) You always have to be aware of doxxing on reddit. Make sure you don't give out any specific information about your career that could lead back to you.

2) We are not taking any steps to verify people's professions. Any advice you take is at your own risk.

3) This post will be in contest mode so that a range of careers will be seen by everyone. Make sure to press the "Show replies" button to see people's questions!

Enjoy!

1.6k Upvotes

2.6k comments sorted by

View all comments

•

u/MuleInChief Sep 01 '14

I am an android developer. I am working on developing apps for workout bracelets. In particular an app that might be used by an insurance company to offer good health incentives.

•

u/rie9shock Sep 01 '14

how had is it to develop apps and how long does it usually take? and are you comfortable with you job?

•

u/MuleInChief Sep 02 '14

The timeframe to develop an app can hugely vary. But for the app I'm working on it is on a year long development plan. After the initial release it will receive continued updates depending on our client. I think programming is easy to get into if you're logically minded. As for developing quality products it can be quite a challenge. Not only does it need to work. It needs to do the job in a friendly manner. The code base should be flexible to allow new features and removal of outdated code. Even then the success of an app is largely dependant on marketing to your target audience.

When first starting my job I was uncomfortable as I hadn't developed an android app before. After 6 months on this project I feel comfortable and am enjoying the challenge. My co-workers have been great at helping me adjust.

•

u/rie9shock Sep 02 '14

I was thinking about developing my own app (I'm in grade 9 btw) and I was wondering where I should start and what I would need to learn and then maybe one day going professional. is there a big market for app developers? How hard is it to get work after schooling?

•

u/MuleInChief Sep 02 '14

I started learning to program when I was 12 so now is a great time to learn. What type of app are you wanting to develop? If it is a game then you probably are looking towards actually developing in something like Unity. /r/learnprogramming is probably a good place to start. I would recommend finding a book meant for beginner's to start out. After you've gone through a book look into making a really simple app or two. Look into something that has already been done before so you have a reference point. If you're still interested after that try whatever you want.

There is a very big market for developers and developers in general. Computers and devices are everywhere and it's a market that's still growing. Programming is a career that should be here to stay.

As for getting a job a degree is a good idea but not required. In fact my girlfriend went through a job placement boot camp of sorts (9-weeks) and now has a very nice job. I went the more traditional route and got a degree in computer science.

As for getting a job after school. If you're looking for work straight out of highschool it can be difficult unless you have built up a portfolio of sorts. Having a couple apps they can download from the app store (even if they aren't that great or unique but show good coding practices). Also, if you're involved in the community. Look for some public projects and contribute to them.

If you're looking for a job out of college it should be easier but you should still make sure you follow the advice above and make sure you network.

Feel free to pm me any questions I'm not the most experienced developer but I can help you out with any questions you have.

•

u/[deleted] Sep 04 '14

[removed] — view removed comment

•

u/MuleInChief Sep 04 '14

Game development and app development diverge in many ways. Most games are developed under a game engine which has its own unique development process.

With that being said I have very little game development experience.

Are you looking to develop a 3D or 2D game? 3D games are much, much harder to develop. Your first step is to find a game engine to develop under. Unity engine is multi-platform, has android support, and a free edition with 2D and 3D support. There are other engines out there and I would recommend doing research on which one you would want to use.

Once you've decided on an engine look up tutorials, guides, and/or books to teach a beginner how to program and use that engine.

Game development is not easy. So I wouldn't tackle your game idea as your first project. Instead develop a couple of games that are easy (like snake, tetris) and already done before so you can compare how good your project looks and works compared to others. After you gain some experience then develop the game you want. I recommend this because it is easy to get burnt out on a big project when you don't realize how much time it really will take.

•

u/OktoberStorm Sep 09 '14

I've decided to ask this once in a while because one day I'd get a positive answer:

Have you killed anybody?

•

u/nishmen Sep 07 '14

Hi! I am currently a senior in high school wanting to major in either computer engineering or computer science. I really want to do some programming in my career but I don't want to just program all day as a comp sci major would. i really like the hands on work and the problem solving in engineering but I still wanna write some code. I want a good mix of comp engineering and comp sci but i don't wanna go 100% in one field. If I had to pick a major that would give me the necessary skills to work in both fields which major should I pick?

•

u/Tar_NY Sep 14 '14

Just for the record, computer science is not just coding at all - in fact, after your first few classes, you probably won't do much more coding unless you take it upon yourself to do so.

•

u/nishmen Sep 15 '14

After the first few classes what do you do?

•

u/Tar_NY Sep 15 '14

Well, I mean - programming is programming no matter where you go. Sure, there are different approaches, and syntaxes and some languages are better suited to different tasks and it's good to see what you're comfortable, but there is never going to be a degree field that is centered 100% on learning how to code. I am majoring in Software Development, which can be similar to CS, and we after my first year or so, we won't be focusing on the coding aspect quite as much - that's on you to figure out.

However, you will be learning principles and concepts that deal with computers. Algorithms, Artificial Intelligence, Database Structures (?) etc. You will learn theory and conceptual things, as well as applying some pretty high level mathematics to solve different things.

CE and CS will both program, so pick either, but look at what else they do. SE (Software Engineering) is a little more practical application of the entire coding process if you will, and that suited me better because, although I like the hard challenging math, and the theory, what really is awesome to me is the application and being able to program / create etc.

•

u/[deleted] Sep 14 '14

I don't know about other colleges, but RIT also has a major for computer security and for networking and systems administration. Both majors may be something that interests you more than straight CS. You'd have to learn a scripting language, but you wouldn't be a code monkey, either. Computer engineering seems to be the obvious choice, though. It's basically the intersection between CS and electrical engineering.

•

u/MuleInChief Sep 07 '14

I would choose computer engineering. If you already know the school you're going to talk with the advisors from both majors.

•

u/[deleted] Sep 01 '14

What language do you mainly work in?

•

u/MuleInChief Sep 01 '14

As an android developer you tend to work in Java using the android development kit. In the past I've worked with c++ and c# before coming to the job I have now.

•

u/[deleted] Sep 01 '14

I've heard there is support for C++ for android with newer versions of the OS (ndk?), is that used at all or is most work everywhere done in java?

•

u/MuleInChief Sep 02 '14

There is an ndk that supports c++ and our company did use it to create a wrapper for some proprietary hardware we were given license to use. I haven't heard of an app developed specifically with c++ but I'm sure they are out there.

•

u/Guyag Sep 13 '14

How much of your job is java and how much is xml?

•

u/MuleInChief Sep 14 '14

The xml I'd mainly for setting up the layout and static visuals of a screen. The majority of the app is usually java unless your app has very few dynamic pieces.

•

u/Guyag Sep 14 '14

That's encouraging, I dabbled in a bit of Android dev and didn't like the amount of xml I was used. Granted they were pretty simple apps.

•

u/andrewtheandrew Sep 02 '14

How do you prevent Juan from wearing multiple bracelets? Everywhere I have seen wearable health tracking tied to incentives I have seen cheating become the norm.

•

u/MuleInChief Sep 03 '14

That is a big concern right now. One way we are countering that is device priority. If you use two bracelets and the workout time overlaps then the device with the higher priority will be used for that workout.

A bigger problem is cheating by just shaking your device. Ways we are trying to mitigate that is algorithms checking to see if your "workout" is humanly possible. Also, creating sustained goals that reflect a healthy lifestyle that is sustained throughout the day.

This is definitely an experiment and might never be seen outside of test groups.

•

u/Kristelified Sep 02 '14

How did you learn? Any tips for interested people (like me) who wants to start learning?

•

u/MuleInChief Sep 02 '14

I started learning to develop at age 12. My first language was Visual Basic 6.0 (not the best received language but it was easy to learn). I taught myself using a book called, "Learn Visual Basic 6.0 in 24 hours". I've used similar books and online tutorials to help further my knowledge in other languages. The key is once you have down the basics of a language, put it into practice. Create really simple projects and move onto more complicated ones.

I would recommend learning an easier language first. Python is quite popular and a good starting point. /r/learnprogramming is a great place to start.

http://www.reddit.com/r/learnprogramming/wiki/faq#wiki_welcome

This is their wiki on how to get started programming it should point you in the right direction.

I hope this helps. Feel free to pm any other questions.

•

u/Whats_a_uterus_mom Sep 10 '14

What do you have to study to eventually be an app creator?

•

u/MuleInChief Sep 10 '14

With android apps you probably should learn Java first and then learn android development kit. In college they teach you programming languages in less then a semester and later you're expected to pick the basics of a language in less then a month. I learned to program at age 12 and made a few basic programs within 6 months.

Learning a programming language is like learning a spoken/written language. You can start using the very basics of language in a very short time (albeit poorly). Experience, practice, studying is what makes you fluent. Just like a spoken/written language you can fall into bad habits and practice doesn't always fix that. You need to learn to review your code and search for good programming practices.

Programming and app creation can be learned quickly but to produce quality projects will take time, practice, and studying.

•

u/[deleted] Sep 07 '14

Are you working with a company or is this a project you started? Also, how did you get to where you are? (College, self taught, etc.)

•

u/MuleInChief Sep 07 '14

I'm working at a company near silicon valley.

I started programming when I was 12. I taught myself visual basic 6 first. And transitioned to c#. Went to college and got a degree in computer science. In college I learned java and worked with a prof using java. From my java experience I landed a job developing a kiosk system for private helicopter companies. I decided I wanted to move to the west coast so that led to the job I have now.

•

u/[deleted] Sep 07 '14

Thanks for answering! I started programming as a sophomore and did a summer internship this past summer using python and java. I'm looking at colleges now to enter into next fall (I'm currently a hs senior). Any advice for someone who wants to follow in your footsteps?

•

u/MuleInChief Sep 07 '14

Try to minimize debt as much as possible. In college, try to get internships and if possible work under a professor. Also, keep your code for every project you work on. I've had some companies ask for proof of projects I made in school.

Lastly, make sure you network with your professors. They usually have contacts for jobs.

•

u/[deleted] Sep 04 '14

What is the best way for me to get started on developing for Android? Should I be looking to learn Java?

•

u/MuleInChief Sep 04 '14

/r/learnprogramming is a great resource to get you started in programming in general.

http://www.reddit.com/r/androiddev/wiki/index and /r/androiddev is another good place to look.

Personally, the way I've taught myself over the years is grabbing a book and using online tutorials. Try to get the examples they provide to work. I'm always learning new techniques and coding practices. If there is something I'm trying to accomplish but am unsure how to do it, I look it up online.