Showing posts with label process. Show all posts
Showing posts with label process. Show all posts

Thursday, September 2, 2021

Work Life: Another way to rename a file is to move it

Sometimes I do not learn my own lessons very well and having to re-invent the wheel each time. The latest example is for renaming SSRS reports. There is no option to rename, so I have just been deleting and uploading with the new file name. I knew this couldn't be the answer, so I kept searching because my initial searches didn't come up with the answer. Eventually finding out that I just had to move the file to the same location with a new name which to my embarrassment, I have also used. It just never clicked.

A palm to forehead moment would occur a few seconds later where I have used this solution elsewhere in my past. I cannot recall at the moment but I definitely had to do this before. Then it just evolves to just shaking my head.


Saturday, October 12, 2019

Expanding to Linux, Apache, Postgres, Python, and Django in Google Cloud

I finally got around to learning Linux and Python for the second time. I tried many years ago at a friend's place but never went back after I messed up a build. This time it was way faster with Google Cloud.

I spent about half a day figuring out the free trial versus always free. In reality, I was trying to figure out and extrapolate the always free part. Because as a hobbyist, this was very intriguing part. So basically, I can spin up a small VM and Cloud Sql for free, of course up to a certain limit which I think is well below the traffic and usage that I will be working in.

I think this is great because I am mostly on to practice and learn. If I were to expand my projects, scaling up my projects looks to be kind of simple for both infrastructure and cost. Although I did not delve deep into how to do that exactly. But the costs seem rather reasonable on a personal level.

I spent the rest of the day learning the different parts of google cloud. I quickly went through some of the options then saw all the different types of OS and DB google cloud has to offer. Of course, I spent most of the time figuring out which Linux distro to choose (Debian) and database (Postgre).

I chose Debian because it was free and seemed to have good amount of documentation online. I chose Postgre because it is new to me (I have worked with Oracle, MySql, and MS Sql in the past) and appears to be gaining some popularity (and also been seeing quite a few on job posts).

The next day, I spent all day trying to install Python, Apache, and Django. I spent part of the day looking into which web server to use which I almost scrapped because Python had its own server. I could not get the Python web server to work properly because I did not know how to open a web browser to be local within my google cloud "space" (I am still unsure if that is even possible). I was not able to open the ports to access it from an external source.

I also spent a lot of time trying to learn all the Linux commands to install. I spent a good amount of time trying to find what I can do without super user (sudo) which I found to be almost nothing. I was eventually able to install Apache with Python by following directions and open it from my system's browser (outside of google cloud).

I then looked into Python IDE which then I stumbled across Django which I later learn is a framework for python web development. So then I attempted to install Django, but ran into a lot of issues. Because I already had Python and Apache installed, I was trying not to repeat certain steps or skip certain steps. Because I was not exactly clear on what needed to be done and things were not working, I deleted my Django project and tried to start over.

I had to start over a few times until I found a different site (https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-apache-and-mod_wsgi-on-debian-8) that eventually got me up and running. On the bright side, I am now a bit more familiar with a few basic Linux commands: sudo, nano, mkdir, rm, mv, cp, service, etc. At least I think they are Linux commands as opposed to Python or Apache commands.

I have not started any programming yet, but excited to eventually get to that point. I still need to learn a bit about the Django framework before I can really start. So hopefully, I will get some time to work on that soon. Also, I still need to find an IDE or text editor.


Reference

https://www.digitalocean.com/community/tutorials/how-to-serve-django-applications-with-apache-and-mod_wsgi-on-debian-8

Wednesday, August 27, 2014

Work: Do You Only Enforce Process at Work?

Our typical 15 minutes meeting became 60 minutes because of the holiday weekend both in the US and in India. With a standard change, system test typically requires a few days thus pushing back on the release for next week. We are in the process of trying to implement some control on the release dates, so this was yet another bump in the process. Our team to deploy has been frustrated with the inconsistency with the process.

Since I have been here, system test has been the most direct source of most scheduling issues. This is not to say that it is their fault as they must also juggle the ever changing scope, requirements, and waiting on fixes to issues found during testing. For my role, I really only need to know if they can complete the testing for minor fixes.

The person I deal with is rather strict with the process in that we have given them 3 days to complete testing. Because of the holidays (India on Fri and US on Mon), they have lost two days. Even though we try to explain that it should not take long because the fixes are small and minor, the discussion escalated to include other managers to step in to make an "exception" to the process. And the explanation did not take very long to stick with the original problems, and that system test could finish today if everyone was ready.

In typical corporate life, this is rather normal. But if you wish to advance, here is an opportunity for the system test liaison to have discussed this with their manager to accommodate the customers. For smaller sized companies, this is a good opportunity to keep yourself relevant in the meeting because I really do not need a person to tell me that they always need 3 days. If I had a say, I would campaign to exclude the group from the call and make a note that missed opportunities are due to system test requirements.

On a side note if you are in a "discussion" (people seem to be sensitive to "argument" in the corporate world) and you have to repeat the process more than 3 times while the other party changes their frame of questioning, change your response because you either do not understand what they are saying or they do not understand what you are saying. Repeating yourself rarely changes these discussions and wastes everyone else's time.

So basically, machines are very good at enforcing process. People are good at handling exceptions. Consider alternatives and be flexible especially when other groups are being flexible. This is why we are still relevant.

Thursday, February 7, 2013

Interview: My Take on Using Oddball and Riddle Questions (negative)

My Take on Including Oddball and Riddle Questions in the Interview Process (negative)


As much as I enjoy answering questions that are based on riddles, puzzles, oddness, or other unrealistic scenarios, I do not find these particularly helpful to the interview process. First, I do not think it helps weed-out any candidates. Second, the interviewee may already know the solution or answer to the question. Lastly, most interviewers do not seem to understand the purpose of the question. They may have their place like as an ice-breaker or a warm-up or in theme to a specific company, but in general, there are better questions.

An interview question should provide some insight into what type of person the interviewee is. This insight should provide information that will allow the interviewer to rank or eliminate the candidate. Because open-ended questions are subjective in nature and cannot provide definitive skills, this type of question tends to be one just to eliminate a candidate. So for an experience interviewee, this really is really matter of not giving the wrong answer to a question that has a billion and one not incorrect answers. Thus even an amateur or someone trained for a minute can bypass this answer, so the question is not a strong "weed-out" question.

If not an elimination question, that leaves providing some positive or negative impression of the candidate's answer. Ideally, the question is supposed to be unique enough that no one has heard of it. Word still gets around, so the candidate pool results will be corrupted typically favoring the latter candidates. But let's assume that you can control it, candidates may or may not figure out the answer. That in itself is not useful because that really is not the point of the question. The rest may have different experiences thus providing different levels of detail. Someone from NYC can provide a better details story than someone from Tulsa. So, one cannot rank even by detail. Worst case, is that someone  may happen to know the specific answer, then the entire pool has now been contaminated.

Even accounting for the different possibilities, most interviewers do not even know the purpose of these questions. Because this lies in my interests, I have been able to answer these types of questions and usually end up also providing other puzzles or oddball questions. The interviewer typically ends up coming back to me for an answer. Was I any better skill-wise to all the other candidates? Unlikely since I had only 3-5 years of experience at the time. I did not apply for a job that expected good interviewing skills, so I do not find it fair that I had an advantage because I knew how to "play" this type of question. I also do not find it fair that others may not how to "better" answer other types of questions. This in itself will skew the choices of my responses.

Unless the job calls for amazing imagination where you judge by how original the idea is, most jobs do not care for it even if they claim that they value such out-of-the-box thinking especially the larger the company is. In most corporate companies, people have already been there for a decent amount of time. The managers or employees with seniority and tenure typically expect "underlings" to follow orders to protect their domain. They may claim that they want an open discussion, but in most cases, one must always understand the position and wordings of new ideas. There is some value to small-sized companies because it does provide some interpersonal information, but unfortunately, most small-size company interviewers ask only because they read it in an article who I found even more impressionable.

So there you have it, my thoughts on the value of this interview question. If you're an interviewee, this should be a super easy question. This is also a great opportunity to impress on intangible skill-sets for the impressionable (ie amateur, rookie, etc) interviewers. I've asked this a few times but did not get a lot of value out of them. It has been a long time since I have been pulled to help with interviewing, but if you happen to have me, just smile and have fun with the question but don't make it too long. Most importantly, follow up with the correct answer after the interview and how that would impact your made-up story.