Second Project Down…
They liked my Android project enough to let me tackle the iOS version. Not that I have any background for iOS. I don’t think I’ve even made a phone call on a borrowed iPhone. But in the last couple weeks I’ve built and iPhone/iPad app that I’m pretty pleased with. (Hope everyone else will be too…)
So in two weeks I’ve learned Xcode, Objective-C, and a healthy amount of Swift. The original project was written in Objective-C and worked. There was an update to Swift – but it would not compile.
Neither one was built for any kind of modification.
They told me it was their previous iOS developer’s first project, and the code is pretty hard to read. Sometimes I think that means the person that wrote it must be some kind of genius. I could not write that program. I can barely understand what that program is doing with all the tangled bits and pieces intertwined. Not spaghetti code – molten gold. Untangling it was …
I worked 10-20 hours a day, every day, even weekends trying to meet this deadline. I guess you could say I was motivated.
After close to two weeks of that schedule though, I’m sick of it. I think if I am going to work remotely I really need to get better at setting boundaries…limiting the number of hours I work in a day for one thing. But also, I need to be careful about giving up weekends. The first one I gave up gladly as I was still learning and feeling all happy and freshly challenged. The second one was the 20 hours a day – it’s due on Monday weekend and that schedule just took all the joy out of it.
But now I think they expect me to work weekends too… and I need to find a way to keep that from becoming the normal thing.
Even with the challenges though, I’m glad I found this job. I’m glad I get a chance to learn iOS. I like this pace of about 2 weeks per project (and hope I can bring it down to one week as I get better). I think as annoying as the nitpicky testing is (and it annoys me after all that work to build a working full-text search they pick on me for having a missing title… and this button is too big… and we have to hide the search bar) it’s also making it a better app, one I can really be proud to have built.
I need to get better at these reviews though. I don’t know if there is a way to do them without feeling picked on or not. Can I get good enough to just turn in perfection so we can skip the feedback? Probably not… but other than finding all the little flaws first, I’m not sure how to avoid the feeling that I’m being picked on. I think they try. But the “great job” you’re “very close” doesn’t last nearly as long as the “But…can you change this” part of the meeting.
It doesn’t help that they throw out the “you’re new” and offer to get their experienced guy to help out. It’s like every time I complain that something is the way it works, they assume I just don’t know any better. It kind of digs at my self-esteem.
I am new. And I’ve done a pretty darn good job when you consider that. But also, I’m not stupid. I’ve been programming for some time, and I’ve had some intense training (on Android) and so there is a sense of what is “easy” to change and what would mean significant revisions. Less so on iOS. The changes I made this weekend all happened faster and easier than I expected. But I also figure I made about $2/hr for this project. Yes, I’m learning, but I also spent a lot of time and effort on this beyond just learning and “swapping out some graphics”. I think the project should have paid more than it did – that no matter how experienced the programmer was, most of the old code had to be rewritten. And that’s a lot more effort.
I’m going to have to be careful about this per project rate thing and read the specs more closely in the future – as well as look at the code. I didn’t look at the iOS stuff because I thought someone else was going to be doing it. And then I was doing it. And actually, I don’t know what the per project rate is for that half of the project. It might be more than the Android half for all I know.
And all this not knowing is not a good way to run a business. It’s fine if you are an employee and get an hourly rate. You get paid the same whether there are surprises or not. But if I’m going to be doing this as a consultant and be more or less in business for myself, then I need to get some better business skills ASAP.