I had a lightbulb go off in my head last night. I know what my first pet project will be! I'm going to write a task-list application.
Right now I'm only mulling over one stupid technical detail. What is the smartest way to implement the task list and the tasks that will populate the list? Should it be an object oriented design? Should I have it interface with a database backend? Should it just be a text file that gets parsed and is then properly displayed???
How do existing task lists do it?? Argh~ I feel so inept.
Thursday, March 10, 2011
Wednesday, March 9, 2011
Pet Project #1
I talked to some of the tinkerers at work today. These are guys who like to tinker at home on personal projects. I asked them for project ideas to help improve my programming. One of them said, "Just write something! Anything! How about something to track your baby's weight and growth?"
I said: "Isn't that what excel is for??"
He said: "That's not the point! The point is to write something YOURSELF, so you can get practice."
Me: "Oh.... I get it..."
So today I downloaded the Java programming language, the Android SDK, and Eclipse IDE. My first pet project is to make some type of simple Android App. I don't care if it's already been made! My goal is to get practice!
My only comment is: Man! The Android SDK is HUGE!
I said: "Isn't that what excel is for??"
He said: "That's not the point! The point is to write something YOURSELF, so you can get practice."
Me: "Oh.... I get it..."
So today I downloaded the Java programming language, the Android SDK, and Eclipse IDE. My first pet project is to make some type of simple Android App. I don't care if it's already been made! My goal is to get practice!
My only comment is: Man! The Android SDK is HUGE!
Tuesday, March 8, 2011
Technological Dust
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!
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!
Sunday, March 6, 2011
Career Aspirations
At my company, I accrue 3 weeks worth of paid time off a year. This is a lot of vacation time! My manager is also very good and allows us to TAKE our vacation.
I just came back from a 1 week trip to Hawaii. Sadly this trip came right on the heels of my negative performance review. This review really hung over my head during this trip. I think a point that really stung from my review was my manager saying "Because you're still an inexperienced programmer, you didn't design for all the cases in your code." I spent quite a few moments mulling over what this review means, thinking over what my work ethic is and trying to pinpoint what I want in my career and taking stock of my skill-set.
As a white collar worker, I am stuck in this position: I can be assigned exciting projects that challenge me to grow but that are loaded with pressure and stress. Or I can be assigned boring projects, that have little pressure but makes me unmotivated to work.
Ultimately, I want to be respected by my peers for my technical skills and my professional attitude. But I don't want projects that keep me up at night and cause my nightmares. Like I said before, I really want to leave work at work. That way I can focus on my family when I get home.
But what kind of engineer would I be if I never grew my technical skillset and shied away from hard projects? Maybe I should embrace boring projects at work, and work on expanding my technical skills on my own free time? Is it realistic to think that I will never be assigned a "hard projects?" Maybe I shouldn't be an engineer? Maybe I should try to start a side business.
I really don't know the answer. These are just some thoughts.
I just came back from a 1 week trip to Hawaii. Sadly this trip came right on the heels of my negative performance review. This review really hung over my head during this trip. I think a point that really stung from my review was my manager saying "Because you're still an inexperienced programmer, you didn't design for all the cases in your code." I spent quite a few moments mulling over what this review means, thinking over what my work ethic is and trying to pinpoint what I want in my career and taking stock of my skill-set.
As a white collar worker, I am stuck in this position: I can be assigned exciting projects that challenge me to grow but that are loaded with pressure and stress. Or I can be assigned boring projects, that have little pressure but makes me unmotivated to work.
Ultimately, I want to be respected by my peers for my technical skills and my professional attitude. But I don't want projects that keep me up at night and cause my nightmares. Like I said before, I really want to leave work at work. That way I can focus on my family when I get home.
But what kind of engineer would I be if I never grew my technical skillset and shied away from hard projects? Maybe I should embrace boring projects at work, and work on expanding my technical skills on my own free time? Is it realistic to think that I will never be assigned a "hard projects?" Maybe I shouldn't be an engineer? Maybe I should try to start a side business.
I really don't know the answer. These are just some thoughts.
Subscribe to:
Posts (Atom)