Friday, February 5, 2021

End of old job, new job opinions and predictions

Finally decided to move on from the robotics company. Main factors were money and a disconnect with the director of software. Tried to get a very good old coworker in as a software developer but he was dismissed by the director as not having the desired experience. New place is also offering 20k more, but on further inspection, they're only providing health care for the individual, not for family which, after paying for that, means that the increase is only 8k per year. Also, it's been incredibly difficult leaving the robotics company as the children loved hearing about and working with the robots so much.

Disturbingly, less than a week after submitting my resignation, a major issue came up. I had gotten several assurances that developers were able to use whatever environment that they felt most comfortable with, but when it came time to send out the company computer, the new company said they would only provide Mac computers. I stated that I wanted a thinkpad running linux. I was rather irritated by this, but their response was that this would be a deal breaker for the company. The recruiter that I had such a high regard for and was the reason I was interested in the company took a turn in that it was a deal breaker and that they would rescind the offer if I didn't relent. After I had already submitted my resignation. I was already on the fence due to the health insurance issue and to also have to deal with this would have been a deal breaker. All this for only 8k more a year.

Also spoke with the CTO about why it was important to allow developers to work within their own chosen environment rather than their personal favorite computer type, but was met with simple arguments of "it's easier to develop on-boarding documentation if everyone has the same system" and "it's easier to re-purpose a Mac for other non dev types". It was also apparent from the CTO that further arguing about the issue was unwelcome as the recruiter had stated that the CTO "was traumatized from a previous company where, as a manager, they were at loggerheads with another senior developer" and that "they didn't want to have to deal with that again." That said, I had already tendered my resignation and had my exit interview. I actually texted the previous CTO with the intent on talking about getting my old job back, but they weren't available. I also made the decision to always move forward, no regressing. If this doesn't work out, I'll move on elsewhere.

The reason it is so disturbing to be forcing only one type of computer is that it is a fools consistency which is the hobgoblin of little minds. It predicts other foolish decisions that will be made out of lack of understanding or fear of some security issue that causes impediments to good development. It also smacks of a company that is more of a lifestyle or vanity company, not a real company with any intent of doing something significant other than being a hobby for wealthy CEO/COO types. The C levels are only there to dictate procedures and play the roll of the boss. That's all fine and good for those who want just a secure existence, but that's not what I want. The robotics company was a decent gig which had some potential and was highly engaging for my children. This new company is completely abstract to them and will be difficult to engage them. As a result I've not told them about the switch. This job is purely for a paycheck.

And true to form, another foolish consistency in that not just do developers need new github accounts, but they also had to be prefixed with the name of the company. This makes no sense, the org is the namespace for the company there's not need to prefix it on the username. There's also no need to demand separate github accounts and is in fact a burden. Now new keys must be made and managed in the new account as well as multiple keys managed on the laptop in order to move code around between accounts. There is no security in requiring this either as it's trivial to simply push the git repo to a different account with a different origin.

All in all, I have great regrets leaving the robotics company for this company. I know that the situation at the robotics company was not ideal, but this is not a suitable company to have left that situation. The robotics company, if nothing else, was inspiring to my children. I don't think I've ever regretted switching companies as much as I have in this case.

As for predictions, it now looks as if I am by far the senior at the company. I am the only one with a CS degree at this point. I'm filled with doubts and nervous about my abilities to perform here, but at least I'm back working primarily with Python. We have a very small mvp due for April which is doable. As for the company, already the main developer is a bit of a spammer of code. There's no standards in terms of commits, no requirements for peer reviews and few tests. Given the amount of code churn due to immense refactoring, it makes sense that the tests and documentation are scrapped every so often.

The only thing I can predict is that I wont be here beyond  a year. If I make it to a year.