How was your University time?
I hold a MsC in Computer Science from Université Paris Diderot.
It gave me really strong fundamentals, but I didn’t really understand what was programming until I actually stared working as a professional programmer.
Something that is an inherent problem in the way CS is taught, I believe the best programmers are the one that can express themselves clearly, that can pick up languages and not the one with PhD in mathematics that have a hard time explaining abstract concepts.
After 5 years of programming I took a short break for 2 years to go back to university and do some research, this helped me gain perspective and expand my way of thinking.
Why did you Seekout a career in programming?
I always liked to get immediate feedback from my work, the fact that you can build something like a game or a website and see it come to life is an incredible feeling.
This feedback loop is also a strong motivator, it tells you that you are doing something productive and that you are creating value to the world.
It’s something that you should ask yourself every day: Am I creating real value? Is the world a better place thanks to my work?
What was your first job or nuggets from jobs you had that helped you to get to where you are today?
It’s definitely being trained by experienced senior developers.
Programming is like a craft and I strongly believe that you can only learn from people that are better than you.
If you would have to take one thing from this interview would be this:
Find the best developer in the room, seat next to him/her and learn as much as you can. Make this knowledge yours, internalize it, and when you feel you are not learning anymore, move on to something new.
How did you prepare for programming interview?
There a lots of resources out there, like the famous cracking the interview book, or this github repo : https://github.com/jwasham/
But what matters is to set a specific time of your day, and practice by doing mock interviews.
A very important aspect is also the social one, knowing to tell your story, to show your passion about different technologies.
Recently I have been on the other side, interviewing developers and what I look for is this spark, that passion, having strong opinions about testing, code quality, technologies …
Books that helped you.?
The book that made the biggest impact is definitely “Implementation Patterns” by Kent Beck
He always tries to analyze why he does something, why he writes code the way he does and try to identify the patterns that govern him, in order to constantly improve.
For interviews and CS I am a big fan of “The Algorithm Design Manual” by Steven Skiena, really approachable and with a lot of depth.
Things are changing very fast in the industry, how do you keep yourself updated. Please list techniques or newsletter, podcasts, events etc
I use Feedly as a news/blog aggregator, reddit is also a good resource.
Twitter and medium are a great way to follow the leaders of the programming community you care about.
Reading a lot of open source code from great programmers in github is also a great way to level up and of course the best way is to write code as much as possible, contribute to open source or work on your own side projects, practice is key !
What can you recommend on CV?
Keep it short, one page.
Focus on what you have built and don’t throw all the buzzwords and technologies you ever worked with.
Put an emphasis on your strongest skills, don’t forget about design/self-management/hitting deadlines/team player.
All these side skills are extremely important as most employers will look for potential and not for the perfectly skilled candidate.
Advice for someone looking for programming job?
You should turn the model around and think of it as you are interviewing the companies too.
You should know what your are looking for, what skills you want to improve, what business area could stimulate you.
Once you narrow it down, you can look for the right fit for you.
Be patient, interview a lot and you will eventually find what you are looking for.
why do you think you were selected among other candidates?
I always strive to take complicated subjects and make them accessible, for example try to explain machine learning to someone that has no idea what it is.
I think my communication skills, my passion about new technologies, my constant learning and self improvement are what gave me an edge over the others.
Lessons from programming jobs that you couldn’t get.
I do believe there is a greater plan, and if I didn’t get a job it was for the best.
I always learn from interviews, I really embrace failure it’s a great opportunity to improve and move on.
Daniel Sivan Bio – Following over a decade of experience as a Java Developer at investment banks in London and innovative startups in Tel Aviv, I joined BigPanda. I work on fast data pipelines using Scala, Akka and Kafka. I immediately fell in love with Functional programming and the new world that it opened up to me. I enjoy helping developers who come from the Object Orientated world transition into Functional Programming with Scala.