Using my education (finally)
One thing I really like on my current job at Jut as a language designer and implementer1 is that I finally fully use my computer science and mathematical education — even parts I considered too theoretical when I was at university. This is in stark contrast with pretty much all the work I did before where I haven’t needed my education almost at all. Now I can’t do my job properly without it.
In the last few months I used or at least touched:
- Various things from the compilers course, including fancy stuff like attribute grammars
- Floating point arithmetics and IEEE-754
- Normal forms in boolean logic (CNF, DNF)
- Basic algebra (things like associativity or neutral elements of operations)
- Somewhat advanced algebra (things like affine spaces and monoids)
- The notion of infinitesimals
- Dimensional analysis
- Theory of relativity (yes!)
Behind each of these items is a story where I would have done a bad job without knowing the concept — I would have introduced a badly designed feature, fixed a bug in a wrong way, or simply failed to notice something odd. As a result, Jut’s Juttle language would have looked perceivably worse than it looks now.
So, for all of you who wonder whether computer science and mathematical education is valuable in the age when most software development is mindless gluing of pre-built components together I have an answer: Yes! But you have to look for a job where you will use it.
Really a co-designer and co-implementer — there is a whole team behind Jut’s Juttle language. ↩