From Software to Hardware and Back
The main factor in my case was the university I was attending, the faculty of Automatic Control and Robotics, to be precise. During my time there, I dealt with a mix of hardware and software quite frequently and liked both. But as it often happens, people simply tend to gravitate towards one area in particular. I ended up going down the software route and started working as a C++ developer soon after discovering it. At the same time, though, I still enjoyed getting stuck into hardware and wasn’t quite ready to abandon it just yet.
That’s why the next job I landed was low-level embedded systems programming with C. And I must say I liked it… not that much. A little bit later, I got involved with Python during one particular project at the university and the fact that I really took to it as a scripting language got me thinking. Some time later, I discovered Ruby, used it for my MSc and started to think about going pro!
I Want to Switch Technologies, But…
The first thing that rears its head is doubt. Is it what I really want or just a temporary fascination?
Next, you might be afraid of losing what you’ve already got. Unfortunately, there is really no getting away from the fact that you’ll be starting up again from the ground up. But, just to cheer you up, I have to say that it is way easier than learning the basics of software engineering from scratch.
Code reviews, continuous integration, version control systems and other favourites are just like - or almost - as you know them. All those good habits you picked up - writing clean code and tests - they’re also your allies now. Where it differs is obviously the syntax, which is the easy part. The real stumbling block could turn out to be your mindset. What I mean by that is your approach to writing code, e.g. the commonly used patterns.
Before all of that, you have to find time to get your head down and learn. After one weekend you might not be quite there yet, but it’s definitely a start. One thing is certain - the longer you wait, the harder it gets. If you are sure that it really is what you want, just go for it and don’t bother about any of the obstacles.
Find Your Own Way and Don’t Give Up
Why I am so sure when I say that? Because right now, as we speak, I am writing this blogpost, working as a Ruby on Rails Developer, and oh my… I like it! Was it hard? Maybe not the toughest thing I’ve ever done, but it did have its moments. Was I sure that it was going to work out? Not totally certain, but determined to make it happen.
Web development is a very dynamic field, which gives you a chance to work with the latest technologies, or even help to create them. I learn new things almost every day and it doesn’t seem that it is going to change anytime soon. I am not saying whether or not it’s for you or if you should do it. I just would like to sum it all up with one short sentence which, in my opinion, could be applicable to many aspects of our everyday lives: “if you want to change something, just go for it”.