#myfirstdevjob with Fredrik Rubensson
By Fredrik Rubensson | November 29, 2017
My first job as a developer was at a company called Industri-Matematik back in 1997. I worked in the department for development tools where we built a tool for translating a 4GL system between English and other languages.
At the beginning, I didn’t have that many people to relate to in my team. Most of them had been there for quite a long time, and being the only junior developer can be a bit tough. But about a year in, another junior guy started, which really helped me. We learned a lot from each other and we also got the opportunity to try a lot of new techniques.
Extreme Programming – the first agile methodology
One of them was a thing called Extreme Programming, which was the first agile kind of methodology. I hung out at the first wiki (http://wiki.c2.com/) by Ward Cunningham where Extreme Programming took shape. That site surely pushed me towards the place where I am today. Getting into a quality mindset early on has formed everything I have done with software development ever since.
This was the age of high ceremony methodology, so it was liberating to read things like ”Listening, Testing, Coding, Refactoring. That’s all there is to software. Anyone who tells you different is selling something.” (quote by Kent Beck). The new generation of developers will probably just shrug at such a statement, but it was a reality check for me back then.
Based on Extreme Programming, we started to write code that was test driven. The first version of Junit had just entered the scene and we started to use it to test our code. I don’t think we worked strictly test driven with writing tests before the code, but we made sure to put tests on all code we wrote. That was pretty unique at that time, and 20 years later, it’s still a rare way of working although it’s the only way I know to keep a high velocity while building a serious system.
“There’s so many things you don’t learn from school”
When I look back at my first job experience today, I honestly have to say that I didn’t know anything when I started. I came directly from school and had an idea that development was all about coding and programming. But there’s so many things you don’t learn from school. For example, in the industry, your job is done when your code works. The impression I had from school was that you should try to build a perfect solution, something that is useful to have in the long run. Discovering that this isn’t important at all and that “if it works, it’s good enough” was very disturbing for me in the beginning.
Even though my first job was a great experience, it would have helped me a lot to have a mentor. I sort of helped myself out and of course that works, but it takes longer time.
There are so many things you need to learn in the beginning and you need someone to tell you where to put your focus and how to do that. Then it’s good to have someone to ask and to take part of their experience.
Therefore, it feels really good that I today, 20 years later, have the opportunity to be a mentor myself to developers joining their first job. And seeing people grow and knowing that I can help them to become better at what they do, is really satisfying.