I'm not in a position for any of that. We're living literally week to week, and every single hour that I'm awake I need to work. Our bills are past due and we're overdrawn $50 in the bank right now. I'm making $25/hour with this one client, and it's barely enough for the life we have. I would downsize our lifestyle if I knew how but we can't even afford to move to a cheaper city. As it is right now, the only choice I have right now is to just work on this client project every hour that I'm awake, and sleep no more than 7-8 hours per night.
Not that you can do anything about it right now (understandably) but when you can you might want to look hard at diversifying your customer base - Having a single client who you absolutely need to stay a float puts you in a very risky position (take it from someone who did exactly that a couple of years ago and it nearly finished me off - I hit insane hours of work per week and my health went to shit at the same time, while the amount of work didn't cause most of that (not much you can do about a spinal issue I'd had since birth)).
In the end I just said fuck it and looked for a full time job, I took a pay cut in terms of hourly rate but when you average everything out across lean and fat times I'm only about 20% down over a year for working 37.5hrs instead of 60+ every week, week in week out.
I'm a year into that now and mentally I'm in a much better situation than a year ago but it's taken nearly the entire year to get even close to feeling 'normal' again.
In terms of learning stuff quickly, change you scenery - Go read the documentation on a laptop in a coffee shop instead of at home (or a local library if money is really that tight) :- When I really need to grok something I get out the house and do it, two cats and the boy makes it hard at home.
Something doesn't add up. Assuming "working every hour you're awake" means something like 12 hours/day 6 days a week, that'd be a $90k/yr salary at your stated rate of $25/hr. A more realistic (but still severe) schedule of 10hrs/day 6 days a week would be $75k/yr-- even in an expensive city, far from the brink of homelessness.
Am I overestimating how much you're working? Or is the income being consumed by something?
I've only been a consultant for 2 months, and the reason I say every waking hour is because we are only just now getting caught up with bills, but we're still pretty far from being stable, and this weighs heavily on my concentration, so while I may work 12 hours in a day, I only get maybe 6-8 hours out of this work that I can actually justify billing for, because the rest of it was just spent staring at a screen and not really knowing what to do. And besides that, I have several children who need at least some of my help and attention throughout the day, and my wife who needs my help with them. So there goes another 2-4 hours. So even though I'm trying to get to a computer and type stuff in to count for billable hours throughout the day, this or that kid comes in needing something, or it's suddenly lunch or dinner time, or like basically everything breaks up the day and ruins any productive flow I could get into.
It sounds like you need to manage your time, including making time to take care of your life, especially if you're spending handfuls of hours every day simply stressing. If that time is going to be not-work, then it might as well be time spent managing your life and your future.
If you can convert three hours of "sitting and stressing" time to two hours of "self and family-care" and one hour of "productive work", then that is an increase of productivity and pay.
Also, as others have mentioned, reading and learning a system is billable time. Programming is thinking, not pushing buttons. (Staring off into space or stressing or distracting yourself with social media is not, however).
It would probably do you well to find a way to clearly separate work and life time/space. Work in a library or a coffee shop away from distractions, and set aside time during the day to be focusing on work and work alone. Take responsibility for controlling what you spend your time doing.
I mostly agree, but staring off into space can definitely be billable time. In fact, I think even time spent off-task can be billable, at least partially, as the brain needs time to digest what it has been presented with; I frequently find a short break can get me unstuck on a problem.
I think Patrick McKenzie recommends contractors bill by the day instead of the hour, partly to get them to consider necessary break time as billable. Of course, if you get to the end of a day and realize you really have been very distracted all day, you don't have to bill it as a full day.
Family distractions can be a big problem, though. You have to have blocks of several hours — I think the ideal might be two 3-hour blocks in a day — where you know you're not going to be interrupted, short of a true screaming emergency. Getting this across even to one's spouse, never mind a young child, can be very difficult. Getting out of the house might be the only way. As Paul Graham once observed [0], even the prospect of an interruption can be enough to keep one from getting into a flow state.
This is where I get stuck actually. I try to digest some information, but then I start worrying that I'm taking unreasonably long, that my client is definitely going to ask for a justification for why something that should have only taken 1 hour ended up taking 3 hours (because it could take him 1 hour or even less), and I won't have a good answer.
Does the client actually ask for such a justification?
Anyway, let's say that you're right: something that would have taken him only 1 hour takes you 3 hours, because you're still learning about the code. I can tell you, speaking as someone whose time is valuable and who has to delegate tasks to people who don't know the code as well as I do, that I know it's going to take them longer, but it's an investment we have to make to get more people up to speed.
I understand that in your circumstances, "relax a little" is not easy advice to take, but it might be the best advice I can give you — along with making sure you have enough uninterrupted work time. It does sound like you need to get out of the house.
Talk to your wife and kids about it. You close the door and work, if it's closed they should not interrupt you and if you open it they know they can talk to you.
I think your problem is that you don't get shit done because you get interrupted so often and than know exactly that you aren't making any progess and go straight into panic mode.
Start with step 1: close the door and start working.
This is intended as helpful. I would very much appreciate it if you read it with that in mind and not read it just formulating your argument for how I'm wrong and just don't understand your situation.
--
I've raised special needs kids. I'm seriously medically handicapped myself.
Unless your children are all under the age of two, there are things you can do to empower them to take care of themselves.
Store things they need where they can reach them on their own.
If you have a microwave, set up microwave foods and microwave safe dishes near it. Let kids feed themselves when they want to. If most of the food at home is adequately nutritious and they are given some simple guidelines, this won't undermine their health.
For example: My son liked eating cold noodles from the fridge with Parmesan cheese. I told him if he had an apple to go with it, that was a perfectly acceptable light meal. He did that on his own often in elementary school.
Give them very simple rules and standards to follow, such as "I need to be able to walk to your bed, dresser and closet without hurting myself." Then let them figure out how to meet that standard.
I homeschooled while bedridden. The kids piled into bed with me and I read to them.
The point of that: Handicapped people (such as your wife) can often do a lot more than other people like to believe they can. Their physical limitations need to be accommodated, but it doesn't mean they can't do anything.
However, they frequently do not have the energy to deal with their physical limitations and also try to prove to other people that they aren't useless. So the attitude and mindset of folks around them matters a great deal in their ability to both contribute and to lead full lives.
I'm the primary breadwinner for my family unit. I work part-time and intermittently as I am able. Over time, I have gradually increased my earning capacity, in part by focusing on getting myself healthier.
In my household, we talk a lot about "primary breadwinner privilege." When I had a corporate job, my adult sons took over the women's work at home. I'm firmly convinced that a lot of men get as much done as they do because social expectation bends out of their way to accommodate The Job, not their gender per se. That line of thinking has been very helpful to me and my sons for trying to find a path forward under extremely difficult circumstances.
So it isn't being included to man bash. It's being included in hopes that it's somehow useful to you as a mental model.
If I have to spend time thinking about a client's work, I bill them for it. Ultimately, writing software is a creative process and they're paying for my brain power. I've never had a client come back to me and say I'm billing too many hours.
I was in the same boat, I was floating via a single big client and the situation was no good. I don't have the health issues you have, so maybe it was easier, but I hit the job application process hard and found something. The interview process was extremely stressful and difficult and I really wanted to give up, but things turned out well in the end. It sounds like you've got skills to offer and there's allegedly a shortage of good developers out there. Maybe you could job search in a lower competition area?
I went job hunting for the past 8 months and got 30 jobs and all of them rescinded their offers because my reputation is radioactive. So I would love to get a full time job. But it's not my path right now unfortunately. I would absolutely love that though.
No. Even without background checks, every employer ends up googling my name when I get hired, and rescinds the offer 100% of the time. My only hope of being a professional programmer is to do contracting with people who give second chances. I had two clients who have done that, but one cut off contact with me. So I have one client. No way to expand that.
I'm sure you will take this as argumentative, which isn't really my intent, but, other than the hot bath part, I did all that while homeless. If you get access to any food at all, you can work on eating better by educating yourself about nutrition.
I'm author of the San Diego Homeless Survival Guide and Pocket Puter:
The thing about being homeless is that you have a lot of time. I had a lot of time while in jail too. I exercised 2 hours a day and ate healthy and felt great physically. If I spend any time exercising or taking a walk or spend my time doing anything other than working every waking minute, my wife and kids will be homeless.
Your productivity schedule is why you're not able to learn - it's like wanting to build muscle before digesting the food. Study the system a bit, then go and exercise for half an hour, which is billable time because you'll be thinking about what you studied while doing a couple hundred mindless reps. If you can solve the problem away from the screen and keyboard, and then come back and just input your solution, it's work. You're being paid to think, not for how often you push buttons.
From personal experience it sounds like you're in a very self-destructive pattern that it going to result in collapse from a combination of illness and stress. Not performing any self-care means you are running up a bill that someone else is going to have to settle if you fail.
> [earlier] while I may work 12 hours in a day, I only get maybe 6-8 hours out of this work that I can actually justify billing for
> If I spend any time exercising or taking a walk or spend my time doing anything other than working every waking minute, my wife and kids will be homeless.
These two statements do not seem consistent with each other. If 4 - 6 hours of your work day is wasted anyway, you might as well spend at least some of that doing things to make yourself more productive.
In jail, you had a guaranteed roof over your head and a meal coming to you. Homeless people have been known to commit crimes to get that deal.
Please don't talk trash to me about what it means to be homeless. In addition to having spent time on the street, I have also had a college class on homelessness and public policy and also interned at a homeless shelter (years before I ended up homeless).
You say you don't have time to do anything but work, yet here you are on HN a) asking for assistance and b) wasting time arguing with me about things you know nothing about.
Some things for you to think about (privately -- I am not looking for answers from you here):
Why isn't your wife working? (Assuming you are in the US) Have you called 211 to find out what local resources there are to help your family out? If you have called 211 and they have nothing to offer you, have you called all your local churches to find out what meal and other food resources they have to offer?
I'm getting rather angry about how you reply to me, so I think I need to just stop here, let this go and let someone else help you.
I'm not talking trash. You and I have had different experiences with poverty. I meant that if I was homeless, I'd have more time like I did in jail. And I only meant that in contrast to how right now I have no time.
Technically I should be working right now, but I came here to ask for help thinking it might save me a few hours of frustrating non-billable time spent staring at code and not getting it.
We have looked into every single possible resource. My wife has a disability that's incredibly difficult to prove with insurance or the government. It makes her unable to move for large parts of the day several times per month. She literally drops things and is unsafe to drive, and it just randomly comes on out of nowhere. So she's unable to work because of this, and we're unable to get disability for it either.
We've gone through every single local church and food bank. She just stopped at the food pantry yesterday. We are on food stamps.
I'm saying all this knowing that it's a waste of billable time, because I think it's important that you know that first of all I don't mean any offense, and second of all that I'm not exaggerating when I say that we really have no other recourse at this point.
Sleep more, memory works better if you sleep longer. Exercise a bit and start working on your mental/physical health.
Downsize your spending, get rid of expensive mobile plans, subscriptions for stuff like Netflix. Get cheaper house/apartment, learn how to cook.
Work on your confidence. Attend local meetups and talk with people. Chill out and stop whining. There plenty of people that would swap places with you. You are a healthy white male with a family living in the US.
Speaking as someone whose first dynamic language was python, it’s full of weird inconsistencies and I have no idea why anyone voluntarily chooses it when teaching programming. Granted all languages have warts, but people say python is easier to learn programming concepts in than other languages and I just don’t see it. I think they just mean the indentation syntax discourages confusingly indented code?
For beginners? Whatever’s most popular on the job market. Ideally something with C syntax. Most languages are similar enough and their quirks can be avoided. Lisps are definitely a bad idea for this since the syntax is less intuitive to most people. ML languages like Haskell are not for everyone either, they require mathematically inclined minds. So maybe Java or JavaScript?
Do you really believe Python is less warty than JavaScript?
A lot of the same numeric tower decision exist. There's a big schism between List Comprehensions and not, there's no simple way to ship closures around, and Python's concurrent I/O story is a sizzling hot mess.
JavaScript has plenty of problems. So does Python. So why does Python maintain everyone else is stupid for embracing programming constructs that have been deployed successfully since the 60's?
When I read your first post I thought you were going to suggest something sensible like using a language geared toward paedagogy instead of whatever language du jour, but what you've written here is absurd. C does not have intuitive syntax. Many places already do teach Java as a first language and it's a disastter for many reasons. Lisp has very intuitive syntax. The only people who don't find it intuitive are those who have struggled with C-like syntax for long enough they can't see anything else.
The only reason Python is used is because it's popular so it seems to fit your criteria outlined in this comment just fine.
Yep. I wasn't very cooperative with treatment after the first incident. I was very defensive. I felt that I needed to protect myself from the unfair world. That mindset prevented me from healing as a person and receiving proper treatment.
It's interesting to look at both of my HN accounts. I can actually see my gradual mental deterioration and then gradual recovery.
Okay, well if there were two incidents I think you were exactly the type of person that needed judicial restraint.
A couple of additional thoughts... 1) I do wish for your career and employment success going forward - society is better if you and your wife are successful in life, and 2) there is something "hinky" about your writing style and the way you describe your sexual & criminal indiscretions and employment difficulties. If you went around flashing 30 year old women, your behavior was still wrong and the type of behavior that indicates possible escalation to even more criminal and violent behavior. Not sure from your post whether or not you realize the age of woman does not matter.
I have to wonder if that sense of strangeness is also apparent in your face to face demeanor. The type of strangeness that, in conjunction with a negative criminal background check, would eliminate a candidate for me. I've been threatened with physical violence and followed from time to time. I do not want to associate with people that cause me to seriously consider concealed carry.
> Not sure from your post whether or not you realize the age of woman does not matter.
It does matter. It makes it worse that they were still in formative years.
> I have to wonder if that sense of strangeness is also apparent in your face to face demeanor.
I think what's coming off as "strangeness" in my writing to a lot of people here, is that it seems like I'm treating what I did very casually, like it was just something that happened. But it's just that I'm so panicked over how we literally don't have money for next month's bills, and not sure where that's going to come from, that I really can't spend any energy on anything else. The guilt of what I did has weighed me down a lot and slowed me down, and I can't afford that, so I have to shut out everything else around me and just focus on solving this one gigantic problem right in front of me, of how to avoid my family becoming homeless and starved this summer because of my past actions. That's all I can think of.
>> Not sure from your post whether or not you realize the age of woman does not matter.
>It does matter. It makes it worse that they were still in formative years.
You are not wrong about the comparative "worse". But going around flashing people for your gratification is deviant behavior. Flashing over-18 women is wrong. Flashing underaged young women is even more wrong. This is exactly what I mean about "hinky". Your tone is defensive even as you are entirely correct.
I have a challenge for you. Take that entire blog post, rewriting and summarize it in 100 words or less. Then spend the rest of the blog post on what you can actually do for an employer and why your past won't affect a future employer. Sell yourself. The blog post as is crap if the intent is to sell yourself.
He already said he is a criminal, that he knows those criminal acts are 'bad things', and that he will not do them again, and has help to ensure he won't do them again.
I don't know what more you want. He's already prostrated himself as much as we can require.
Disclaimer:
I would not hire him either. Unfortunately, sexual crimes are the sort that incline you to also other lesser pursuits like sexual harassment, and I can't bring that into my workplace. Additionally, no one in society would ever forgive me for hiring him if he does reoffend.
2012 was only 6 years ago. If it was 15 years ago, it would be a different story.
I think rabboRubble was just offering good practical advice: the "prostration" OP offers has at least a hint of insincerity about it, and isn't serving anyone. OP should follow the advice and concentrate on his positive contributions he can make.
Excessive prostration can become a way of saying this is why I failed, and look, you people in the cruel world didn't support me. It's manipulative.
I think taking full responsibility means accepting that you may never work again, and that society may withdraw it's support from you completely. You may even die due to lack of resources (banishment). If you can hold that space without any anger, then you can be readmitted, because the kernel of resentment that started the whole thing has been fully burned up.
Without this step, the life pattern that creates wells of resentment is still active in you, and will recur, possibly disguised but still "hinky" (I like that word :p).
I took it down because I just applied for another job, probably the last one I'll try. And I linked to my portfolio/blog site, but didn't want that to be the way they found out. Either way, I realize it's probably better for me to either remove this HN post, or to put the blog post back up, to avoid having discussion with too little context. So I pushed it and it should be back up now.
The thought of that was on my mind for a very long time. But the fact that I have no money coming in and no money planned is starting to take over all my thoughts. I'm in a giant panic and this blog post was written from that perspective.
I've had to deal with this nightmare living in my head for almost 10 years now. I've accepted that it's my fault, and in no way am I trying to place blame on anything else. All the choices I made were wrong. It was wrong of me to drink when I was stressed about work. It was wrong of me to turn to adrenaline tactics to relieve stress too. It was wrong of me to flash teenage girls. It was wrong of me to try to get a software job when I knew I wasn't qualified for it. It was wrong of me to tease my family with a middle class life I realistically knew all along that I couldn't afford. It was wrong of me to not quit from my jobs when I knew I wasn't doing well enough at them. Everything here was my fault and in no way am I avoiding responsibility for any of it. This blog post is an obituary of my software career. It's written from that perspective.
I'm able to pass interviews very well, but when it comes down to doing senior level programming stuff, I really suck at it. I tried rewriting old.editfight.com the other week in React + Express + TypeScript and it took me 3 days just to get the basic boilerplate working. But I can tell an interviewer what big-O notation means and can write a working fizzbuzz using functional programming techniques in ESNext.
Even if I were qualified, I don't think anyone would like to take online tutoring from a sex offender, and I doubt even more that people would like to fund a felon and sex offender via Patreon. But I really do appreciate the idea.
It takes everybody several days to get the boilerplate working. The people who do it in an hour are using some cookie-cutter like yeoman and have a bunch of tooling/config in their project they don't understand.
Yes, I have to concur with this. I think of myself has relatively experienced, but it takes me generally a day to get new boilerplate working. This includes time to read documentation and get things set up and to get a start in understanding how things differ from what I usually use.
The amount of software you've produced and published using a variety of stacks -- Objective C, Cocoa, Swift, JS, Node, Clojure -- and APIs is really impressive. Most people haven't even tinkered with that many things, nevermind publish stuff out for the public to use. That last part is an extremely high hurdle, especially since it requires UI/UX skills and user empathy.
Hell, even your portfolio website is far-above par for any software engineer. Not just in content, but the well-considered layout and visual design.
I don't want to downplay your situation, you indeed have an uphill climb. But you do have skills and actual experience that put you in higher probability at success with software publishing, compared to most software engineers who were to find themselves forced to find employment without the ability to network or get recommendations. Hopefully you can find success again in iOS publishing. I think many if not most iOS developers would be envious of the variety in just your iOS portfolio.
And yet you have a number of useful and interesting projects on Github.
That stack takes quite a lot of twiddling configuration files and piecing together disparate libraries and unrelated tools, at least on the frontend, and especially so if JavaScript UI frameworks aren't your area of expertise. 3 days is not that surprising.
How about starting a SAAS lifestyle business? There are a number of threads on this site of the "tell us your one-man SAAS success story" variety. Might want to look to them for inspiration.
The last time I tried to post on /r/forhire, some very vigilant commenters made a point of it to alert everyone else about my past, so they would know not to hire me. The moderators said too bad, it's their right, and really I agree with that judgment. But it means I have no way of getting new clients.
Or do business using the wife's last name, for instance, so a Google search doesn't sink you. I think OP's making a mistake by trying to go into consulting with a hopelessly tarnished "brand."