Posted by Danielle Goodman
Skyhook has been inventing new uses of location data since 2003, and we continually work on collecting the locations of billions of new Wi-Fi access points worldwide to build the infrastructure and software to deliver this information. Our organization is fueled by our engineering team and their passion for building disruptive technology. Skyhook has an eclectic mix of mathematicians, code gurus and inventors who are driven to make a huge dent in the universe. In reflecting on this last year, we are excited to be growing so rapidly and looking to what the future will bring with our new suite of context products.
We sat down with one of our Senior Software Engineers, Peter Connolly, who works to develop the next-generation of disruptive technologies at Skyhook. We asked him to comment on his past experience so up and coming engineers can learn from his career path - and help advise them when looking for their dream software engineering position.
Not long after getting out of college I learned that there is usually someone who knows more than I do about any topic. It is a humbling experience, but it's a great learning opportunity to work with these people.
I'm not sure I've had a single best moment. There have been a few times in my career when a new product launches and I reflect on the hundreds of millions of devices and the billions of dollars that change hands every day in part due to my code.
There are a ton of books about a specific technology that provide an api and give you simple examples on how to use the tool. These books seem to be a dime a dozen and often times its really just changing from one api to another to accomplish similar tasks (e.g. the java and c# apis are really similar). Read the amazon reviews for the best of these, IMO.
There are, however, a handful of books that have forever changed the way I write code:
My position is the right fit if at the end of the day I am both exhausted and excited. Exhausted by being in the zone coding all day, but excited by how much value I have created to the company.
I think engineers that can see the big picture are a rare asset to any company. How does your code impact the business? Instead of blindly writing the code the business asks you to write, you dig deeper and understand the requirements. Perhaps there is an alternative solution you could propose to meet the requirements in half the time?
I look for someone who is:
Personally, I think the technologies that a developer knows is secondary to how good of a programmer they are. I think a mastery of the fundamentals is essential and any good developer could pick up a new language/technology in a couple days/weeks. Object oriented coding and design patterns are a must to any software engineering job. I expect you to know at least one compiled language (e.g. java, c++, etc) and also one script language (e.g. perl, ksh) and have some familiarity with sql. If you aren't familiar with linux then I'm not likely to take you seriously. I would argue that many tasks could be done significantly faster on *nix (compared to windows) if you know the commands. If you are making software your career isn't it worth spending 10 hours up front to make the next 40 years of your life 10% more efficient?
Software engineering has one of the lowest barriers of entry of any engineering field. If you want to work in a particular technology you can usually find free resources online and get experience with it. When you write that cover letter or interview for your dream job you can confidently tell the employer how you would help them solve business problems instead of spending months learning the technology.
Peter has been a software developer with Skyhook since 2012. He graduated from WPI with a bachelor's degree in Computer Science. When he's not immersed in pushing big data around using java, hadoop and sql he can be found spending time with his family or playing volleyball.