Joined devRant on 4/5/2017
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Next week I'm starting a new job and I kinda wanted to give you guys an insight into my dev career over the last four years. Hopefully it can give some people some insight into how a career can grow unexpectedly.
While I was finishing up my studies (AI) I decided to talk to one of these recruiters and see what kind of jobs I could get as soon as I would be done. The recruiter immediately found this job with a Java consultancy company that also had a training aspect on the side (four hours of training a week).
In this job I learned a lot about many things. I learned about Spring framework, clean code, cloud deployment, build pipelines, Microservices, message brokers and lots more.
As this was a consultancy company, I was placed at different companies. During my time here I worked on two different projects.
The first was a Microservices project about road traffic data. The company was a mess, and I learned a lot about company politics. I think I never saw anything I built really released in my 16 months there.
I also had to drive 200km every day for this job, which just killed me. And after far too long I was finally moved to the second company, which was much closer.
The second company was a fintech startup funded by a bank. Everything was so much better than the traffic company. There was a very structured release schedule, with a pretty okay scrum implementation. Every team had their own development environment on aws which worked amazingly. I had a lot of fun at this job, with many cool colleagues. And all the smart people around me taught me even more about everything related to working in software engineering.
I quit my job at the consultancy company, and with that at the fintech place, because I got an opportunity I couldn't refuse. My brother was working for Jordan Belfort, the Wolf of Wallstreet, and he said they needed a developer to build a learning platform. So I packed my bags and flew to LA.
The office was just a villa on the beach, next to Jordan's house. The company was quite small and there were actually no real developers. There was a guy who claimed to be the cto of the company, but he actually only knew how to do WordPress and no one had named him cto, which was very interesting.
So I sat down with Jordan and we talked about the platform he wanted to build. I explained how the things he wanted would eventually not be able with WordPress and we needed to really start building software and become a software development company. He agreed and I was set to designing a first iteration of the platform.
Before I knew it I was building the platform part by part, adding features everywhere, setting up analytics, setting up payment flows, monitoring, connecting to Salesforce, setting up build pipelines and setting up the whole aws environment. I had to do everything from frontend to the backest of backends. Luckily I could grow my team a tiny bit after a while, until we were with four. But the other three were still very junior, so I also got the task of training them next to developing.
Still I learned a lot and there's so much more to tell about my time at this company, but let's move forward a bit.
Eventually I had to go back to the Netherlands because of reasons. I still worked a bit for them from over here, but the fun of it was gone without my colleagues around me, so I quit last September.
I noticed I was all burned out, had worked far too much, so I decided to take a few months off and figure out what I wanted to do with my life. I even wondered whether I wanted to stay in programming.
Fast forward to last few weeks. I figured out I actually did want to work in software still, but now I would focus on getting the right working circumstances. No more driving 3 hours every day, no more working 12 hours every day. Just work close to home and find a company with the right values.
So I started sending out resumes and I gave one recruiter the chance to arrange some interviews too. I spoke to 7 companies in the span of one week. And they were all very interested. Eventually I narrowed it down to 2 companies and asked them for offers. And the company that actually had my preference offered me significantly more than I asked for, which settled the deal.
So tomorrow I'm officially signing with them, and starting next week I'll be developing in Kotlin, diving into functional programming and running our code in serverless environments. I'm very excited!
While working on generic enterprise code: querying databases, calling third-party APIs and just passing data around, I'm thinking: "PLEASE LET ME DO SOME THINKING, LET ME WORK ON SOME HARD ALGORITHM OR SOMETHING!"
When finally working on 'some hard algorithm or something', I'm thinking: "ARGH! MY HEAD ACHES! GIVE ME RELEASE! LET ME WORK ON SOME MINDLESS ENTERPRISE CODE!"1
Why do my parents instantly forget anything they "learn" related to computers?! Like how my mom keeps forgetting how to do stuff in PowerPoint. And especially how she keeps forgetting that "I'm not a PowerPoint expert, I don't use it, and I would have to read and try some buttons just like she should do."1
My worst "legacy code" experience was when the company I work at couldn't get their heads out of their asses and stubbornly continued to write legacy code. As of this day they are still doing everything according to what was hip around 2004. And they even force me to write new legacy code.
New legacy code: it sounds like a paradox, but this company makes it happen.6
The troll power to make other developers totally convinced that Prolog is the best language to implement anything in...
I will probably need an undo-power too...1
When you start a job and they tell you to put your nice laptop away, because you'll have to work on a company provided laptop running Windows 7 in a constricted environment on a project using Svn. And to top it off they tell you to trade in your IntelliJ for NetBeans.
Did I just travel back in time?13
In highschool I started by setting up an open tibia (OT) server for which I copied and edited lua scripts to create spells and quests. Didn't do anything remotely difficult in those times.
In university I needed to learn and use Prolog. And soon after that I had an OOP course in Java. Didn't really learn Java during that course. And started to accept I would never like real programming.
During a Datastructures course I actually got the hang of java and started to program in my spare time.
Finished the Datastructures course with a good grade which landed me a job as student assistant for a python course.
That job in turn landed me a part-time job as python developer where I learned most of my programming skills.
Now I'm back to working in Java and I still learn everyday.
Start a development job.
Boss: "let's start you off with something very easy. There's this third party we need data from. They have an api, just get the data and place it on our messaging bus."
Me: "sure, sounds easy enough"
Third party api turns out to have the most retarded conversation protocol. With us needing a service to receive data on while also having a client to register for the service. With a lot of timed actions like, 'send this message every five minutes' and 'check whether our last message was sent more than 11 minutes ago'.
Due to us needing a service, we also need special permissions through the company firewall. So I have to go around the company to get these permissions, FOR EVERY DATA STREAM WE NEED!
But the worst of it all is... This whole api is SOAP based!!
Also, Hey DevRant!5