I’ve been long due for a post now, but just didn’t think I had anything new and exciting in a my life to write about because I’ve been busy with work and all the lifestyle changes that go along with it. Then of course I realized I could write about the things I’ve learned since my first week. In short, you learn a lot in a short amount of time in the real world of engineering. Since my first week I’ve taken on 5 distinct projects that dealt with rather unrelated material. Excuse my short tangent but in undergrad, you can often hear your peers complain that none of the stuff they teach you in school is how they do it in the “real world” and that they often make it sound like what we learn is a waste of time. Sure to some extent one can argue that’s true. I have no real need to know differential calculus and compute closed surface integrals of a vector field. Or to be able to solve for the allowed quantum energy states of atomic Hydrogen… Or the sheer force exhibited on a beam given the tensile force vectors of an arbitrary number of supports… I could probably even get by not knowing Ohm’s Law. I can go on and on about all the random bits of knowledge and understanding given to me by my engineering education that isn’t absolutely necessary. But to me it was all worth it and I can’t imagine my professional life without it. The things we learn in class, while for the most part aren’t practical skills in industry, give us a strong understanding and appreciation of problems that have already been solved by humanity. It’s how they teach you how to think and more importantly it’s how they teach you that anything is possible (with finite probability). In that sense, my undergraduate education was invaluable to my job.
Coming back to the subject matter, as I’ve said I’ve been assigned to 5 different tasks in the past 3 weeks. That being said, I really love my job so far in that I’m constantly challenged by the task at hand. I’ve pretty much started each task thinking it would be impossible and beyond my ability. My first big project was as I’ve covered before was the PCB and in the end it wasn’t that bad. I learned a lot of good practice and how to think through it. The kinds of things you really just have to learn for yourself. What I can say though is I have a whole lot more appreciation for the PCB designers who route all our high end electronics. The amount of careful thought that must go towards DFM in those devices is really something.
Speaking of DFM, design for manufacture, I had a small side project to research minimizing the cost of some power electronics. Now this is something I never thought about before, but when it comes to costs of $2-3 that’s serious cash in volume manufacturing. Multiply it by however many thousands or millions you sell and that’s a huge increase in revenue. This says a lot about the electronics industry in general, we produce really high quality goods at a ridiculously low cost while still making a great margin. That is the miracle of this age of technology. Think about it, silicon is pretty much one of the most abundant element on the planet and we make processors out of it. Boggles my mind.
That task of lowering cost and the implications of which really got me thinking about my job from the economist’s perspective. I believe it was originally a Marxist concept “The commodification of human labor” where our labor is owned by the capitalist to generate wealth. To put it more bluntly people are only ever hired for a job if they will add value to a company. The value an engineer can add to a company is enormous when you think about it, we have the ability to create something of value from nothing in a sense. That’s not to say we engineers are simply Wall Street bankers in disguise, but I really do see what I do as turning lead into gold sometimes.
While I don’t think this is exactly what Ralph Waldo Emerson had in mind when he came up with the expression, I think it sums up this post quite nicely. AutoIt is a scripting language that specializes in automating tasks on the computer by basically simulating mouse clicks and keyboard strokes. I picked it up way back in high school in my “script kiddie” days to automate tasks such as renaming my files, spamming forums, filling out questionnaires, and the like. I was young and I like to think I’ve matured somewhat since then. It was actually one of my first programming languages which at the time I didn’t really consider it computer programming, but that’s exactly what I was doing. Over the years I’ve found it useful here and there whenever I find myself doing a repetitive computer task. After programming for a while you tend to start thinking of how to solve problems in loops and try to avoid doing the same thing more than once (at least manually).
Recently I had the need to submit a certain webform 270 times in a nested loop to maximize a certain reward program in as little time and cost to me as possible. When I first saw the deal I immediately started thinking about ways to beat it using a loop. The people who came up with it obviously did not expect for normal people to be able to do something hundreds of times with high efficiency in a short period of time. I won’t delve into the details of the exact program or the calculations, but it involved a decent amount of calculus to get the necessary loop variables. It’s fun to note that the calculations would’ve been greatly simplified had I not wanted to maximize efficiency in both time and cost. Anyway I then set out to write an AutoIt script to save me the hours of monotony filling out forms and waiting for pages to load. This basically consisted of having the script startup Chrome in incognito, navigating to the form, performing the loop actions, and closing the browser. The beauty of AutoIt is you can specify specific windows and control classes via handles to act on ensuring accuracy. On top of that it also gives you full control over window properties to ensure the accuracy of coordinates for mouse actions. I could then instantly enter text wherever I wanted as well as click anywhere without counting tabs to get to other boxes. The coding then was more or less reduced to doing a single manual run of the loop and translating it into the language’s functions. I do wish AutoIt was designed more with web automation in mind as waiting arbitrary constant delay after each page load seems like such a poor solution to me. I realize there are better languages for this job, but AutoIt scripts are incredibly easy to hack together and general to any application. That’s why I love it.
As my friends who don’t read my blog know this past week was the start of my new job at P&E Microcomputer Systems. Gone are the days of meager hourly wages, awkward hours, and in person service work for me. This is my first real big boy job with the responsibilities, the salary, and the benefits that go along with it. That’s not to say that all those years I spent working at a Starbucks was not a humbling, rewarding, and valuable experience for me. However, I’m glad it’s over and I’ll keep the lessons learned from it for as long as I live.
Back to subject at hand though, this was my first week of my new life and I somehow managed to survive to tell the story. Never having worked an office job I wasn’t sure what to expect at all. My knowledge of office culture is based on my careful study of the TV show “The Office”. That said, I put together my best outfit and headed out a good hour and a half early like the good newbie I was. After all Murphy’s Law states my first day is most likely going to be the day the bus breaks down in a construction zone. I ended up arriving in the vicinity of the office over an hour before 9. Had to kill time at the local Starbucks reading the day’s Globe so I can arrive at a more reasonable time. I walk in around 8:45 only to find most everyone had not arrived yet. I later learned that most people get there sometime between 9:30-10 and leave closer to 6 than 5. There were a few people there though to give me my first task: Assemble your computer and desk chair. Which I was happy to do. Just seeing that desk and those boxes though made me start to really think how big of an investment employing a single person is for a company. Not only compensation, but all the overhead costs of accommodating that worker’s productivity. Didn’t know it at the time but that Dell box had an 8-core i7, 16GB of RAM, dedicated graphics, and huge HDD. Way better than any computer I’ve ever owned, but I suppose it’s better for a business to invest in something that will last than something that will constantly be replaced. The rest of the morning was basically setting up my computer, meeting everybody, and doing paperwork.
The second half of my first day was spent getting me up to speed on what I will be working on. My job was to place and route the second revision of an existing product for release in the coming months. First impression: “This is impossible, I don’t know how to do this.” Senior design was my only experience in designing a PCB, we had a much larger board, and I wasn’t even directly responsible for doing the place and route. Thankfully I took the time to learn the skill and software during senior design, the rest is all up to experience which I hope to gain in the coming weeks. After only just this week though, I’ve become fairly confident that I can not only do this but that it’s not going to be that hard. Though this isn’t a software task, I’m glad that it was entrusted to me. It’s good to know my hardware background is going to be put to good use.
So far, I’m really enjoying the working life. Engineering is just one of those careers where you can really do what you love and be well compensated for it. I’m finally given the opportunity to put my skills to real use in real products, and it’s extremely rewarding passing through every little milestone. I like that there’s nobody breathing down my shoulder all the time and that people trust me to do my job starting from day one. I like being surrounded by incredibly smart and challenging people to learn from and aspire to. For once in my life, I feel like I’ve found a place where I really belong. Dare I say that I’m excited to see what I can accomplish in the future?