Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Should I be concerned about this job offer?
14 points by tossoutaccount on May 19, 2016 | hide | past | favorite | 20 comments
I'm an undergrad with previous experience as a C++ dev at a medium-sized company. Recently, a small landscape architecture firm posted a freelance app dev position at my school to which I applied and was interviewed. The interview went well and I strongly suspect I'll get a call in the next day, but I have some concerns.

The app they want sounds somewhat complex: it involves plotting routes on local trails and tracking location and distance traveled. It was requested by one of the firm's clients as part of a larger project. The firm has no experience with software development, but instead of contracting out to a professional developer, they decided to hire a student. The deadline for the app is the end of summer and I would be the only person working on it, including interface design and whatnot. The apps they used for comparison with the final product were both popular and polished; One is developed by a team, though the other seems to be by a single guy (who is much more experienced than I am). Oh, and it needs to be available on both Android and iPhone.

Am I correct in thinking these sound like unrealistic goals, or am I actually overestimating this project's difficulty? I have no experience developing phone apps (this was clear on my resume) so maybe this is simple with existing frameworks or libraries.

Before continuing, I should mention that my academic background is weak and my employment record is filled with a few holes. My alternative to this job is either fast food or waiting for another job like this that is willing to hire me despite my background, and local dev jobs are scarce here. Therefore,

If the scope of this project is or becomes too big, what actions should I take?

How do I avoid being taken advantage of salary-wise? Obviously they are looking to spend as little as possible if they're hiring a student. I have no experience negotiating and don't think I have much leverage with the little background I have.




The deadline for the app is the end of summer...

If the company has made a promise like this to the customer without even having a development team in place, you can be guaranteed this won't be the only dishonest piece of the puzzle.

Bail and don't look back.


I think you are right, but ..

My 2nd job in NYC was with a startup doing microfische replacement -- think laser disks and early 90s. The owner of the startup had sold a solution to a bank downtown and it was my first day on the job .. at one of client's buildings in Wall Street. It became clear that 1st day that the solution simply did not exist. The demo that got the client was using a competitor's product.

I ended up designing that solution from ground up, hugely improving on the fake demo and we ended up successfully installing the product on the original client and another bank in Long Island.


Chances are, if they went to a University to get an app developed, they want it cheap. I've been in on more than one meeting where this was suggested.

Just be honest about the whole project. Let them know what they are getting into and set a plan from the start. If they decide to keep adding on requirements or changing things around, let them know how much time it will add onto the project.

You may never get the project done and it may be really complicated, but it will be great experience. I have many projects like these that I worked on after college.


Well if your option is App development or Fast Food, well I'd choose app development.

As far as salary wise fast food vs app development, talk to your friends and see what they are getting for their summer gig. Is it close to where you live? Maybe accept a lower rate and work remote/only come in for demos/reviews.

I would propose developing the iOS version first, completing that by end of summer is doable. You'll learn a lot.

Setup milestones for the summer. I'm not sure you can get both completed. Maybe propose to create the iOS app and they can hire an offshore dev to port to android. Or maybe recommend hiring another student to do the android version at the same time as you working on the iOS version.

Only accept this as hourly, since you'll be learning, changing things as they get feedback.

Since you'll be doing iOS development see if they can set you up with a new macbook air or pro, iPhone and iPad for testing, apple dev license, photoshop, etc that you'll need to create this.

Sounds like a good opportunity to learn iOS development. More pay and more productive than fast food.

The summer will go by fast so try to make progress early.

Good luck, enjoy the summer.


I once turned down an accepted offer because I realized I was not qualified to perform the task. They wanted me to analyze and estimate the time required for a rewrite on technology I was totally unfamiliar with. The greenfield development was extremely attractive to me, but I was able to temper it by coming to terms with the fact that the stress of achieving their goals with my time and skills would be really irresponsible. There are other opportunities. Don't sacrifice your sanity.


Hi,

I've built a similar mobile app for both iOS and Android (as two native applications, not sharing a code base), built on top of Parse as the back-end-as-a-service. I also teach mobile app development at the university level.

I don't think that this is a reasonable goal for a summer college student with no mobile app development experience, on either platform.

I'd suggest scoping out the project into several distinct goals:

1) List of trails on iOS 2) List of trails on Android 3) Map of trails on iOS 4) Map of trails on Android 5) Trail detail screen on iOS 6) Trail detail screen on Android 7) Plotting trail route on a map in iOS 8) Plotting trail route on a map in Android 9) Showing user's route on a map in iOS 10) Showing user's route on a map in Android

And so forth based on the requirements. Explain to the company that you are going to work from the top down, and whatever you accomplish during the summer is what you accomplish. It may just be steps 1,2,3 and 4, or it may just be 1 and 3 on iOS.

Feel free to reach out if you need help!


There are a lot of red flags in your description. This doesn't sound like an ideal first development job for a few reasons. Most importantly, focus on finding a position where you can learn more software engineering practices from great mentors.

Questions to ask yourself: What are your personal career goals? How would taking this job serve them?


> The firm has no experience with software development, but instead of contracting out to a professional developer, they decided to hire a student.

The client & the architecture firm need a problem solved. Better to ask-- What would it take to make this happen?

One place to look is to start talking with seasoned, off-shore developers. These guys often have teams of junior devs working under them. Essentially, you would serve as the PM - supervising the work, interfacing with your firm's superiors and the client. Figure out the budget and timeline. Tell your prospective boss you've got an economical and workable solution. But you need approval to bring in sub-contractors in order to meet the aggressive delivery schedule. Stretch projects like these are stuff that build great careers.


In terms of the complexity of the app, I'd say to start looking into the kinds of technologies you'll need to fulfil the requirements. Sounds like you will need a server somewhere with an API, and of course the app itself on whatever platform is appropriate. I have not done much mobile app development myself, but I would not underestimate the impact on the project of, for example, learning how to develop an Android app. Each ecosystem has its own vocabulary and conventions you will have to understand in order to develop the app well.

That, of course, is not to say that you can't get something out in two or three months that is functional, if rough around the edges (at least in terms of the code).

If you're really worried about the possibility of not being able to deliver, I would advise you to pay close attention to the terms of the contract if they offer you the gig -- how much freedom do you have on the project, are you accountable for its success (particularly in a financial sense).

You can recommend that the company bring on another developer, perhaps before you sign stuff. Treat it less as a negotiation with an employer and more like a consultation with a client: you want the app to be successful, and another developer would help to ensure that.


i agree with the others: this sounds like a sand trap. stay away.

for me, the biggest red flag is that they are setting a deadline unilaterally and willing to hire someone with zero mobile experience to meet that deadline. makes no sense. they have no idea how long it will take, and neither do you. a professional, experienced engineer with a solid set of requirements in hand might be able to make an accurate estimate. but here, they're just picking a date out of thin air. honestly, what's their rush? i hardly know anything about them but they already sound like the proverbial 'bad client'.

a note about pay: if you are going to be a salaried employee, then whatever you've finished at the end of the summer is what they get. (i'm assuming you work in an at-will employment jurisdiction like much of the U.S. is.) maybe that's a complete app, maybe it's just 20% of an app. but if this is really a situation where you're signing a contract and committing to some deliverable, then ... no. stay away.

> "my employment record is filled with a few holes"

no one cares about your work experience while you're still getting your bachelor's.

do yourself a favour: you need to get on the ball and hustle and at least attempt to secure a proper (paid) internship at a software company, or a bank, etc. you need to be around people you can learn from, for one thing. and if you're not working somehwere, pick up some books on topics you're not familiar and work through them. go work in your university's library, don't just stay at home. can you implement Raft in C++? there's your first project. no fast food.


With all due respect. Take the fast food job.

Why? You won't be burned out after a days work and probably can spend time enhancing your development skills. Far more valuable in my opinion.

I once took a job at a Starbucks for a year as a barista to be able to focus on my own projects and learning. No conflict of interest and at the end of the day making coffee I was super motivated to go home and learn until I passed out :-)


1. You're correct, those requirements aren't trivial. They're also not impossible, it's just a considerable amount of work.

Phone libraries won't magically solve any of your issues.

2. I would attempt to drastically reduce the scope. Emphasize the worst-case development time to your client. The client's reaction to this is often very informative. My best clients react by accepting my concerns and scaling back the requirements to the bare minimum. My worst clients have refused to acknowledge serious issues and insisted on charging ahead without changes to the plan.

3. You avoid being taken advantage of by having a better offer. Since you can't do this immediately, accept that you will be taken advantage of until you can clearly signal your value. Put effort into personal projects and other visible demonstrations.


If they are willing to hire a student, they are willing to get student grade results.


Which is its own concern, you shouldn't go somewhere where your hard work will look like nothing


Even if you have a weak academic and employment background you can ABSOLUTELY get a dev job that won't be designed to fuck you over, like this one is.

You might have to move, you might have to get a (paying) internship (they definitely exist), and you might have to send out some cold emails to people you don't know to ask. But there's no reason you should be waiting tables.


I'd heed the advice in here. It sounds like a big project to take on as a lone student.

On the other hand, you can go in guns blazing and be professional and fair and say "this is unrealistic I need to hire someone" and you could easily have yourself a software company funded primarily by somebody else's misguided speculation.


Don't say no.

Just ask to be paid by the day/hour. Look at salaries in your city for 2 years experience, and ask for the upper end.

Negotiation is simple: ask them to make you an offer first, if they offer you less than want state your price, and if they wont meet it then walk away.


If he takes the job, then this is certainly wise. But it is still most likely a bad idea to take the job.

* As an undergrad on summer internships, and in your first few years of professional work, it is better to optimise for learning rather than earning. A project where you work alone with unfamiliar technology at a non-software company won't provide that. He should instead find a software company with a culture of strong mentoring and code reviews.

* It's possible to learn Android, iOS or web development over a summer if you have some previous C++ development experience. But learning all three, and designing and building a reasonable quality app on two platforms + a server backend is just not feasible. The end result will be poor, and the client will not realise that this was because of their own unrealistic expectations. As a result, OP may not get a great reference to use after graduating.

I mean, if the other alternatives are fast food jobs, then sure. But he needs to manage the expectations of the employer very carefully - maybe proposing a mobile website only, no native or hybrid apps for the first version.


> I have no experience developing phone apps

If you had some decent experience, you'd probably be able to write this app (or at least something like it) in ~4 months of full time solo work.

That's if you worked with some discipline and knew what you were doing already.


This smells bad, I say walk away it looks more trouble than its worth.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: