It’s no secret that computers run the world and that we’re all hugely reliant on technology, be it medically, professionally and ever more so; socially. Not too far off being uploaded to the internet, immortalised and transgressing across trajectories, for answers, we’re interviewing one of the top coders in the world.
What this article should tell you is how you can improve your tech skills, how you can help move the world forward with tech and decipher how scientific Computer Science really is.
. . .
- Do computers run the world? If they do, how frightening a prospect is that? Maybe it’s more frightening without them?
Yes to a certain extent computers do run the world. The buzzwords of the day are obviously Artificial Intelligence but we are far from AI actually being intelligent in a human way. It can do easy jobs and it can make certain decisions on it’s own but we’re far away from it being anywhere near as intelligent as a human being. I think we just use computers to help us become better versions of ourselves.
- In a nutshell what was your career path? (Beginning, worldwide, different industries etc)
I went through the school system in Switzerland, I was an apprentice on the Swiss railway where I learnt about electronics and computers (in those days computers weren’t very widely used) and it sparked my interest so I went to university to study Computer Science. Half way through the course I ran out of money so I changed the course to evening classes and one week day and one weekend day and got myself a job with a company that makes MRI machines (Nuclear Magnet Resonance machines). I developed software for them while at uni and had the pleasure to work with some very outstanding scientists, one had a Nobel Prize. Sadly that came to an end when I finished uni and I went on to work for my first bank. I worked permanently for five years, after which I became a contractor in the high-frequency algo-trading sector of the banking-I.T world. Ever since, I have worked in this role. I have worked for most of the well known, ‘top tier’ investment banks around the world.
- How has the industry changed over the last 25 years, as you’ve witnessed and how important is it now for not just those in software but for all of us to be tech-savvy – is it a case of: no tech skills – no skills?
Tech has become more available and more omnipresent, from your watch to your phone to your coffee machine, everything is connected and has got some level of tech which makes life easy when it works and bloody annoying when it doesn’t! That’s incredibly difficult because when I was young if the fridge stopped, you gave it a kick, these days you have to get your laptop out, connect to it and re-flush the firm wear. Generally yes you have to be tech savvy and it sometimes amazes me that the tech ‘savviness’ generally hasn’t increased especially over the last 10-15 years. Despite being surrounded by it people seem to be nonchalant rather than responsive. I think it’s very much the case of no tech skills, no skills but that doesn’t mean everyone has to have a Ph.D. in Computer Science. Everyone should have a basic understanding of how to use technology and even maintain it to a certain degree. E.g. if you’ve got a technical device, you need to know how to keep it up to date software wise otherwise you will leave yourself open to all sorts of abuse from not so nice forces in this world. Basic protection really. Much like you have to know when your breaks on your car are due for a change, you need to know when your computer is due a software update.
- Can you talk us through any skills you consider to be top-tech or niche?
Anything AI related these days is considered top tech, whatever that actually means, it’s relative, that could mean anything. In the end, if you want to go into these fields you have to learn how to code, because even artificial intelligence, algorithms, machine learning etc are code. Top tech – it doesn’t even matter which code language you use, it’s the coding paradigms that are the same in most languages. It’s a bit like learning how to speak, once you know one language and you know how to speak, it’s transferable.
- What are the tech skills that will get us hired in 2018?
On a very basic level, coding but coding alone won’t get you hired you also have to have some experience and demonstrable knowledge. If you have never worked for anyone, create a fully functioning software in your spare time so hiring managers can see what you’re capable of. Then there’s a lot of less tech involved roles like UI designers, architects, solution engineers and testers. For the more skilled among us, it depends which industry you want to go into, for finance it’s low latency, multithreading etc. AI technologies like machine learning, algorithms and so on will definitely get you hired. App development is also one of the top skills to have. Never forget to acquire some business know-how, whatever you code, you’ll need that business knowledge to make sense of what you’re doing.
- What is the difference between a novice, a hobbyist coder and a highly competent software developer? Is it the case that many say they can code and actually, can’t?
I think it’s the ability to produce something that is good enough in the timeframe the employer has or the company/client has. Probably each hobbyist or novice coder could eventually come up with the same solution given enough time but time is what costs money.
- Technical tests, be it take home coding challenges, technical quizzes, whiteboard challenges and technical conversational interviews, do these sort the ‘men from the boys’ as it were and are these worth the web pages they’re written on?
Personally, I’m not a great fan of them as part of the hiring process. They’re widely used but I think an interview and technical questions will reveal enough, combined with references. I think an interview is there to get to know the people on a personal level. You find out pretty quickly if they’re capable of doing what they said they are.
- After 25+ years in the financial sector, as a Lead Developer, you must be a pro at interviews from both sides of the desk, conducting them and undertaking them. In the search for the ultimate developer, can you enlighten us on the software interview and interview process at all?
Before you hire make sure you know what to hire. If you’re not sure about the requirements you will never find “the perfect candidate”, that’s generally the case. Find your requirement, advertise and wait for applications to come in, take the ten best and invite them for a telephone interview. That’s to quickly find out if someone can do technically, what they say they can do. It’s also a good way to fathom the working relationship, find out whether you can talk to each other and from that, how well you can actually communicate.
From the interviewee’s side, just be normal on the phone. That’s generally a good tip for any interview. They’re not hiring an actor, they’re hiring you, as you and that’s what the interview is for. Rather, if you don’t know the answer to a question: say “I don’t know” – you may actually learn something. If they don’t tell you, look the answer up afterwards, and then you know for the next time.
If you don’t know something, empty words are wasting your and their time and may prevent you from answering another question which you would have known the answer to.
- What of applications for those on the outside looking in, if not Java should every professional be agile in today’s marketplace and be competent with applications surrounding such, be it a case of, if not Java then know your Jira?
Coding is just one tiny bit of the whole software development lifecycle. There’s a lot of roles in I.T that do not actually involve writing code. Just to name a few: solution architects, engineers, project leads…it’s a bit like building a house. You have more than just the builders on site. Not everyone has a hammer. It’s a plethora of skilled workers uniting to create the end product.
- We’ve heard of spotlight interviews entailing: interviewers asking candidates to code a Win32 function on the whiteboard. How routine is this?
This happens very regularly. This is not so much to actually create a finished product but to determine the way that you think and how you go about something. Usually, these things are more of an open discussion than creating a finished product so don’t be too flustered if you can’t find the perfect answer. Rather than Win32 functions, other examples would be Fibonacci Sequence, Minesweeper, Game of Life or Noughts and Crosses.