Computer Science Starting Salaries

According to this recent article (Canadian HR Reporter), the high starting salaries are still in fields related to software and other fields of engineering.

The careers with the highest starting salaries for graduates with a bachelor’s degree in the United States are software engineering ($71,666) (all numbers US$), industrial engineering ($62,245), chemical engineering ($57,500), electrical/electronic engineering ($57,145), and computer science ($55,664), according to the Employers Resource Association (ERA).

If you’re going to spend outrageous sums of money on college, make it count. (But don’t go into software because you think you’ll make a lot of money. If you don’t love it, you’ll hate it.)

Interview Advice

I’ve been on countless interviews, and I’ve learned a few things along the way. I don’t consider myself an expert by any means, but I’ve learned how to interview well. It took a while to figure it out, but I’ve learned that interviewing isn’t difficult. On the contrary, if you are focused and willing to view the process as a potentially fun learning experience, interviews can be great experiences.

I was astonished to read this article on CNBC: Managers to Millenials: Job Interview No Time to Text:

Human resource professionals say they’ve seen recent college grads text or take calls in interviews, dress inappropriately, use slang or overly casual language, and exhibit other oddball behavior.

“It’s behavior that may be completely appropriate outside the interview,” says Jaime Fall, vice president of the HR Policy Association. “The interview is still a traditional environment.”

Oh my! If you are texting or taking a phone call during a job interview, you have MUCH to learn. My hope is that such an occurrence is rare. Having been on both sides of the interview table, if I saw someone read a text message I would probably inquire as to the reason. I’ve never had this happen. Perhaps there is a family emergency.

I once went into a job interview very near my wife’s due date. I explained up front that my wife and I had an agreement: If my phone buzzes twice in a row and it is her, I have to take it. “My wife is going into labor,” is a perfectly fine reason to take a call in an interview. I can think of a few other reasons that necessitate taking a call or text during an interview, but only a few. (My wife, thankfully, did not go into labor during that interview. And yes, I did get the job.)

I love interviewing. I mean it: I enjoy going on a job interview! That sounds strange to some, I know. I look at it this way: Either I’ll get a job offer or I won’t. In either case, I am meeting new people and making contacts–and, whatever the outcome, I am becoming a better interviewee. As a child I was a very shy kid–scared to death of talking to people. Perhaps I’m making up for lost time, but talking to people–getting to know new people–is fun.

So here is my list of tips: Continue reading

Sonicwall Netextender VPN Strangeness – MacOS

If you get the following strange message when attempting to connect to the VPN using Sonicwall Netextender on MacOS:

FATAL: An immediately fatal error of some kind occurred, such as an essential system call failing, or running out of virtual memory. (1)

…Take a look at the permissions in /etc/ppp. Something mysteriously changed mine, removing r+w from all the files in that path. If the group cannot write to these files, Sonicwall can’t do its thing. This little problem took me forever to find, as I don’t generally expect file permissions to randomly change. I’m still perplexed as to what caused the change, but I did run CCleaner the other night, right before this happened. Hmm…

YouTube to MP3

MediaHuman: YouTube to MP3I’ve gotta plug this tool: MediaHuman Youtube to MP3. A while back a friend sent me a link to a video of this guy, Shakey Graves, playing a song called Late July. I immediately loved the song, as well as all the other Shakey Graves songs I found on YouTube, and I purchased both of the albums that the artist has for sale. He is a fantastic guitarist, singer, and songwriter.

I was disappointed, however, that I could not find some of the versions that appear on YouTube. The YouTube to MP3 coverter (free), works on both Mac and Windows, and makes it extremely easy to convert the audio from a video to an MP3. It even ignores the ads (if an add appears before the video). Now I am happily listening to all of the great music Shakey Graves has available. “Mr. Graves,” if you’re reading this, I welcome the opportunity to buy all of your music!


Shakey Graves

SDJ Article

Screen Shot 2013-04-17 at 12.39.09 PMIt is a thrill and an honor to have an article published in a journal, especially Software Developer’s Journal. This is the second time I have had such an honor. My article, Do Not Flounder, appears in the June, 2013 issue.

“Do not flounder!” by Matthew Rupert will surely leave all software engineers entertained and intrigued”

The print edition is soon to come, and I’ll scan and include my article here. I just received a pdf copy of the issue today. It is a subscription-only publication, so unfortunately there is no link to share. Many thanks to the folks at SDJ for making this happen!

Software Developer’s Journal
SDJ: Do Not Flounder, June 2013

Do Not Flounder (Stay Un-bored)

The following is an article that I am working on for a yet-to-be-determined publication. Having done this before, I will say that getting an article published in a journal/magazine isn’t as difficult as one may think (as long as you have something to say). This hasn’t been proofed, so please forgive any typos or errors. This article is not about the role of management. I would like to follow up on that subject, because I do think management can and should help to produce great software engineers. I’ve seen otherwise good programmers flounder under lacking management. It happens. This article is about the role of the developer, the individual contributor, in making sure that his or her career starts of right and continues to grow.
One ore note: The original version of this post was written in about 2 hours and was full of errors. I’ve applied a number of corrections, but it will likely be further edited before publication.

I have no idea whether or not most developers using Agile have actually read the “Agile Manifesto.” Here it is:

We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more.

This post is more about career growth than Agile, but somehow I think the Agile approach is relevant here. Agile, as we know it, is an approach to software design. It can also be an approach to managing one’s own career.

Floundering

A friend of mine recently said this: “Your attitude determines your altitude.” Although he was speaking in a general sense, I couldn’t help but think of the application of this motivational advice in relation to software engineering. It is relevant because as software engineers, our career growth is in our hands—perhaps to a greater degree than in any other field. Continue reading

Java “Losing its Mojo?” I Think Not!

Wired has an article titled Is Java Losing Its Mojo? While the article seems to contradict itself in some ways, I have to take issue with the general theme. As someone who pays attention, I simply haven’t seen this happening. On the contrary–It seems to me that Java continues to grow. Just peruse the job boards. Continue reading

Exercise Boosts Productivity

Software engineers aren’t the only ones who spend much of the day sitting. But we certainly do a lot of it. This is just one case, but I can certainly attest to this: Being physically fit absolutely helps with focus and productivity at work. Continue reading

Doctor Mac

Grandpa MacMy grandfather was, in a number of ways, larger than life. He was physically large–a massive man with a huge belly and equally huge appetite (an appetite which I seem to have inherited, and battle by running). His involvement in the lives of many people was even larger–He was very well respected by the folks of Terre Haute, Indiana. His life story is fascinating, and I love to hear my mother relay stories about him. He is a man whose generosity superseded any kind of budgetary sense, and from what I know, he often helped people for free, and sometimes based payment on the result of a coin toss (HMO’s be damned, he was a doctor who wanted to help people). People listened to him–he was the doctor, and if one questioned his judgment, he wasn’t afraid to speak his mind. Continue reading

Let Developers Choose Their Keyboards

IBM XT KeyboardReading the Google workplace article a while back, it struck me that what works at Google likely doesn’t work in most workplaces (for a number of reasons). Cost, physical work environment, supported platforms, workplace culture–all of these are reasonable barriers to allowing employees choose their work environment.

As I type on my home computer, using my Mac wireless keyboard and and “Magic Trackpad,” I can’t help but think of how much I actually enjoy typing on this keyboard and using the trackpad. Fortunately, I have the same setup at work, and if I did not, I would probably bring in my own keyboard and mouse… In fact, I have done just that in the past. Continue reading

The Planets Song

What does this song have to do with work? Nothing! But also, everything!

Not long ago my oldest daughter was learning about the planets. She had to memorize them in order staring with Mercury and ending with Neptune (and I still can’t help but want to stick Pluto in there–we all have some form of inner Luddite). I didn’t realize that I had forgotten the order of the planets myself–at least its not something I’d thought about in a while. Because my daughters are in 3rd and 1st grade, they still think I know everything, so not wanting to admit that I couldn’t rattle off all of the planets in order, we went to Youtube to see if we could find a song to help… We found The Planets Song. Continue reading

Demultiplexer with Arduino

demultiplexerAfter my (somewhat failed) Charlieplexing experiment, I ordered a 3-8 line decoder (demultiplexer) to attempt an 8 bit LED counter in a much easier way. At some point I am wanting to created an LED matrix board, and this will require at least 32 LEDs.

Unfortunately, the demultiplexer I ordered is an inverting demultiplexer. This wasn’t obvious on the product page, but so be it… Its not a major problem, since I want to drive LEDs with it–I can simply have the cathode side go to the demultiplexer (by default, it only sends low when the input lines indicate which output to select–all others are H–kind of the inverse of what one might think) and anode end to 5vcc from the Arduino (and put a resistor on that end). Its important to also connect the control lines, and I just connected them as per the datasheet: In the case of this part (IC74HC138-2), the control lines (G2A, G2B and G1) must be set to L, L, H. To disable all (and by disable I mean set all outputs to high, since this is an inverting demultiplexer–yes, my eyes went crossed too). Continue reading