282 karma · joined November 25, 2018
Sorry to be harsh but if you are unable to have a conversation in a coffee shop its unlikely you will make a good developer, regardless of how well you can code.
You don't have to be a loud-mouthed extrovert or "heart-and-soul-of-the-party" type but social skills are necessary for most dev jobs.
The whole thing sounds like it was written by a 15 year old.
"Like a handful of random jigsaw-puzzle pieces, each one was incomprehensible without an understanding of the larger picture."
He keeps going on about how unrelated these events are, and how mysterious it is they are happening all over the world - well if you don't know whats going on of course you will not know that two things are related?!
I hate these kind of white board coding questions, but if its what you need to do to get the job you want, why not just bite the bullet and practice these kind of coding exercises? Clearly from your experience you are capable of learning/memorising this stuff..
Yes its a pain in the ar*e but if its what you need to do then its what you need to do.
Perhaps you are right that good project managers are not too common, however, I find it easier to reason with one single manager than to reason with an entire team who has defined themselves as a "SCRUM team". In my experience the dogmatic nature of SCRUM means that teams take on an almost religious attitude towards it. A team like that is far more difficult to reason with than a single bad manager and disagreemnts often end with the conclusion "Yes but we do SCRUM and SCRUM says to do this.".
SCRUM contains some good princeples which I agree with like iterative releases and attempting to break down stories into manageable chunks, but the reality is that SCRUM is more than just a set of princeples to take on board, otherwise it would not be a multi-million dollar industry for SCRUM consultants and such.
You are right though, SCRUM has its use in preventing bad managers and bad teams from doing bad things. However at the same time I think it hinders good managers and good teams from doing good work.
I think it is a fad, most of the people I know who are big fans of it are also fans of whatever other tech fad is going on at the moment i.e. blockchain, nosql, the latest frontend framework etc. I find it extremely unfortunate that SCRUM is so widely practiced in the software industry now, at one point it actually caused me to quit my job to move to a different IT career, though in the end I went back to development because I love coding and I've just had to realise that SCRUM is something I'll have to live with.
There has been plenty written on this subject, here is some more reading:
https://michaelochurch.wordpress.com/2015/06/06/why-agile-an...
http://okigiveup.net/not-big-fan-of-scrum/
Queue the "thats not scrum" responses..
I myself am a software developer working out of my own company, I became an independent contractor after three years working in permanent jobs, its definitely do-able.
I also think that you are looking at this situation the wrong-way round. There is so much more to a job than just being able to work remotely. What you are asking is almost akin to "What kind of job lets me work at a desk?".
There are many, many kinds of jobs out there that could involve maths and CS, you need to be more specific about your skillset and what you enjoy. For example, the career path of an actuary will be very different from that of a computer games programmer.
Also a company hiring a mid-level developer (say around 3 years experience) doesn't really have that much of a pool to chose from. Most good developers are already in jobs and pickings are slim, its a buyers market.
The few times that I've been asked very specific technical questions they have always been related to the job I was applying for. Example: a ruby on rails job interview I was shown a few ActiveRecord models and asked what is wrong with them and how I would improve them - the answer was that they were all really polymorphic models but that was not how they were implemented in the code. Or for a frontend role, they might ask you "explain the javascript prototype chain to me".
Again, in my experience, its always seemed like the interview was more of a personal test rather than a technical one. Will the person be easy to work with? Will they be communicative or will they bottle up their issues and resent the team for it. Are they willing to learn? Will they be able to hande occasional pressure and stress? I think its generally accepted that its extremely difficult to accurately gauge a person's technical abilities in an interview. Also employees always start on a probationary contract in which they can be fired with 1-2 weeks notice, this usually lasts between 3-6 months, so if it turns out the employee was blagging it in the interview then it will become apparent pretty quickly and they will likely not make it past the probation period.
In the UK I've interviewed at dozens of companies and never once been asked to code a breadth first search or something like that. Nor have I ever heard of a developer being asked to solve such things in interviews over here.
You don't need the OSCP to call yourself a proper cyber security member at all, there are plenty of pen testers that do not have it. But it can be a convenient way for a junior to break into the industry. The other option is to do bug bounties which demonstrate that you are capable of going through the entire pen test process in a real world context.
Also, one thing to point out is that reporting is a huge part of pen-testing. Being able to write with perfect grammar and punctuation is vital.
However, there are a million and one resources online that will tell you what you need to do to prepare for the OSCP.
> Recruiters contact me a lot about FT jobs but any interviews I get through them never turn into offers.
You mention this almost as a side note but I think its pretty clear thats your problem and not the "job-hopping". If job-hopping was the problem then you wouldn't even be getting interviews because they can already see that from your CV when you apply.
Whats going wrong in the interviews? Do you ever get feedback from the companies that reject you? Are there questions they ask you that you stumble on? This is what you need to be focusing on. A CS degree won't help you one bit with that problem.
It sounds like you have been working on fairly run-of-mill CRUD based applications that don't require that much thought. Can you be more picky about what jobs you take? Try getting jobs which will build up your experience rather than simply pay the bills. That way when you go to an interview you might sound more enthusiastic about your past experience - this will come across well to an employer.
Also try and pick a field and specialise in it. You mention LAMP, Ruby on Rails, React - all of those are good platforms to work in with good employment opportunities but maybe you should specialise in frontend or backend. Also I would ditch the wordpress & magento stuff.
I'm talking about standard software engineering roles - CRUD based applications and so on. The story is different for more specialised roles that involve expert knowledge i.e. machine learning, data science, computer graphics, info security etc.
If I see the CV of somebody who has been doing the same kind of software engineering jobs for 20 years my thought is that this is somebody with no real interest in it and just does it as a 9-5 job. Now personally I don't see anything wrong with that. However, the problem is the difference between an "enthusiast" and a "9-5er" is much less apparent when they are young, their CVs will likely be very similar if they both have 3-5 years experience, however after 20 years it will become clear who is "passionate" about their craft and who just wants to go home to their family at the end of the day. Again I have nothing against people like that and I'm sorry for using the word passionate like that but I think that this is one of the root causes of this issue..
That's a bit of an overstatement, chances are there was a miscommunication and the person interviewing you did not know that you had been told there would be a know ruby questions. Seriously, its just an interview, they're not going to go out of their way to accomodate your every request, just roll with it. Since you were able to debug the ruby code, its sounds like you could have gotten the job if it wasn't for your attitude. IMO the right attitude is more important than raw technical skill, you might pass the "Can he code in ruby?" part of the interview, but fail the "Can he handle things not going his way?" part.
I recently had an interview for a developer job where I was asked lots of devops questions, even though it wasn't a devops-heavy role and I don't have much devops experience listed on my CV. I wasn't able to answer many of the questions but I drew on what little knowledge I did have to try and come up with answers. In the end I got the job because the interviewer said he appreciated how I tried to reason out answers to his questions even without much knowledge in the area. If I would have gotten all annoyed and started acting like I was being lied to and cheated then I doubt I would have gotten the job.
Also based on what you've written, it sounds like the Azure architect will be much better suited to you than the pen tester role. Not necessarily because of what skills you have but because it seems you like being involved in projects where you can create/manage something. As a pen tester you will likely work for between a few days up to a week for each client, you will do the job, write the report and be done.
But don't think that because you are comfortable this is necessarily a bad thing. "Get out of your comfort zone" is good advice for somebody who lacks ambition and refuses to change their ways but you do not sound like that kind of a person.
I wouldn't worry to much about not being able to code in order to be a pen tester, an advance level of coding really isn't necessary.
I would ask why do you want to change your job? Are you unhappy with your current job? It sounds like you enjoy it. Keep this in mind because starting from the bottom as a pen tester will be very difficult if you are coming from a high-level role that you enjoy in another industry - you will have to realllly want to become a pen tester in order to start over from the bottom and work your way up. I say this from experience too as someone who spent about a year as a pen tester but decided to go back to my old career because it was not worth spending years to get to the same level I was already at.