First job review: Six month edition and my next job

The backstory

I was campus placed in Societe Generale in August of 2019, a couple weeks after the placement season had started. SG was my third interview, after CureFit (where I bombed the interview because I was unaware of how coding interviews worked, and over-analysed the problems), and Cisco (which was a tough, but interesting and rewarding set of interview rounds. I did pretty well, and it prepared me well for future interviews. I got rejected in the HR round because it came to light that since I was from the south campus of PES, I was only allowed to do an internship for 2 months; Cisco required 6).

The first sign that I should have picked up on, which was a dead giveaway that the role SG was hiring me for wasn’t going to be what I was looking for, was how incredibly easy I found SG’s interview process to be, compared to the 2 previous companies. The screening coding round consisted of a couple of straight forward “follow the instructions” type coding questions. The in-person interviews started off with a group discussion, followed by a single interview by the manager of the team I would end up joining. He started off by saying “if you were able to get past the screening coding round, you are more than good enough for this role. Instead of testing you technically, I will be evaluating you on your personality, resume, and conviction.” As soon as the interview was over, I had a bit to think over the sequence of events, and I had a feeling that this this role isn’t really as technically inclined as I would want it to be.

PES has an annoying placement policy, where you can have a maximum of one offer from a tier 1 company, which is a tier system based on pay range. SG fell in the highest pay range, and hence was classified as a tier 1 company. Once I got called into the HR room and got offered the job, rejecting it was pointless. Once offered, I am inelegible to sit for any other company that came to PES for placements.

At the time, I got pretty bad advice, telling me that I got a job that many people would dream of, and that I should take it easy for the rest of my final year. I listened to that advice, instead of applying off campus, because there were a lot of rumours saying that getting a job off campus is way harder, and they don’t pay as well. In hindsight, its clear that the rumour is perpetuated by people to reduce the off campus competition. Nonetheless, I got complacent, and relaxed for the remaining year I had in PES. I got my job description in February of 2020, and that is when I realised the gravity of the mistake I had committed. It was a role which would involve a lot of automation work, and I would be joining a non-technical team as a developer. I don’t need to tell you how bad of a career starting point it is to join such a team as a fresher. You learn very little, when you’re supposed to be learning a lot. The double whammy was the untimely beginning of the Covid19 pandemic, the very next month, which pretty much crushed any hope of me being able to get another job. Companies were laying people off in droves, and I wasn’t even sure my SG offer still stood. So I decided to play it safe, once I got the confirmation from SG that my offer stood, I decided to go ahead with it.

My six months at Societe Generale

I’d like to start off by saying that in general, I had an overall positive experience with SG. I consider my standards to be quite high, so take my opinion as what it is, my opinion. I could write a massive essay (and I did, I had to remove a bunch from my first draft to trim it down), but I don’t want to waste your time, neither is me going on and on about subjective issues going to accomplish anything, because the problems I faced during my time at SG stemmed from issues that were too deep rooted to be fixed any time soon, and I didn’t have the patience to wait, especially when there were many organisations in the market that didn’t have such issues. I’ll try to keep it brief. I’m not trying to influence anyone else’s view of SG, its most likely that my experience is isolated to the part of the organisation I was in. In an organisation as big as SG, the differences from one business line to another can be stark, and it just so turned out that my business line could use some improvement. I can only speak of my own experience. If anyone higher up from SG reads this, take this as the most sincere form of criticism to improve on, because people still within the organisation will have a vested interest in not giving feedback this honest.

I did not find the work challenging. The skills I employed in carrying out my duties were skills I’ve known for years. Basic fullstack work which one would expect you to do as a mini project during a bachelors course. I wanted to solve hard problems, that’s what I’ve been training to do my entire adult life. That’s my calling.

I had a very poor joining experience, with no clarity on what I should be doing, where I should go for what, being overwhelmed with acronyms, and many of the apps on the internal company portal not working (which might have been due to an issue specific to me, which I will discuss shortly). I had no formal technical training on how the company functioned, and no info on the procedures I should be following. Many of these issues might have only occurred due to me joining during the pandemic, but I joined in November, the pandemic had been going on for almost a year, I expected most of these issues to be ironed out.

As a fresher, I was basically plopped into a team with a few other developers, who were relatively inexperienced. I get that they were trying to set up a team of developers, but without a strong foundation of senior devs or lead engineers, its not going to be possible to build a cohesive and efficient team. I digress; I faced a huge number of smaller problems, that really added up over time; connectivity issues, mailing issues, communication platform issues, VPN issues, attendance tracking issues, HR issues and payroll issues to name a few.

I was initially put into the wrong team on their HR, payroll, and infra management systems, and that took a long time to rectify. Even after it was, it clearly wasn’t done correctly, because in lots of places on their infrastructure, there were still issues that kept cropping up as a result of this mistake, which I had to spend a great deal of time and effort to get resolved. This was not the type of experience I was expecting when joining as a fresh graduate for his first job. The first few weeks were a big headache and stress creator for me. On top of that, for each of these smaller problems I faced, I had to contact a plethora of different people, many of whom deflected me to someone else in a ping pong fashion, took too long to reply, or didn’t reply at all.

For one, SG’s internal infrastructure and COTS choices felt pretty clunky and outdated to me. I felt that if they were to invest and adopt in better off the shelf tech, instead making knock off poorly made internal alternatives for most things, many of the deep rooted issues I faced in my experience wouldn’t have occurred. Many of these internal products were built in the name of either redundant, unecessary and overly restrictive security policies, or to save on costs. Kinda foolish if you ask me, because it would end up costing SG way more in the long run to develop, host, maintain and support some of their in house products, instead of just buying software off the shelf. Some of their internal platforms were bug ridden, clunky and unreliable, which required SG to maintain a large support staff to handle issues. These issues would not be occurring if the the right products were chosen.

I want to touch on SG’s security policies for a bit, without going into any detail (obviously). I get that they’re a big bank, and they have regulatory pressure, but some of the security measures they took, coming from someone who is pretty interested in information and network security, and knows a thing or two, is very redundant and unecessary. All it ends up doing is annoy employees, and stifle productivity. In any secure system, its common sense to set up redundant layers, no one is denying that. The bureaucracy of some of their security policies stems from how they have the layers set up. Sometimes, the layers are extremely lopsided. Some layers had ridiclous levels of security, whilst others had almost none. I’m fairly certain that most of these policies were from people who don’t really understand which security mechanisms are more secure than others. Some of these annoying security measures I tell you, anyone with the ability to google can figure out an alternative way to overcome them. The reason why they can be overcome, is because clearly, they aren’t that important to protect, especially from an employee already connected to SG’s internal network. You can do a lot of damage just by getting access to a company’s internal network, so putting in place ridiculous security measures past that point, is just asanine. If the restriction can be overcome, why are there security measures for such things in the first place? All it does is waste employee time in adding unecessary steps to everything they do.

Some of these policies were unbelievably restrictive for no reason. It took me an entire week just to get Python installed on my workstation. That whole time, I was just sitting idle. SG has an internal app store for employees, but like, it had Python 2 only. Clearly no one was maintaining and keeping up to date many of the internal products they had on offer to employees. It took another entire week to get any package installed. Their network firewall blocked several trusted package repositories from being accessed, which can be so easily overcome. All the firewall did was make me do several extra manual steps for every package I need. That’s just the tip of the iceberg. I can go on and on.

There was very little collaboration between teams in my business line, and lots of cross-talk. In my team, there was a lot of ad-hoc development, with no conventions, making reuse and code collaboration very frustrating. I also made the mistake of telling my team about my video editing hobby, which led to several weeks of video editing work that isn’t part of my job description being pushed onto me, while keeping my regular workload.

The fixes for most of my problems with SG would involve changing how a portion of the organisation functioned, or would cost money, which wasn’t going to happen in a reasonable amount of time that would make me consider staying. Several teams resorted to patch work, and were in the habit of starting unecessary new projects for the sake of making a business case for their existence within the organisation; which begs the question of why such teams would require developers. Ideally, the dev work we were doing, building multiple disparate smaller platforms, should have been one large scale cohesive platform, with its own dev team and maintainers.

I believe that joining in as a fresher in the role that I did, in a large corporate organisation like SG, was a mistake. I felt like SG’s structure was too rigid for me, and the work was not high impact enough to keep me satisfied. I could tell that some people within the company didn’t do their due diligence, which led to half the time being wasted correcting mistakes which wouldn’t have happened if planning was done correctly. I genuinely feel that this arises from the lack of overall passion within the organisation, for the organisation, which SG should improve on. As a fresher, nothing I say or suggest would be taken seriously enough to make a difference, especially since one can view my gripes as being subjective. No one is going to listen to that fresher from that obscure team telling you to change the way things work. At least thats how I felt.

I did end up meeting a couple of great people, who continue to work at SG, whom I hope to keep in contact with. I wish everyone within SG, including SG itself good fortune and prosperity, and I hope they are able to streamline their operations in the coming years, and it seems to be going in the right direction.

That ends my review of SG. Coming back to me, all I can say is that I learnt my lesson the hard way. Right out of college, I should have been putting way more emphasis on the company environment/culture, internal processes, and the job description, instead of the money and company name.

I realised that the environment wasn’t for me, and I couldn’t be as productive as I can be working in SG, pretty early on, within the first two months in fact. I started preparing for a job change from that point on. I interviewed with three companies, and got two offers.

My upcoming job at ThoughtSpot

After I got my first offer, my buddy Dheeraj told me to try for ThoughtSpot, where he’d been working for the past year. He had, of course, over the last year, told me a lot about the company, so I already knew that their enviroment is pretty great, and the work involves deep tech. They produce advanced business-intelligence analytics search software.

I was pretty happy with the first offer I got, as it was a substantial pay bump for me, and the type of work would be a lot better in terms of my career growth. On top of that, I wasn’t really that confident in my abilities to get past the interview process for ThoughtSpot, because I had heard it wasn’t going to be easy. He did manage to convince me to try over some beers, and so I did. He referred me, and over the course of the next week, I went through a screening coding round consisting of 3 challenging coding questions, 2 rounds of coding interviews and a resume drill down round. They skipped the culture fit round, I assume because they expect me to know and gel with their culture since I am good friends with an existing employee. I aced every coding question they threw at me, some, even to my own surpise. I was confident I had cleared every round after I was done with each, but I was expecting there to be more rounds. They however, decided to hire me after the 2nd round. I’m super pumped, because I know I’m going to be the least experienced and least skilled person in any room once I join, and all that means is that I get to learn a lot. This is going to be very good for my career in the long term, not to mention the substantial pay bump I got OVER my previous offer.

I will be joining in as a Member of Technical Staff II (backend developer for SpotIQ, ThoughtSpot’s AI driven analytics engine) tomorrow.