From Academia to Industry

So, now that the year is coming to an end and I’ve been in my first “real job” for about half a year or so, I figured it was about time to write a few lines about what happens when you enter the software industry as a full-time software developer, coming rom days spent reading papers, attending seminars, teaching, and trying to make proofs go through.

Well, there has obviously been a lot of catching up to do. Getting used to the Android ecosystem is one thing (which is understated given my rather limited prior knowledge), but also a refresher of the basic skills and an update on where the industry has been going over the last 5-6 years — since I already have my nose in Android a lot these days I’m only going to mention here that 1) I like the upgrade from iOS and am not missing the latter at all, and 2) I’m surprised how much guessing is involved in developing for this system due to inadequate, or at least uneasy to find, documentation.

The refreshing part has been quite enjoyable, and involved going through the CLRS algorithms book again, re-finding the beauty in software architecture and general design patterns, and covering concrete Java stuff such as best practices and its concurrency library.

At the same time it was also good to catching up on where the industry was gone. There were some things that I didn’t see coming at all (JavaScript on the server for instance), and some things that I was particular happy to see, such as functional languages (e.g. OCaml and Haskell) growing in popularity and influencing the mainstream languages. Finally having the time to go deeper in the NoSQL databases was good, and again happy to see that some of the more theoretical concepts are making their way into industry such as graph databases (agreed, relational database has relational algebra, but never found it overwhelmingly exciting).

All of this was before getting a job though, and after starting it’s been incredible nice to actually have some energy/time/conscience left in the evenings to look into other interesting things — and since this is pure pleasure I’ve been taking a breadth-first approach opening several books at the same time:

Besides software-related topics I also finally had the time to get a non-algorithmic point of view on game theory, including concrete games and mechanism design. And finally, getting involved in business, management, and interviewing processes at work has also been very interesting, admittedly still having to draw a lot from teaching and early university group work.

Leave a Reply

Your email address will not be published.