- “Write my own blogging application” is almost going to be scratched out of my TO DO List.
- Used django-tagging for enabling tags.
- Had to write a wrapper around the default ‘tagged_list’ view. Had a bit of fixations before getting it to work.
- Enabled Comments , again using default Comments Application. It was more easy than anticipated.
- A bit of colouring here and there, and it will be ready to be served.
5 hours of digging deep into django’s internals, studying the whole docs for generic views, function_based views, class_based views, messing around everything, to clear one annoying bug and the solution was so dumb, it was just a time zone mismatch, and a single line of code in settings.py set everything right!
What a Mess.
Long Ago (or) make it Once Upon A Time, When I had to create a Web Software I had to finish dealing off with all the boring stuff before getting my hands dirty with my ‘Colourful Ideas’. Say,
- I had to choose a ‘Nice Little database’ ,confuse with sqlite or mysql or postgreSQL or whatthefucksql
- Once done, have to look up for handy functions to help manipulate the data from db
- Hey, I’ve even tried writing some of those and believe me that’s the part when I think “Oh I will never try another idea, Never! “
- I’m from PHP Family of Wizards and I worry a lot about selecting ‘what data’ to “what page” .I’ve never come across any frameworks before [I’m a noob, anyway.Apologize].
- Once done,my mind becomes a monkey changing ideas, So obliged to make an awful lot of code changes to make it run along with my next big thing and this goes on and on, until one fine day, I give a damn to the whole thing and start writing my Maths assignments.
Right now! I’m in Love.
In Love with Django. Be it ‘mysql’ or ‘whatthefucksql’ , Now I just need to modify a couple of lines of code to switch db and it gets me running with my next ‘project’ . No more “SELECT this FROM that ; “. I define the models and Django sets me all up and gets me anything I need. No more .jsp or .php, I’ve got these url patterns that handles the request.Selecting data for the request, its never been more easier! I write views to handle requests and render it with a template, capable of cascading. Thats Cool, Isn’t it?
And the cream in here is , I got to seperate data from the logic, and both completely from the presentation which makes them as “REUSABLE” units. Oh, I like reusability. Nevermind, am a bad programmer, ofcourse. Django is Luxury.
“None” , Says the author of this post who’ve known fairly well about all those MNC’s.
I’ve always hated these,ever since, Someone tell me that we study Engineering in College and Fill up Excel Sheets in Infosys.
I think every CS Engineering Student should read this.
If you are not interested in making a career in engineering, lack the confidence to do so, or you are very content with working for one of these three companies for reasons that are valid to you, you may stop reading this and go back to what you were doing before landing on this page.
Sometimes computer science, IT or electronic and communication engineering students get placed in two or three major Indian IT companies and they find it hard to decide which one to join. “Infosys, TCS, or Wipro?” is one of the most common questions I have faced from such students. The answer is much simpler than they think it is.
This blog post is not about how these companies feed the stomachs of lakhs of people. This blog post is not about undermining the efforts of these companies. They are probably good at keeping their customers happy. This blog is not about offending the employees of these organizations. That’ll be an unintentional side-effect.
This blog post is about a choice that freshers usually have to make and the information they should have before they make the choice. This blog post is about urging the freshers who want to make a career in engineering to not make a mistake that I did because I did not have the necessary information at the right time; a mistake that I could correct two years later after I realized it. This blog post is about some very unpleasant facts about these major Indian IT companies that you wouldn’t know unless you have been a part of it.
ALERT: If you are not interested in making a career in engineering, lack the confidence to do so, or you are very content with working for one of these three companies for reasons that are valid to you, this post is not for you. It won’t make any sense to you. Do not proceed.
Now, let me start slaying the different myths that exist about these organizations one by one and I am not going to mince words while doing this. You have been warned.
Training: People think that these organizations are good for freshers because they get a lot of training which they wouldn’t get in other organizations. I must remind such people that attending training programmes is not equivalent to learning. Indeed these organizations provide a lot of training to freshers but only about 1% of the trainees actually absorb the knowledge. The 1% that do absorb the training do not stick to the organization for a long time because sooner or later they realize that they want to do some real engineering. The figure ‘1%’ isn’t merely a guess. This is my observation across various trainee-batches that have been trained in one of these organizations. Think about it. Can you learn a new programming language in just 3 days? If your answer is “no”, you shouldn’t join one of these organizations. If your answer is “yes”, you shouldn’t join one of these organizations.
Engineering: One can find engineering problems in these organizations but no trace of engineering. For those of you who work in one of these organizations and are offended by this statement, please go and open your engineering textbooks again. Try to remind yourself what you studied and what you learnt. Consider what you do now.
Engineers: The number of engineers in these organizations are very very few; perhaps only 1 in every 200 is an engineer. This is a guess, albeit not a wild one. This is why there is no engineering in these companies despite the presence of engineering problems. “But isn’t the minimum qualification to get a job in one of these organizations bachelor’s of engineering?”, you might ask. It is. Yes, all of them have a degree in engineering or computers of some sort but only about 1 out of 200 is an engineer. The rest 199 do not understand why a bitcount of 1’s complement of bitwise XOR of two variables would give you the number of similar bits in corresponding positions in both variables, why one can not create a POSIX compliant regular expression to match only strings with balanced parentheses, or how to find the shortest chain of connections between two friends in a social network. Note that I have used ‘or’ as the conjunction and not ‘and’. They may be good software users or good “software-tailors” who can create software by stitching together many library functions but they aren’t engineers.
Culture: One of the worst cultures you can find in the whole of software industry. Very few are busy trying to learn a few things mentioned in the previous paragraph. Some employees are busy figuring out ways to impress their female colleagues using the resources provided by the organization rather than learning and solving problems in better ways. Others are busy cribbing. Here is a shocking piece of information for those who have never worked for one of these organizations. One can also manage to find mud-slinging in company forums once in a while. Professionalism is at its worst here. But they convince themselves that they are professional because they speak English fluently and know how to wear a tie. Employees feel their salaries are pathetic. I feel they are overpaid. How much should a good software user earn?
Onsite: Contrary to the popular belief, the number of trips to foreign lands isn’t a measure of one’s technical prowess. It is mostly (but not always) a measure of how dispassionate one is about engineering and his profession, and how greedy one can be for wealth. Some of the best engineers I have met in these organizations were never eager to go onsite, never went, joined an organization where they could put their knowledge and skills to better use and then flew to a foreign land because their knowledge, skills and understanding of technology were needed there.
So, my answer to the question “Infosys, TCS, or Wipro?” is “None.” That’s not very helpful. Here is a more helpful one. One can consider applying for a job in an organization where he or she can get an opportunity to solve some engineering problems. One cannot learn engineering and programming merely by attending trainings. One has to learn it by doing, solving problems, observing what experienced engineers do, experimenting, screwing up a few times and reworking, talking to good engineers, etc. One can try looking for an organization where the leaders of projects are very good engineers. Start-ups are more likely to have them. Some matured ones are Gluster, Parallocity, SlideShare, etc. New start-ups come up every year. Software companies which develop famous and successful products are more likely to have them. Some good examples are Adobe, Amazon, Google, Phoenix, RSA, etc. So, how does one figure whether a certain organization is an organization of engineers or an organization of good software users?
The clue is: Interview.
Remember the questions they ask in the interview. Think about them later. Try discussing the questions with your friends who are known for solving tough engineering problems. An interview is not only an opportunity for an organization to evaluate an applicant, it is also an opportunity for the applicant to evaluate an organization.
The Post itself is sort of reblogging from Yuvi Panda’s Blog
I’ve been following Pilgrim’s Dive into Python.
It’s a steroid indeed, as mentioned by Arunmozhi.It Pulled me deeper into the language without exactly letting me learn the pitch I’m playing! That’s actually not a problem, as for me, I’m used to learning things from more-than-one-parallel-sources.
Caught up with this link:http://oppugn.us/posts/1272050135.html on his blog and I think this guy must be really hating Mark Pilgrim!