What was your career journey like? Which software development roles featured along your career path?
I started my career as a very junior Flash/Actionscript developer even though my interests were more in operating systems and system software. At the time, around year 2000, Flash was extremely popular and there was lots of work. I started freelancing after a brief stint at a company doing film and interactivity. I've had a lot of different gigs over the first few years of my career and I learned a lot about the industry and about my coding skills.
In 2007, I started working at Stardoll, a big name in gaming for young girls. I was still doing Flash development at Stardoll, but had done backend work as a consultant for a couple of years.
After Stardoll, I took two part-time positions. One of them was more to make up for the fact that the other, fun one, could only pay me for part-time.
The fun one was a start-up in the medical industry called Trice Imaging. After a few months I was offered full time and quit the other position. I worked as Chief Systems Architect and stayed there for close to six years, mostly doing backend work and DevOps.
I got to travel a lot with Trice. The company moved to San Diego and, even though I didn't move from Sweden, I often went to San Diego and other places in the US. I was able to be a tech lead on a very exciting project in Morocco where we brought portable ultrasound images to doctors half way across the world with a hacked Android phone.
Later roles have been very focused on infrastructure, deployment and CI/CD. I believe I'm actually quite proficient at deploying software in the cloud these days which I believe is because I think it is a fun job.
How important is it in software development to know multiple coding languages?
At the absolute least, take an interest in more than one. It might be that at a certain job you only need one language, but to become a great developer you really need exposure to several languages.
In my spare time I've looked into many languages. There's nothing like getting a job that features a new language you have to learn, it might be scary, but it's the best way; always do the scary stuff.
In your experience, which processes work best?
I think processes become less important with the more experience you get so, the less controlling the process is, the better. I think DevOps is an excellent idea, especially these days when you don't really setup your servers, but rather program your infrastructure. You need to be a programmer to do that, but you also need to have the mind-set of an ops person.
DevOps is awesome because it makes you a better developer. You know the environment where your software will actually run, because you built that environment. It also makes you a better ops person because you understand the needs of the software or platform you're building.
I kind of like simple methods like index cards or just post-it notes. When the process becomes too controlling, it can end up taking up too much time. It makes the job less fun and myself less productive, the process needs to be an enabler and light weight.
How did you learn to code
On a Commodore 64 at first, then I upgraded to a Macintosh with HyperCard. Later, in the 90s, I got into Linux and did a bit of low-level programming. In a way it was a bit unfortunate that I got into Flash development because it meant I left system programming for a long while.
The best way to learn to program in my opinion is to create a project and then try to finish it, I've done that countless times and I've failed countless times. That's how it happens.
Never give up, always have fun and try crazy stuff. That’s how I always taught myself.
How have you seen software development as an industry grow alongside your career?
Many things come and go, it's kind of like fashion. Today you see people putting on clothes that someone in the 80s might have worn and it's somewhat similar programming language wise. Functional programming is on the rise while object oriented programming is no longer viewed as the dominant programming paradigm anymore.
Functional programming is older than object oriented programming and it's made its way back just like retro clothes. There’s plenty of advantages to bringing this method back into the mainstream, functional programming can make a lot of sense, especially when you write concurrent code.
Of course, the Cloud happened and that changed the game completely. Now you can, as a small start-up, run thousands of virtual machines at the push of a button. Things are possible now that seemed ridiculous just slightly over ten years ago.
What attracted you to a career in software development?
I just think it's the most fun I've ever had. It started when I first got a computer as a young boy. It never left me and I believe it never will, it's a relationship that just keeps on giving.
What’s the best advice you could offer someone looking to climb the ranks of software development and achieve your role?
Work really hard on your social skills and become a nice person to be around. Do projects in your spare time and try as many new programming languages as you can.
Keeping yourself engaged by tinkering with pet projects is key to growing your talents, but leave it for the spare time you have. In a business, developers are there to help increase profitability and while some jobs may require a bit of experimenting with code, it’s always important to remember the business side of things.
Try to develop an understanding of the business side of things - that's invaluable for a developer. Just see it as another machine, if you don't know how it works your programs won't run as well as they could.
Finally, always try to work with people who are better than you are. Their knowledge and experiences will be invaluable to your career growth.
If you're looking for an exciting opportunity within the Software Development space, get in touch with one of our specialists today at: firstname.lastname@example.org