tag:blogger.com,1999:blog-7044564.post7590034150321915013..comments2023-07-31T11:22:43.881-04:00Comments on The Green: The origin of programmersAnonymoushttp://www.blogger.com/profile/05514600374746484389noreply@blogger.comBlogger9125tag:blogger.com,1999:blog-7044564.post-47694258826641626152006-12-14T11:34:00.000-04:002006-12-14T11:34:00.000-04:00Sorry for double post, didn't see ways to edit a p...Sorry for double post, didn't see ways to edit a post after posted, so decided to repost instead with the fixes.<br /><br />I found the whole read interesting, I regret that I'm joining in a bit too late in the discussion.<br /><br />There's an inevitable reality in the software industry, and it is that the purpose of any software is to handle information for whatever benefit of whichever party. This info handling needs to be reliable, and needs to have a predictable behavior in that if you input something to it, it'll give you the output you're expecting. If it doesn't, it's something that you're not contemplating on the main algorithm. This is the main culprit behind the whole routine thing, IMHO.<br /><br />Something similar happens in other branches that aren't necessarilly related to IT. Medicine for example needs this reliability too.<br /><br />If you create a medicine, therapy or treatment for treating X illness, you at least want it to fix said illness as globally as possible, with as few side effects as possible. You don't want something that you prescribe a patient to cure (or better) X illness, but tommorrow instead of healing it, makes it worse.<br /><br />So in Medicine (no matter the specialty you make), as in IT, you eventually get into a routine as well, although there's one important difference. Your 'work material' are no less than other human beings, and failing in Medicine can cost one (or many) life/lives.<br /><br />Lucky for us, in IT only machines and information are on the line, which do not have THAT serious implications if our code fails. True, it may spell disaster for any large organization, but sooner or later they can/will recover, unlike the risk in medicine, since you can't breathe life back into something that died for good (as weird as it may sound this, considering the 'clinically dead' and other states :P)<br /><br />In our case, something that adds to having repetitive work is that, since I'd say at least 95% of the problems we need to solve through software involve any sort of math in it, solutions tend to be very precise. Sure, they may have exceptions, but when they happen, they're handled without fatal consequences, and in turn are the new details that come into our repetitive work to finally solve said problem.<br /><br />You can have dozens of different implementations to solve a single problem, but in the end what you need is to solve the problem, and one way or the other you will tap into a pattern as you originally said in your post.<br /><br />If you want outstanding variety on this, what you need is to always have new problems to solve that won't revolve around the problems already solved by your code, or code you have access to.<br /><br />That can be the most feasible way to let your creative juices flow without falling into a painful routine (that as I implied above, you tend to fall into after some time no matter what your job is).<br /><br />In a bussiness that has systems that address specific tasks or problems, it'll be hard to find these opportunities. The best you can do is create them, taking your own initiatives and let things flow based on that. Routine work becomes second nature at some point either way, so you may end up having an amount of spare time good enough for letting this initiative flourish.<br /><br />Those are my 2 cents worth. :)Anonymoushttps://www.blogger.com/profile/00097193223536527003noreply@blogger.comtag:blogger.com,1999:blog-7044564.post-14675544625800027012006-12-14T11:26:00.000-04:002006-12-14T11:26:00.000-04:00This comment has been removed by the author.Anonymoushttps://www.blogger.com/profile/00097193223536527003noreply@blogger.comtag:blogger.com,1999:blog-7044564.post-5288816772898155422006-11-27T21:46:00.000-04:002006-11-27T21:46:00.000-04:00I find your post interesting, and the comments qui...I find your post interesting, and the comments quite so too. <br /><br />Businesses are about making money, but they are also about providing products to the consumer/user. What happens is that most are just either too afraid, or make it a point to avoid the exciting new thing out there, just because it may be a smoking mirror and end up loosing more than what they put in.<br /><br />For a company to be effective they need to challenge their employee's in ways that will benefit them, and that's what Google does. They give their employees 20% of their time to devote to that what they think is worth it. As saotome said; gmail, google reader and others are products of this initiative, --there are hundreds of other applications that have not prosper-- of course google makes a profit out of those applications. In most cases the employee is just static their idea were implemented succesfully and met with wide acceptance by the clients/users.<br /><br />The truth is that in Google bureaucracy to deal with too, the difference is that it's not the hackers dealing with it directly -- and that's an intelligent move from Google.<br /><br />The biggest problem in faced with big companies is that they on the premise of being efficient they make the goals unatiable. Making employees that are on a deadline, go to 4 meetings of almost an hour each! instead of letting them do the job, is iresponsible and stupid on my book. <br /><br />But our hands are tied and we have to play along.<br /><br />Now the opposite of that would be chaos. With smaller company's things are easier to control, and it's easier to keep your eyes on ball/prize.ec0https://www.blogger.com/profile/04932291850253859582noreply@blogger.comtag:blogger.com,1999:blog-7044564.post-56111355421746374212006-11-27T13:48:00.000-04:002006-11-27T13:48:00.000-04:00Elvis, nah, I wont go postal. That be too cliche. ...Elvis, nah, I wont go postal. That be too cliche. You'll see in due time.<br /><br />My good friend Ivan. I think you are misinterpreting my motives. I am not for obscuring code. Nasty code is nasty code, whatever the application or goal may be. Also, you need to learn how to fit a solution to a given problem, not the other way around. People who do that are also fundamentally wrong. This holds for anything you are working as well. I understand that the objectives of the collective must also be attained. That is the whole point, if you are not creating a positive addition to the goal as a whole, then your addition is pointless.<br /><br />The idea I really wanted to come across is that our jobs at the moment are characterized by constant repetition. You think you are doing something different today, but it's just same thing as yesterday with 3 different details. Repetition will not allow you mind to flourish with innovative concepts. Be them for the company (seeing that you are one of the pro-corp supporters) or for yourself.<br /><br />If we need to crunch number and generate reports, SO BE IT! That's the nature of the beast. If ALL YOU WANT me to do during a 40 hour week is to crunch numbers and generate reports, then that's a waste of my time. Hire a guy with a robot/zombie mentality, make the process as automated as possible and give him a mouse. Throw a way the keyboard if possible!<br /><br />We need to evolve. Not just genetically and socially throughout centuries, but in the you think and approach problems during YOUR lifespan. Sitting in a cube, doing the same thing over and over again is just the opposite. You are forcing your body and your mind into a static frame set. Innovation under these circumstances, while possible, is very difficult to achieve. Never the less it's expected and necessary in order to compete. See the problem?<br /><br />P.S.: Yes, google has it's labs where it spends a whole lot of R & D money. But keep in mind that the products I mentioned did NOT come out of that lab. They came out of the creativity of employees who were given time to dedicate to the things they consider important.Anonymoushttps://www.blogger.com/profile/05514600374746484389noreply@blogger.comtag:blogger.com,1999:blog-7044564.post-69939680656449442602006-11-27T13:19:00.000-04:002006-11-27T13:19:00.000-04:00Nice, though I don't share the enthusiasm my colle...Nice, though I don't share the enthusiasm my colleagues have expressed. Mainly I disagree with how you explain the way most corporations work. Yes, there are lots of bureaucracy involved. Yes, most of the business logic thingies are boring. But you know what? they are business for a reason. It's about making money, as everything else. It doesn't matter how cool it would be to do some new interface that sends XMLs and cures cancer, if it doesn't report profits/improves productivity/is more cost effective, chances are you won't get to do it.<br /><br />One thing that has always bothered me about my career, is that some people (and I'm not particularly referring to anyone here, but rather a general view) tend to believe that just because you can do some things a certain way you should do it, in many cases over complicating the problems. The truth is, at least IMHO, it only makes sense to do it if it reports a tangible benefit to the work you're doing, while not causing more problems. Off the top of my head, I have experienced situations like this, where you are given code that nobody else other than the creator will understand (and sometimes not even properly documented) just for the sake of obscuring the code and make it look like something out of NASA, or that requires many more different packages (which removes portability) just cause "I don't like how the standard company language handles XML, so I used this other cool, new thing", or my favorite, converting a 15 lines code that works and works well into a 100+ monster just because you get to use threads, and "threads are cool".<br /><br />I don't know, maybe I'm not expressing myself the way I would like to, but the point I'm trying to make is that all is driven by a business necesity, and tech-geeks like us tend to forget that from time to time. I like to believe that whenever you encounter a work situation (or any situation, for that matter), you should always check yourself first and see if is you that requires a change of mindset, before complaining about how good would it be to work for a company that does things in a certain way. You have three options, and they all require change:<br /><br />-Change the way you think, and try to understand the needs and views of others, not suppressing your own, but rather complementing them.<br />-Change the views of the company, by effectively demonstrating how they would benefit from what you're suggesting.<br />-Change your job. Simple as that.<br /><br />PS: I don't think Google is the best example for what your talking about, as they actually profit from the products that come out of the google labs, so it's not just an altruist move on their part.Ivanhttps://www.blogger.com/profile/07601364214139858838noreply@blogger.comtag:blogger.com,1999:blog-7044564.post-71621407701142665642006-11-27T11:13:00.000-04:002006-11-27T11:13:00.000-04:00What? Don't tell me you're planning to show up and...What? Don't tell me you're planning to show up and shoot/kill everyone in this building (yikes!). Let me know once you're ready so that I can skip work that day! :DElvis Monterohttps://www.blogger.com/profile/10006575276066151475noreply@blogger.comtag:blogger.com,1999:blog-7044564.post-83368717571465613252006-11-27T11:09:00.000-04:002006-11-27T11:09:00.000-04:00I disagree with you my friend. And pretty soon I'l...I disagree with you my friend. And pretty soon I'll demonstrate that there IS something I can and will do about it.<br /><br />Till then, I'll enjoy bitching about it as usual.Anonymoushttps://www.blogger.com/profile/05514600374746484389noreply@blogger.comtag:blogger.com,1999:blog-7044564.post-29582524382576013092006-11-27T11:02:00.000-04:002006-11-27T11:02:00.000-04:00I feel compelled to say something: you scored a bu...I feel compelled to say something: you scored a bull's eye! However, there's pretty much nothing we can do to overcome the status quo - other than bitch about it day in/day out, I can't think of anything else. <br /><br />We're all (software engineers) here because we like what we do. We just don't like the "challenges" we've been given (or the money, or the respect from upper management, et al).<br /><br />As a French youngster would tell you: c'est la vie! :)Elvis Monterohttps://www.blogger.com/profile/10006575276066151475noreply@blogger.comtag:blogger.com,1999:blog-7044564.post-59786122154249452452006-11-27T08:32:00.000-04:002006-11-27T08:32:00.000-04:00You nailed it.
Now you may understand why I alway...You nailed it.<br /><br />Now you may understand why I always choose the most interesting way to do any kind of thing related to programming: There is nothing fun about implementing things always the same boring way everyone does, unless it happens to be The Way. And even so, you may still find a better and more effective way of doing something or at least learn another way how not to do it.Anonymoushttps://www.blogger.com/profile/15206543959065790442noreply@blogger.com