Some advice please: career change, studying, anxiety and python

Ejeckt

Well-Known Member
Joined
Oct 4, 2011
Messages
346
Reaction score
122
So I'd really really appreciate some opinions and advice from people in and out of the software development industry. I'll try and keep it short, and I very much appreciate anyone who takes the time to comment.

I finished my BCom Honours in Human Resources, went to work, somehow ended up a recruitment specialist (agency & corporate) and I was very unhappy. I was always a computer nerd and it never made sense to anyone why I was in the HR field, but that's stupid and rebellious teenage decision making for you...

After several years of work and just after getting married, I wanted to go back and change careers while I still could. My family and my wife supported me and said they would help.

Decided to study a BSC Computer Science (not the best decision in hindsignt, but it is what it is). Started at Tuks but moved over to UNISA (as life tends to, things got a bit tough). It's now been 5.5 years and I'm finally on my last batch of modules.

Turns out my suspected but never properly diagnosed or treated childhood ADHD turned into weird anxiety/depression and resulted in a series of very bad coping mechanisms that (coupled with the additional stress of family, money, adult life in general) resulted in full blown panic disorder that left me a crumbling mess. Things got worse and worse and no one saw anything until just a year ago and that's when I started getting treatment for it.

Fast forward many sessions with psychologists, psychiatrists, medications, cannabis, shrooms and a lifestyle change and things are getting better. I can actually write an exam without getting a panic attack and my marks are actually pretty good.

Our financial situation is tough and I'm going to have to make some changes soon. I haven't started applying for jobs because, well, I'm terrified of doing that. It's been a focus of my therapy but I'm just so scared that I'm going to break down and have a panic attack in an interview. And consider that I've sat in hundreds of interviews during my career as a recruiter. I have no idea what to expect, and I'm very scared I'm just going to be rejected and branded as an ultimate failure.

Some info:
  1. I'm 33, white male. Last formal full time employment was at 27.
  2. For the last few years I've been working as a part time teaching assistant at UNISA for an HR Module (tutoring, marking, consulting on syllabus development) - it's a tiny salary though and takes only a few days at most of work per month.
  3. I took my woodworking hobby to the next level by actually selling my services for custom furniture and custom cabinetry. It's not a booming business, but I get a commission about every two months.
  4. I really like programming, especially with C++, C# and Python. Besides my studies I completed lots (definitely over 15) udemy/etc courses on development (I find the courses fun) and I made quite a few projects. I really really enjoy working with Python/Django and C#/Unity. Also did very well on my practical, programming modules at UNISA.
  5. I got an opportunity to redesign and build my wife's employers website with both a front-end as well as a back end analytics portal for clients (can practice some more Django! Does that count as being a freelance developer, even though I'm not expecting any compensation for it? )

I'd really like to get a Python/Django job but everytime I look for jobs I get discouraged, as the only related things are for senior developers.

Should I be honest in interviews about my struggle with mental health? I feel it looks really, really bad how I have this near 6 year gap on my CV. I've been building a "portfolio" of projects for my CV but I realize now that's just another way I was avoiding the anxiety of having to look for work, and I don't even know if employers care about junior devs' personal github pages and resume projects. Do I even have a shot at trying to get a django job specifically? I know I'm fixated but there's just something about it that feels very right, and I've tried a lot of other things.

Thanks for reading :)
 
Last edited:

Just word of warning, I skip read this but I get the gist.

Should I be honest in interviews about my struggle with mental health?
Here is the truthful 100% tough luck answer:
No. Pity doesn't get you hired, at best they'll ignore this fact when evaluating you. Everyone has problems, keep it yourself and deal with it yourself.

How would I respond to that?
"Thank you for telling me. However I will not note this down in my notes or use it against you during my evaluation nor mention it to my colleagues"

That should give you a sense of why I don't want to hear about it

I feel it looks really, really bad how I have this near 6 year gap on my CV
In some industries that matters, in the tech industry that will not prevent you from getting a job.

If they bring it up:
"I decided I didn't want to be in HR, started studying CS while working for the last x years. Took longer because ???"
??? = work/family/etc.

I've done around 180 technical software engineering interviews to date, my company tracks the number of interviews we do, so I know the number.
After all that interviewing I can confidently say that standing out is not very hard.

Typical SA candidate I interview:
- Does not know data structures
- Can't solve simple problems like "find duplicate words in a sentence" or takes inordinate amount of time to solve it even in the brute force case (should be 5-8 minutes to solve that).
- Solves every problem brute force (again duplicate words in sentence is a straight forward no BS HashSet O(n) problem, but for some people it is really hard to solve O(n²). That is scary)
- Has no concept of computational complexity, Big(O). How do you know your solution is good if you don't know the computational complexity?
- Significant gaps in basic OO theory. Like HOW do you have a BSc degree and not know this stuff??

I personally think our degrees in SA are a big part of the problem.

What I want to see from a candidate:
- You write at least close to syntactically correct code in your chosen language. If Java is your language and you can't solve my basic "Duplicate words in a sentence" without butchering the syntax then you got a problem. (On a whiteboard, having your IDE fix all the problems may be the problem here). If you are mixing up things like Object and primitive types in Java that is a red flag for example and don't understand why the one over the other. Each language has their fundamentals but you don't know a language if you don't know those fundamentals.
- You understand basic theory like what is a class, object, inheritance, what makes up polymorphism, what is a 1 way function, hashing, etc.
- You understand data structures like a HashMap, ArrayList & Tree. At the very least those 3. Like code them up 100 times if you need to. I need to bottom you out on those data structures. They first two are used daily and they are basic building blocks of most solutions. If you don't understand them, you won't know when it is a good or bad idea to use them
- Implement merge sort, implement quicksort. Yeah it is silly but it'll get you more comfortable with some slightly more complex algorithms. When I say implement, I mean try to get it as close to optimal as you can.
- Be able to explain to me how you would implement a simple upload a file to a web-site and download that file again from a web-site system. Like what are the components and what does each of them do. Whatever you think is best. But for the love of Jeebus, understand it from when that first GET hits your server and you give some HTML to whether you use POST, AJAX or whatever, at least understand it.

Last but not least. I don't want to see on your CV that you know language X unless you can do all of the above in that language. If you can't, then you don't know that language.

Finally you may need to interview once, you may need to interview many times. No point beating yourself up about it, just keep trying. It is like dating, you work at it until you win.
 
Last edited:
Here is the truthful 100% tough luck answer:
No. Pity doesn't get you hired, at best they'll ignore this fact when evaluating you. Everyone has problems, keep it yourself and deal with it yourself.

Thank you very much for that. Something clicked when you said it. It's easy to forget that everyone has their own worries.

I had a rough patch - I dealt with it. Time to move on, eh.

What I want to see from a candidate:

Thanks, that's actually quite encouraging. When busy with my own projects I made sure to focus on design patterns and data structures in particular (actually pretty common advice but I guess people ignore it. Wax on, wax off?) so hopefully it pays off in a technical interview. Will practice creating a file upload/download app this weekend.


Last but not least. I don't want to see on your CV that you know language X unless you can do all of the above in that language. If you can't, then you don't know that language.

I'll mention basic familiarity as a footnote :) Sortof easy to get carried away with the mentality that I made one To-Do-List app in Ruby or something and now I'm a legit Ruby programmer.


Thank you again for taking the time to respond.
 
Did you do nothing for 6 years or did you study?

You studied, tutored and you did freelance work.

:D

As for programming, I will leave that for the other intelligent life forms.
 
Some thoughts, for what they are worth:

  • Don't mention any anxiety or mental health issues. It will achieve nothing good. Do you think they will want you to hear about company problems in the interview? The same applies in reverse.
  • Go for any and all interviews even if you feel you have no chance of getting the job (or don't even want the job). Most job titles are meaningless in the IT field and you need to get interview experience. Going for a lot of interviews and getting good at them, hard as it is, is about one of the best skills you can achieve.
  • Gap in your resume - tell them you were freelancing and you loved it, but now would like different challenges. Say that you are now at the stage in your life where you need to choose between another freelance job that is coming up, or go in a different direction.
  • Don't come across as needy. This is REALLY important.
  • During any interview, try to get to the point where you are asking them questions. Then start asking them about their systems etc. as if this was a business you were considering buying. This is key. You want to sound confident and enthusiastic (and not needy) all the time.
  • If the person interviewing you has an ego issue (and a lot will have) stroke that in a subtle way. Ask them about the size of their department and anything else that will make them feel good.
  • Don't beat yourself up if the interview goes badly. Think about how you could have been better, and also, frankly, if you would have been happy there.

Good luck and hope this helps!
 
Last edited:
Gnome's points are valid and he will probably get a very high caliber employee that way, but not everyone expects that from interviews.
I do agree that it is easy to stand out in interviews in SA, even from people with 8+ years experience.

If you have some repositories on github, and maybe even host some of them in the cloud, then you definitely have a foot in the door in my opinion. You can get something like $100 worth of credits free on Azure I think.

We also have candidates do tests on TestDome, even before the first in person interview so that we don't waste our time with them. Do some practice tests on there as well.

Lastly, since you have some time on your hands, read the sub reddits for your chosen language. Some of the questions are stupid, but every now and then you learn something interesting. Sometimes you get inspiration for a side project, or see some interesting new feature of your language which you want to try.
 
Top
Sign up to the MyBroadband newsletter
X