

MBA Hackers - hcal

I do completely nontechnical work, but I still write little scripts and programs that automate my routine tasks.  For example, I automate the inventory reports I run daily.  I also have a script that pulls warehouse productivity data and builds reports my ERP cannot.  I have dozens that I use often.  If its a task I do more than once, you can bet I've at least tried to automate it.<p>As helpful as knowing a little python/sql/etc has been to me, I'm surprised that no one else I know has bothered to learn.  In fact, my coworkers are often astonished when they see my process.<p>I would like to hear from other mangers and non-programmer employees who code as a way to improve there job. What do you do to make yourself more productive, or at least a little easier.  When will basic python/perl/ruby be a job-application skill like Excel and Word?
======
hcal
I wanted to tell this story in the main post, but it ran long.

I run the quality assurance/control department of a large fresh produce
distributor. The majority of my warehouse staff's day is spent running
inventory reports and checking product quality in the warehouse. Our ERP
system has only very primitive QC/QA support so our daily routine was a
frustratingly slow paper based process. Further, the system leaves absolutly
no records by which one could measure productivity or success. During those
dark times we had to just guess what needed to be done next because we didn't
know what was already completed, or what was left to be done. So much slipped
through the cracks... The percentage of product returned or rejected by
customers was embarrassing.

I don't remember where I picked this idea up, but I truly believe that
management is an engineering job. I was trying to engineer a high preformance
process without any real data on how accurate our staff was, how quickly tasks
were preformed... We honestly knew nothing about what we had going on at any
give time. It was clear that nothing was going to improve unless we figured
out how to assign and track our tasks, so I spent some time walking the
process and created a list of what I needed from our ERP to effectively manage
the QC operation. I forwarded the list to our ERP Vendor and asked for an
estimate. The estimate was staggeringly high and implementation would take
months.

Instead I built it myself. It took half a day to come up with a 70% solution,
learning php and sql as I went. The system I came up with was a hacked
together hodgepodge of php, sql, and a tiny bit of python running on a ubuntu
LAMP server. Basically, I built an internal web-based quality control task
system. I works like a big shared todo list, where the system divides the
work, assigns each employee one task at a time, gives the employee the
information they need to do the task, and records the information gathered by
the employee.

I bought my staff android tablets for about $200 each and sent them into the
warehouse. Productivity skyrocketed. I don't know exactly how much was being
done prior to implementing the system, but we know it couldn't have been more
than 50 quality checks a day per employee. Now we are pushing 300. Almost 6x
improvement is insanely great. Importantly, my team also loves the system.
They have to do so much less walking around and searching for product because
the location is right on the screen. They don't have to go searching for a
category managers when they find poor quality products, now they just tap a
button and an email is sent for them. It doesn't hurt that they now have a
clear grasp of what is expected of them.

</sidenote)Oddly in my favor; Resistive touchscreen tablets are much cheaper,
and in a 33 - 45 degree warehouse my staff preferred to leave their gloves on
and use a stylus. The iPad I tested first sits in a office drawer.</sidenote>.

I spent an hour here and there over the first few days cleaning up the code
and by the end of the week I had a system that tracks everything the
department does and completely eliminated all the process bottle necks I could
identify. I even added a few javascript touches to reduce the amount of
typing. Its not in anyway well coded... What's MVC? But it is stable and works
very well. I haven't made any updates to the system in months, so it just sits
in the corner quietly improving my life, and the company's bottom line.

TLDR: hacked up a task/todo system. saved a lot of money. made my staff, and
boss very happy.

------
kerryfalk
Yes. I did, and do this. I started life as a marketer/sales guy.

I also find it to be very rare among my colleagues. In fact, I haven't met
anyone else in the same positions I have held in any of the industries that
I've been in that can or do code.

I'm biased but I think that heavily specialized professionals are not what is
needed right now. I've heavily focussed on Marketing/Sales/Tech and skills
from each discipline have aided me many times. I can't imagine how much more
difficult it would be if I were only focused on marketing, or only sales, or
only programming. Want to talk about product differentiation or potential
markets? Let's do it. Want to go to see a potential customer? Awesome, fill me
in on who they are and what their problems are. Want to talk about how bad my
code is? Excellent, help me make it better (HNers make me feel like a script-
kiddie).

Master of none? Possibly. Get shit done? Definitely. I hope we start to see
more people going cross-discipline and using the skills they've learned in
their careers and not abandoning the skillets as it's not 'normal'.
Specialized individuals seem to me like it fits better with a large
organization culture and the world seems to be moving away from that now (I'm
definitely heavily biased here so my thoughts could be far from reality).

To answer the question of what do I do to make myself more productive - I
actually usually focus on entire systems that drive me nuts rather than small
optimizations for my own benefit (Much to the dismay of my colleagues as I
don't care for finding keyboard shortcuts - they constantly laugh at me for
not knowing that command+alt+shift+F3+F5 will open a new tab with the contents
from the last page I had opened). The most recent example is a Rails app I
built to track documents (Stored on S3) associated with machines in production
(Things like build orders, quotes, shipping docs, etc.) because it was driving
me crazy that a dozen people wasted a couple hours every day calling around to
find the right documents. Now they just go to the site and I haven't heard a
request since. It takes them moments. They want to expand it into other things
now like tracking details of service calls handled by our reps around the
world. With Rails in my tool belt it's very easy for me to get something up
quickly that can be used at a fraction of the cost that it would for an
external system. Coding it properly and keeping it simple also makes it
scalable. In the long run it will probably die like all other software but the
cost of implementing it now (in both terms of my time and company dollars)
weighed against the benefits it delivers makes it a no-brainer.

~~~
hcal
I think you said exactly what I tried to say. I would think that cross-
functional employees are the future, except I never hear anyone about these
types of skills when hiring or developing management talent. Despite knowing
know a little about finance, accounting, and management, MBAs always seem to
be one dimensional (BTW, I am a couple months from completing mine.)

------
russjhammond
Not quite pure coding but I have certainly started dabbling with automator on
my Mac. My favorite one so far is the special folder I setup on my desktop
that automatically prints anything that gets dragged into it. This becomes
very useful when you have more than one attachment to an email.

I would also recommend Hazel, which will automatically do some folder
cleanup/maintenance for you based on a series of rules you setup.

Finally I use TextExpander religiously to never have to type the same email
again.

------
hkon
I can tell you that the _real programmers_ which eventually will be called in
to expand on your work will hate you. But don't let that discourage you. Happy
hacking

~~~
noahc
the real question is if real programmers would hate you even if it was
programmed by a real programmer. Everyone thinks everyone else makes poor
design decisions.

