7 ms·
Ask HN: How do you get past difficulty learning what's needed for a new job?
I have one client right now who pays me out of pocket, but the work he's asking is beyond my understanding. It's dealing with a new system that has a lot of parts. It's well documented, but when I read the documentation, it's just not sinking in, I'm not "getting it". My eyes just gloss over and I re-read the same sentence over and over for 3 minutes without any progress. This is the same thing that happened when I tried to learn Rails about 8 years ago.
Is it possible to push past this and force my mind to learn new things? Is being 32 years old and in very poor health a show-stopper for learning new complex concepts?
My first thought is to just get another job, one that I already know how to do. But that's outside of my control, this is my only client and will be for a few months.
Any advice is appreciated.
- DoreenMichele 8y agoin very poor health Do some care-taking first, then try to sit down and work. Daily hot baths in the evening can help. Upping the cleanliness of your abode can help. Getting pickier about your diet with an eye towards good nutrition can help. A daily walk can help. Sometimes, coffee or another source of caffeine can help you concentrate. Bonus: If you regularly work on your health, it can get better.
- _diyu 8y agoI'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.
- DoreenMichele 8y agoI'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: https://sandiegohomelesssurvivalguide.blogspot.com/ https://sandiegohomelesssurvivalguide.blogspot.com/ https://www.pocketputer.com/ https://www.pocketputer.com/ Best of luck.
- _sdegutis 8y agoThe 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.
- DoreenMichele 8y agoIn 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. Best of luck.
- _sdegutis 8y agoI'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.
- tbabb 8y agoSomething 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?
- noddy666 8y agoCocaine
- _diyu 8y agoI'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.
- nik736 8y agoTalk 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.
- tbabb 8y agoIt 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.
- noir_lord 8y agoNot 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.
- potta_coffee 8y agoI 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?
- _sdegutis 8y agoI 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.
- potta_coffee 8y agoOuch. Is there a way to rehab your rep?
- _sdegutis 8y agoNo. 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.
- Chyzwar 8y agoSleep 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.
- notburnt 8y agoTry to write out difficult sections (pen & paper) to get started. I've found that gives my brain the time it needs to get a handle on overly complex or boring texts. Assume it's going to take you time so don't aim for completing too much the first few times. Don't worry about how much time it's taking, just worry about getting a couple of conceptual wedges in place. Follow pomodoro method.
- hnarayanan 8y agoFirst off, do not give up. This is a struggle for even the most experienced people when dealing with a sufficiently complex new system. Try to focus on small, noticeable wins. Focus on a narrow part of the system that seems relevant, and try to start fiddling with and see what happens. If the system has tests, try going through them as it is often easier to understand how a system ought to behave than the details.
- jmercouris 8y agoI know you, I recognize your username. You wrote the tool for OSX: phoenix, hydra, mjolinr, etc. I think you are a very talented developer. I think you'll definitely be able to get a job in Chicago easily. There is no shortage of tech jobs. If it is too much stress for you to work as a freelancer, just get a full time job. There is no shame in that!
- jtmcmc 8y agoHe (posted this on hn previously) flashed some teenage girls and went to jail for it so it's likely as a felon with that conviction he can't get a non freelance job.
- _sdegutis 8y agoThat'd be great. Wish I could get one.
- kovrik 8y agoYep, recognized the name too! My advice would be: fake it till you make it. Relax, try to split the whole thing into small pieces, try to understand how they interact with each other, try to understand the dataflow. Also, in my experience you can never actually grok the whole system at once. It is a slow process. And what always helps me: separate things that _actually_ matter for your work and everything else (the power of abstraction!). Not sure how to explain it properly. Basically, when I start working on a new project, the number of new things (new words, terms, abbreviations and other domain-specific stuff) is often overwhelming. But in most cases it doesn't matter. Most systems are pretty much the same: data flows here and there, this thing validates stuff, this thing calculates something, this thing stores results etc. They just have different names and use different words, but in reality they are the same thing. Finally, it's just a job. Take care of yourself, your health (including mental), relax, take it easy. UPD: also, really, take care of your health! Eat healthy food, do exercises/go to gym, daily walks (it makes a huge difference!), sleep well. Also, some supplements help me a lot: vitamin D3 + K2, Zinc, Fish Oil, Magnesium + Calcium. For me it made a huge difference! You can also try L-Theanine (with coffee).
- 8y ago
- danso 8y agoWhen dealing with a code base that has tests, I try to write a few of my own and run them successfully. No matter how trivial, at least it feels like more active learning than just reading.
- nickthemagicman 8y agoHonestly, I'm in a similar boat where I work constantly and gave alot of external stressors. You're a knowledge worker. All the work you do...you do with your mind. You NEED to separate from your distractions. If you have more pressing needs that you can't get out of your mind it will be impossible to learn. My suggestion is figuring out how to get your mind in a place where its 100% focused on your work and you are able to find that flow state where you tune everything out and can work and learn. Things that help me are 1> Managing your real life like a project manager. Get the most stressful priority things finished as fast as possible. Or at least in a place where you understand and feel more in control. 2>Automate as much as possible(autopay bills etc.) In your life and outsource tasks to your family that they are capable of. You pay their bills they can chip in.. The goal of this step is to get rid as many trivial physical and external stressors so you can get your head focused on work. 2> Distraction free place to work. This is critical. Coffeeshop, coworking space, private home office....all it takes is a single distraction and your mind is out of the game. 3> Carve out large blocks of time where you can just...work. No appointments, no meetings, no interruptions...this may require scheduling meetings in the morning and working in the afternoon. Also, beware of friends and family..they will try to cut into this time...and it's very difficult to say no to people you love. 4> Do practice excercises in your mind and compare them to real world. I've found when Im having problems focusing on things it's because it's too abstract sometimes. And I have to bring it down to earth. Like start run a chunk of code thru a function in your head and then run it on the computer to see if your mindmap is correct. Like a poster in this thread said it's active learning which helps alot I think. 5>Physiological hacks: Some people say Yoga, antidepressants, nutrition, and/or excercise help. I typically dont practice a single one of those regularly but do notice I'm deff able to.focus more after I excercise. I think just getting your mind at peace is way more useful than Physiological hacks but these do help. Studies have shown that excercise is as efficacious as anti depressants. So take that however you want. Anyway good luck sir.
- georgecalm 8y agoThere was a thread not so long ago about approaching large codebases. I think you might find some of the advice there useful: https://news.ycombinator.com/item?id=16299125 https://news.ycombinator.com/item?id=16299125
- vorpalhex 8y agoYou are in burn out. It's not that you aren't intelligent or capable of the work, but it sounds like you just haven't clocked out in a long time. You can fight burn out for a short period but you can't delay it forever. You resist burn out by working out hard, engaging in stimulating non-job work (eg a hobby) and engaging in intentional relaxation. Ultimately you need to find a way to take time off.
- RickJWagner 8y agoI find that drawing pictures helps. (Especially if I use a tool like Libre Office draw, which lets me easily keep electronic copies.) Good luck, I hope you find an answer that works for you.
- nickls 8y agoI had a similar problem at one of my first jobs, I was given ownership of a few different highly complex and lightly documented codebases: sshd, kerberos, ntp, netsnmp, etc. Other commenters are giving great advice around burn out, depression and health -- I'll leave that to them. On the technical side, two things helped me with understanding complex code bases: 1. Write and draw on paper the object model, stack, protocol, interface, anything you can glean from the code or docs. Start small and keep adding to it. This helps you "chunk" the new information and have somewhere to attach new insights. 2. Run the system (or parts) in debug mode with maximum logging. Save the output and then start stepping through it line by line from the top. Find the source of each output in the code, try and understand the general area and then move to the next line. This will start to give you a good understanding of program flow. Combined these two techniques will make it much easier to understand what is happening and when -- all you have left is to figure out why.
- hsienmaneja 8y agoTake care of your health separately but as a first priority. Take it easy and don’t put too much pressure on yourself. See if you can get hands on with the system, preferably a staging/dev clone. Break it, try changing a feature, adding a feature, dig in anywhere that’s comfortable. Just reading docs even excellent ones isn’t always the most efficient path to grok a new system.
- raguilera 8y agoThe free coursera course "Learning How To Learn" really helped shape the way I learn and practice new coding concepts/languages/frameworks, etc. Here's a pretty good summary of it: https://medium.com/learn-love-code/learnings-from-learning-how-to-learn-19d149920dc4 https://medium.com/learn-love-code/learnings-from-learning-h... Barbara Oakley (from the course) also wrote a book called A Mind for Numbers if that's more of your style. A tip from the book for your problem of "My eyes just gloss over and I re-read the same sentence..." would be to stop and break that sentence down into fragments, and understand each fragment before you try to comprehend the whole. I would often just reread the same paragraph over and over, but that one little tip has really helped save me time and aided my comprehension of the subject.
- shoo 8y agoi appreciate that it sounds like you're in a stressful situation in terms of your family's cash flow. is it possible to switch your arrangement with your client to daily billing? in a way that doesn't leave you worse off financially, compared to what your average daily revenue is currently based on hourly billing. i dont have experience with pitching this to people who had previously agreed an hourly rate, but some of the other folks here might have suggestions for how to frame such a conversation so it comes across as a win for your client as well (focus on the output of your work rather than measuring your time inputs, maybe?). if you can do so, it might make it easier for you to justify timeboxing some time every day for self-care and non work stuff rather than feeling the need to bill hours, and help you produce better work in the long run.
- Terretta 8y agoMy guess — the kind of thought you need to “grok” that system (slow deep understanding) is unavailable to you when dealing with the kind of thought caused by your situational stressors (fight or flight survival). Doesn’t mean you’re unable to learn new things. It means your cave-man brain doesn’t think learning system docs is as important as slaying predators and fortifying your cave. Ironic, since the way out of the stressors is doing the one thing your brain doesn’t think will help. You have to get your subconscious to believe that. Tell it to yourself constantly, Thoreau prayer and ‘this too shall pass’ style, ‘meditate’ on the idea that you have a clear path to no stress because you have a developer’s mind, and by using that developer’s mind, you will slay the predators, fortify the cave, and protect your family. Give yourself the permission to let the urgent stress go, so your subconscious can work on the important thoughts.
- mabynogy 8y agoI think you're just in a local bottom of the learning curve. Tell your customer you need time to understand his product. If he complains, say someone else than you would probably take more time. https://medium.com/trafficandcopy/the-learning-curve-is-killer-be-aware-of-it-31404ce0d398 https://medium.com/trafficandcopy/the-learning-curve-is-kill...
- thecolorblue 8y agoIt sounds like there is a financial aspect to what you are looking for help on so I would like to comment quickly on that. You may have some options to adjust your debt/finances to lower your costs. If you do have credit card debt, there are services to consolidate them. If you have reliable income, even if it is freelance type work, you can use that to get a small business loan which could be less expensive then putting expenses on a credit card. If the income is not reliable try to make a deal with your client to make it a longer term contract. Guaranteed income is more value in the long run than big chunks of money at unknown times. There are some things you might want to try to expand your current business: If you feel like you have a working model for completing work, look for a business partner, whom you trust, to help turn that into more business. If you know your client well, think of other products or services you could provide them that would be valuable to them (that they would pay for) but would be less time consuming. Right now, it sounds like your time and money are your most precious assets, but you have a wealth of knowledge and a working relationship with a client. Think of ways to exchange your knowledge and social capital (relationships) for more time and money for you.
- potta_coffee 8y agoI'm 34, I've recently had to learn a ton of new stuff, some that I really didn't want to learn (asp.net? From the early 2000's? Yuck). Also lots of more complicated things - I'm flooded with information daily and it's a chore keeping up. I almost always have the feelings you're experiencing in the beginning. The trick is to sidestep the mindfuck and keep trying. Ignore that dissonant feeling that comes with not understanding. In my experience, success is a function of grit more than anything else. Also, a practical strategy that helps me to push through issues like this, is to get out a spiral notebook and a pen and to break the problem down into small chunks, and try to tackle those one at a time. If I'm really stuck, I'll write a list of all of my problems, with a space underneath. Then I'll think about the problem a little, and write a possible tactic to try for solving the problem. It sounds stupid but it really helps (I'm just applying the [Feynman Algorithm](http://wiki.c2.com/?FeynmanAlgorithm= http://wiki.c2.com/?FeynmanAlgorithm=) here). Finally, 32 years is not old. You're just barely hitting your stride. I'm 34 and I've recently discovered that my experience is valuable, and gives me an edge over my younger peers. You're only as old as you feel. If you stop believing in yourself, it's a self-fulfilling prophecy. Good Luck