Today one of the software application engineers announced that Friday would be his last day. This guy is ridiculously smart. He went to Cornell University to get his masters in astrophysics. He is not just smart at computer stuff, he also tries to be well rounded by taking martial arts classes at the university rec center, and knows all about fixing cars!
Anyway, my point is that he is someone I would like to emulate. He is leaving our humble little company to work head up a team at Samsung. Part of the reason I like my current job is because I WAS surrounded by 4 very smart and experienced software engineers who I could learn from. Now that one of them is going, I fear that ALL of them will start thinking about going. So his announcement that he would be leaving at the end of the week really shook my world.
I also wondered about my abilities as a software engineer. Will I ever be good enough to have a head hunter call me and interview me to lead a team at a multi-national, multi-BILLION dollar company.
On a car ride from lunch, I once asked him what I could do to become a stronger programmer. He said: "Code a lot. Even when you're at home. Write thousands of lines of code, and you will get better. In my free time I work on little side projects." He paused for a second and said: "But it's probably too late for you, because you're a little bit old to get started. It takes 10000 hours of practice to become a master at anything." At that time I thought to myself: "I guess I don't want to be an elite engineer.... just a decent one..."
Now I pause and reconsider. Maybe I DO want to be an ELITE engineer. After all, only elite engineers get into the "cool" companies right? Only the elite engineers get to work on the fun projects right? The mediocre engineers get stuck as a peon in a company with no future for advancement. I don't want to be left in the technological dust.
So, I'm going to set out a few goals to improve my technical skills. I'm not just talking about programming skills! I'm talking about all around engineering skills.
1. Read my friend's Electric Circuits text book by James W. Nilsson and Susan A. Riedel. As an embedded software engineer, a general understanding of electrical engineering could help me see the bigger picture. Remember, embedded software engineers work with pins, bits, resistors, analog-digital converters and etc. So simply knowing how to program sometimes isn't enough.
2. Design a pet project, and work on it for at least 30 minutes a day. This pet project should be something related to desktop applications. I don't get to code enough at work. And I don't have enough experience in developing desktop applications to make me a flexible engineer.
3. WORK OUT! A healthy body is a healthy mind right?
The only problem is.... I have no idea what kind of pet project I should be doing. I'm not very creative in the technological sense. If someone has an idea, I'd love to hear it!
No comments:
Post a Comment