Tag: Magnet Forensics

Charity Water – Weekly Article Dump

My 24th Birthday Wish - Charity: Water

Charity Water

We have a lot of pretty awesome people at Magnet Forensics, and every day I’m reminded just how awesome. A colleague of mine, Danielle Braun, had what I thought was an incredible idea for her birthday. For Danielle’s birthday, she’s not asking for more new clothes, for her parents to get her a car, for help with paying off tuition, or for some new fancy tech gadgets. But she’s not asking for nothing. Danielle is asking for your support with Charity: Water this year.

Charity: Water is a non-profit organization with the goal of bringing clean water to people in developing nations that don’t have access to it. Reading their mission page probably opens your eyes a fair bit about the lack of access to drinking water in other countries. They’re not about some complex and elaborate plan to revolutionize access to clean drinking water. However, they do have a simple and straight forward approach. Donate a little bit of money and they can install wells, rain catchments, and filters in areas without access to clean water. Your small contribution can make a huge impact on other peoples’ lives.

Please consider helping Danielle out with her goal of raising money for clean drinking water. A little bit goes a long way with Charity: Water.

Articles

  • Guest Post: 7 Deadly Sins: How to Successfully “Cross The Chasm” By Avoiding These Mistakes: In Geoffrey Moore’s article, we get to revisit some of the great learnings in Crossing the Chasm. If you haven’t read the book, although it’s a bit old now, it’s still a solid read. This post was a great reminder of a lot of the things the book talks about. It’s important to know where your business sits in the chasm model so that you know what you should be focusing on. Too many companies focus on the right things at the wrong times and have terrible missteps. Check it out (and the original book too)!
  • Holiday Gifts EVERY Employee Secretly Wants: Dharmesh Shah is a guy who always seems to have an awesome perspective to share. There are a few things that despite someone’s level of performance, length of employment, or amount of skill should be deserved.  Often these are overlooked either by grumpy managers or because perhaps the person may not have been a top performer. In Dharmesh’s opinion, that shouldn’t be a factor. The holidays are a perfect time to remind ourselves to recognize all of our employees’ accomplishments and treat them with respect. If you aren’t already, maybe this article is the little wake-up call you need.
  • 6 Things Really Thoughtful Leaders Do: Nothing groundbreaking here, but like the article says, this time of year is great for reflecting. Do you consider yourself a thoughtful leader? Do you observe the people around you, how they interact, and how things are flowing at work? Do you take the time to reflect on things you’ve done, how you’ve acted, or even how employees may have improved in areas you’ve discussed with them? There’s a handful of great reminders in this article that I would suggest you check out!
  • 14 Code Refactoring smells you can easily sense and What you can do about it?:  This week’s first programming article! Except… Well… This one is about the management side of programming. How do you know if your software team’s code is in a real stinky spot? This doesn’t necessarily mean your developers write bad code. It could just mean that you need to hit the brakes a bit and go revisit some problem areas in the code. This article talks about some of the warning signs.
  • What Makes A Good Manager? 7 Things To Ask Before You Promote: Does it make sense to give anyone you’re promoting a management position? Probably not. Seems obvious when you ask it like that, right? The unfortunate truth is that a lot of companies take the simple path and for anyone they want to promote, they throw a management position their way. Some people just don’t make great managers. This article talks about the qualities you want to look for in managers. Maybe the person you’re looking to promote won’t make a good manager *now*, but if it’s something they can put time and effort into building the skills and experience towards, it could still happen.
  • 10 Major Causes for Failure in Leadership: While lists of things to do are always nice, having a list of things to definitely not do is also helpful. Here’s one of them. Some of the leadership-don’ts I liked on this list were being too good to serve your followers, using your “authority”, and fear of competition. I think those are a few that are easy for people to forget, and there at the top of my list of leadership-don’ts. Read some more great points in the article!

Please take some time to help Danielle out with her goal. Any contribution helps. Remember to follow Dev Leader on social media outlets to get these updates through the week. Thanks!

Nick Cosentino – LinkedIn
Nick Cosentino – Twitter
Dev Leader – Facebook
Dev Leader – Google+
Nick’s CodeProject Articles


Movember Wrap-up – Weekly Article Dump

Movember Wrap-up - Weekly Article Dump

Movember Wrap-up

At the start of December, it’s time for a lot of us to shave off our glorious Movember badges from our upper lips. This year, MoMagnets did an absolutely amazing job raising money for Movember. At the time of writing, we’re sitting at just under $2400! An incredible effort by Magnet Forensics and all of those that helped with their generous contributions.

My ‘stache didn’t quite get to where I wanted to this year. It was close, but it was another connector-less Movember for me. I was almost able to get some twisting done for some not-so-legitimate connectors. Oh well… Here’s what I ended up rocking for most of the month:

Movember Wrap-up - Nick's Final 'Stache

My final Movember creation: The Anti-Connector.

Matt Chang definitely took the lead for raising the most of all the MoMagnets members at over $700! Mica Sadler is sitting in second at just under $400. That’s nearly half the team’s total between these two beauties. We also had a very gracious contribution from our CEO that I wanted to call out. Thanks so much, Adam!

There’s still a bit of time left before donations are closed for the 2013 Movember season. We have until the 9th to get some final contributions in! If you’re feeling generous, please visit our team page and make a contribution. Every little bit helps, and we greatly appreciate it!

Articles

  • Top 5 Reasons People Love Their Jobs and How You Can Love Yours, Too: Some great points on why people love their jobs. Some of these may be pretty obvious, but it’s important to be reminded about what keeps people engaged. Among the top things: the work culture, the amazing people you get to work with, and autonomy. If you’re trying to create an awesome place to work (or if you’re looking for an awesome place to work) then these are probably things you’ll want to focus on!
  • 5 Things Zapping Your Company’s Productivity: Ilya Pozin always has some interesting articles. This article takes the perspective that some of the fancy perks or awesome processes you have in place may actually be hindering productivity. One common theme that was brought up under two separate points in this article is that sometimes people need a spot where they can work in peace. People like having an fun collaborative culture, but many personality types require some quiet time in order to buckle down.
  • Reduce Your Stress in 2 Minutes a Day: I’m not the type of person that truly believes doing one tiny thing for only a moment every day is going to have an enormous positive impact on your life. However, I do think that if you can take the time to try and do a few little things here and there, that overtime, you’re likely to have more a positive outlook. In this article, Greg McKeown shares a few tips on relaxing and trying to regain some focus. I don’t think it’s anything that’s going to be life-changing, but it never hurts to think about different ways to catch your breath.
  • Building a fast-failure-friendly firm: This was a pretty cool series of slides put together by Eric Tachibana that I thought was worth sharing. There are lot’s of articles on failing and why it’s important–especially for innovating. This series of slides provides a high level perspective on how you can approach failing… the right way!
  • Code Smells – Issue Number 3: This is an article I wrote about Code Smells. This entry talks about the use of exception handlers to guide logical flow in your code and alternatives for when your class hierarchy starts to get too many very light weight classes. As always, I’d love to get your feedback. If you have other code smells, or a different perspective on the ones that I’ve posted, please share them in the comments!
  • 5 Bad Thoughts That Will Throw You Off Track: This short little list is worth a quick read through. There are a ton of things that distract us every day, but the distractions you can easily control are the ones that you cause. Examples? Don’t take on too much at once. Don’t try to make every little thing you do perfect. It’s a quick read, but well worth the reminder!
  • Not Crying Over Old Code: Another programming article for this week. As the article says, the common meme for programming is that your old code is always bad code. However, there should be a point in your programming career where old code isn’t bad, it’s just different than how you might have approached it now. If your always experiencing your old code being bad, then maybe you’re not actually that great at programming yet! Or… maybe you’re just too damn picky.
  • Things I Wish Someone Had Told Me When I Was Learning How to Code: This article by Cecily Carver is something I’ve been hoping to come across for a while now. It’s another programming article–a good read for experienced programmers but incredibly important for newbies to check out. Cecily covers some of the roadblocks you experience early on, like code never (almost never) working the first time, or things you experience throughout your programming career, like always being told of a “better” alternative. I highly recommend you read through this if you dabble in programming, or if you’ve ever considered it.

Please visit our team page for MoMagnets and make a Movember contribution if you’re able to! Remember to follow Dev Leader on social media outlets to get these updates through the week. Thanks!

Nick Cosentino – LinkedIn
Nick Cosentino – Twitter
Dev Leader – Facebook
Dev Leader – Google+
Nick’s CodeProject Articles


Deloitte Companies to Watch – Weekly Article Dump

Deloitte Companies to Watch - Weekly Article Dump

Deloitte Companies to Watch

Another impressive accolade for Magnet Forensics! Deloitte has placed Magnet on their top 10 companies to watch list! To qualify for the list, the companies need to be operating for less than five years, be based out of Canada, and put a large portion of their revenue to generating intellectual property. Our CEO, Adam Belsher, had this to say about the award:

“We are honoured to be named one of Deloitte’s Companies-to-Watch. This award recognizes the hard work and dedication of our team. We’re thankful for the success we’ve achieved, and we’re incredibly proud to be contributing to the important work done by our customers who use our solutions to fight crime, enhance public safety, protect companies from fraud and theft, and ensure workplace safety and respect for their employees.”

Magnet Forensics Press & Events

The event was put together very well. It was great to be able to interact with individuals from the other companies and share success stories. I even had a chance to meet up with Stephen Lake of Thalmic Labs and have a good chat with him. I’m going to name-drop him everywhere I go because he’s my old university room/house mate! He also happens to be a incredible person that if you have the chance to meet, you absolutely should. Here’s some coverage on twitter of us talking with our founder Jad Saliba:

We enjoyed the whole night, and we were grateful for Deloitte putting on the event. The entire Magnet team is very proud of our achievements.

Articles

  • What comes first: employee engagement or great work?: A short but interesting article on employee engagement. The author claims that most employees probably start of at their position very motivated and engaged. Over time, an employees engagement drops if their leaders are not proactive in keeping their engagement levels up. By proactively acknowledging the success of your employees, you can keep your team engaged and producing great work.
  • Great Leadership Starts and Ends with This: Jeff Haden put together this quick little article about an answer an audience member gave about what the key to leading people is. Caring. Overly simplified? Well, the individual went on to say that regardless of all of your strategies, plans, and experience, if you can’t prove that you truly care about your team then they aren’t going to buy in. I’m never one to buy into something so absolute, but the takeaway for me is that team members cannot be looked at entirely as resources. Sure, the people on your team affect productivity and in that sense are resources, but forgetting to acknowledge the human side of things is a recipe for failure.
  • 9 Ways to Win Employee Trust: In his article, Geoffrey James put together a great list of nine things to help build trust with your team. I wouldn’t say these are groundbreaking things, but it’s important to be reminded about them. Try reflecting on his list and seeing if you actually do the things you think you do. You might be surprised. Some of the top things on the list for me are ensuring employees’ success is number one on your priorities, listen more than you talk, and walk the walk. Great list!
  • Lambdas: An Example in Refactoring Code: I put out this programming article earlier this week and had some great feedback. In this article, I talk about a real world example of how using lambda expressions in C# really helped when refactoring a piece of code. Some people have never heard of lambdas, and some people seem to hate them. In this case for me, it greatly simplified a set of code and reduced a bunch of extra classes. I definitely owe it to myself to start investigating them a little bit more.
  • Executive Coaching: Bringing Out Greater Leadership: This article is all about taking charge with your leadership. Judith Sherven talks about executive coaching for leaders, but the main points I see in here are around confidence. If you aren’t confident in your ability to lead, motivate, and inspire how can you expect anyone else to be? It ends up becoming a tough balance, because you need to listen and take feedback from your team, but when you make decisions you should do so with confidence.
  • Stop Worrying About Making the Right Decision: Ever heard of paralysis by analysis? This article does a great job of explaining why you shouldn’t let that creep in to your leadership approach. It’s important to make good decisions–there’s no doubt about that. But the reality is that no matter what decision you make, there are certain unknowns that can creep in and potentially have a huge effect on the choices you’ve made. So what’s more important: making the perfect decision, or being able to adapt effectively?
  • Appraising Performance Appraisal: Steven Sinofsky‘s article is a bit of a beast, but it’s a great starting point if you’re reconsidering performance appraisals. Even if you’re totally content with your performance review system, it might be worth reading to spark some ideas. Steven does a great job of pointing out some common pitfalls of typical performance appraisal systems and comments on some things you really need to try and understand before sticking to any one system. I’m not well enough versed in the performance review and/or human resources side of things, but this article certainly has enough to get you questioning the common approaches.
  • Tab Fragment Tutorial: Shameless plug for my Android application that I put out on the Google Play store. It’s the end result of the tutorial I wrote up over here. I think it’s going to blow past my legitimate application for converting units!
  • Does a Good Leader Have To Be Tough?: Deepak Chopra has some seriously great articles. In this article, he analyzes the pros and cons of being a “tough” leader. In short, there are positive takeaways from being a tough leader, but there are a lot of negative aspects to it. Deepak suggests you consider a different approach from tough-soft leadership. By focusing on a hierarchy of needs to be a successful leader, toughness is only one aspect of leadership. A pretty solid read, like all of Deepak’s articles.

Remember to follow Dev Leader on social media outlets to get these updates through the week.

Nick Cosentino – LinkedIn
Nick Cosentino – Twitter
Dev Leader – Facebook
Dev Leader – Google+
Nick’s CodeProject Articles


Matt Chang – Team Magnet Recognition

Matt Chang - Team Magnet Recognition

Matt “Chang-a-rang” Chang

If you saw this post, then the face above is no new face to you. You’re familiar with that beautiful ‘stache already. Okay, so I’m being a little misleading… Matt Chang doesn’t walk around with that glorious caterpillar on his face all year round. We’re working on that though.

You’re likely wondering why I’m putting incredible pictures of Matt Chang on the web and why I’m even writing this. Previously I mentioned that I want to start recognizing the people I work with when I feel that they’re going above and beyond. I did this with Cam Sapp not too long ago, and I plan to keep doing it for all of the great people I work with. There are a million ways to recognize someone, whether it be in team meetings, personally, or by doing what I’m doing right now. I hope he finds it at least mildly embarrassing, and I hope you get to realize just how important Matt Chang is to Team Magnet.

The Origins of The Chang

It must have been just under a year ago now when we were going out to recruit, if my calculations are correct. Based on the density of moustache growth that was on Matt Chang’s face, it must have been pretty late into M/November. We had an instantaneous bonding moment when Chang, my colleague Tayfun, and I stood at our Magnet Forensics booth and introduced ourselves–With our mighty ‘staches. It just goes to show you that we were all on the same page when we made the conscious decision to  leave our nose sweaters on when going to a public event. Needless to say, our conversations with Chang went great, and he was definitely our top candidate for the position based on everything we had heard from him.

In the early days, having Matt on board with us didn’t affect my day-to-day all that much. If there were customer questions/concerns coming in, he wouldn’t necessarily be able to answer them because he was brand new to the product. Completely expected. The only difference in my work was that now I’d periodically chat with a ‘stacheless Chang about potential bugs or customer questions. (I’ll get to the good stuff a bit later, hold your horses).

Aside from work, Matt Chang was a great addition to the Magnet culture. He’s one of our pro-star soccer players, and even the sales and marketing side of the office like him! They’re a tough crowd too, so that really means something. Whether it’s because it’s required by his job or just because he’s an awesome dude, Chang is incredibly approachable and easy to get along with. Simply put, he was a damn steal for us.

Above and Beyond

So now you know a bit about Matt Chang. Pretty sweet guy, right? No doubt. So what’s actually so good about Chang (aside from being able to grow a beauty ‘stache and being a great team player)?

Chang is our front line tech support guy. It’s probably the toughest position we have at Magnet. For anyone that knows me on a personal level, I get over the top sarcastic when I’m frustrated (actually, I’m almost always sarcastic). And sometimes I find it hard not to get frustrated when I hear things aren’t going right for the customer. Whether it’s actually a fault of our own or if the customer has misunderstood some instructions that were provided to them, it gets me pretty riled up. “We must be geniuses if we let that slip by us” and phrases like that are things I’ll mutter under my breath. It’s not positive thinking, but I’m working on it. Of course, I know just who to learn from.

Matt Chang always keeps his cool. Not only is he servicing customers all day, he has to put up with the development team’s crap. He does such an incredible job of it though, which is why I have to call him out. No matter how much effort he has to put into a customer support ticket (even if it’s a really small issue that the customer just really needs help with) he’s calm, collected, and gets them what they need. On the customer side of things, Matt Chang does an excellent job of ensuring that the customer is happy when they’re done talking with him.

That same Matt Chang is also a blessing from the developers’ perspective too. Before having Chang on board, and even in his early days when he was getting on board and learning our products, there would be a lot of back-and-forth with customers. If a support ticket came in, we’d have a lot to figure out. What was the customer seeing? Did they have debug logging on by chance or was there a crash log? Was it reproducible? Did they actually put their license for the product in the right spot? The questions would go on, but of course, Chang would take care of the customer in the end. At this point, Chang is an absolute super star. When he comes up to me to ask about a support issue, he’s already collected the information he needs. Sometimes, he’ll give me a heads up and tell me that he’s already getting the information I’d require, and he’d offer up what he thinks is happening. Hell, at this point in time, Matt Chang will go directly to the person who worked on the feature or previous bug fix to get even more information. He’s quick to get developers the information they need to debug a problem, and that’s absolutely awesome for us.

Tech support used to be invasive for the developers, but it was always handled reasonably well for the customers. Chang has taken it up a notch on both ends and made it relatively pain free for developers to help or look into issues while customers are kept quite pleased with the responses.

Wrappin’ It Up

We’ve received praise from our customers for a long time now that our product, Internet Evidence Finder, makes a big difference in investigations. It’s always amazing to hear that we’re having a positive impact. A more recent trend is that people are raving about our tech support, and there’s no doubt in my mind it’s because Matt Chang delivers the experience they want. Plenty of companies have cool software or software that has a positive impact, but few have superstar customer support to back them.

We knew Chang was going to be awesome from the day we met him, and he hasn’t let us down once. Thanks for being an awesome addition to Team Magnet, Matt. You hold the bar high, always deliver, and do a kick-ass job around the clock. Our hats are off to you.


Quality & Agility in Software: Session With Paul Carvalho

Quality & Agility in Software: Session With Paul Carvalho

Quality And Agility

Last week, at Magnet Forensics we were fortunate enough to have a very talented quality expert come in and talk to us. Paul Carvalho was able to bring a great deal of information, perspective, and activities to our development team that truly proved to be an eye opener. We were all extremely excited to get to sit down and hear what Paul had to say.

There’s lots to read about Paul over at his STAQS site, but I’ll re-iterate some of it here. Paul has held many roles when it comes to software development. He’s been a developer, a manager, a tech support person, and part of quality assurance. He certainly has a full perspective on software development. Coming from a science background, he does a great job of explaining why things are a certain way or why you’ll expect results given some conditions. This made understanding his approach to quality and software much easier for me to get a handle on.

It felt like we covered so much, but I want to provide a high level of the take away points that really stuck out for me.

Quality: What Is It?

Paul started us off by getting us to describe what quality means. In the end, we arrived at something that provides value (where value is actually defined) to an audience (again, where audience is actually something that’s defined). So what does that mean? Quality is dependent on who and what you’re talking about, so it’s important that when you’re trying to deliver quality that you are all aligned on what exactly quality will mean.

To illustrate his point, Paul had us perform an exercise where we really only used one method of communicating some information to our partner. The result of the activity proved that even when sitting right beside your partner, you can lose a ton of information in how you communicate. So having tickets written up or having a one way communication channel is almost guaranteed to cause some misunderstanding when it comes to expectations. Part of the solution? Converse. Actually have the person describe back to you what you said. This way, you both start to hone in on what your expectations are. It was a cool exercise, and it definitely proved his point.

Perspective

We also discussed perspective a lot in our session with Paul. He had examples where simply altering your (physical) view point on something would cause you to describe something completely different. From there, we drew parallels into our software development process. There’s the old “but it builds on my machine” scenario that mirrors this really well. Paul really wanted to drive home that product owners, developers, and testers all have different perspectives on things so we need to get on the same page to ensure we can deliver quality.

Paul also asked us what seemed to be a really simple question, which for a few of us meant that it actually had to be a loaded question underneath the obvious. By showing us something on the TV in our board room, he asked us if what was being shown was a particular object. The easy answer sounded like “well, duh, yes”, but he was driving home a huge point on perspective. We weren’t looking at the object, we were looking at a TV showing a digital rendering of a piece of artwork that depicted some object. The answer was kind of abstract, but it was really cool to have that conversation about what you’re really looking at.

Awesome Agile Activity Alliteration

As a team lead, there was one activity I found absolutely awesome. I’m hoping everyone got the same take away form it that I did. Paul had us work as one big group to perform some activity. The goal was to circulate as many balls through every individual in the group as we could in two minutes. There were a few rules that I won’t bother explaining, so it wasn’t necessarily that easy.

Quality & Agility in Software: Session With Paul Carvalho (Image by http://www.sxc.hu/)

Having 15 people shouting and debating in the first planning portion made things pretty tough, but we came up with a workable solution. Paul made us estimate how many balls we thought we could get through, and we felt so poorly about our design that we said only four. We tried it out, and managed to get about 20. Awesome!

We were told to do another iteration, and he gave us another mini planning session. Again, the shouting and mayhem ensued, but we wanted to tweak our first approach. We finally organized, and when we tried it out, we doubled our initial throughput. We were onto something. The next planning session, the shouting was a little less, and we added a few more tweaks. We noticed the following problems from before:

  • We were moving too fast, so balls were dropping.
  • We were only moving one ball between people at a time.
  • Our throughput was nearing the limit of how many balls we had.
  • Our counting was extremely poor.

Solutions? Slow down. Move two balls instead of one, which should be easy if we’re going slower. Recirculate the balls instead of putting them back in the container. Dedicate one person to counting that wasn’t me (the person who would either inject more balls or get them from the end to recirculate). We shattered our previous record, nearly doubling it again. Next planning was similar. We addressed some minor pain points and decided to go for a whopping four balls at once. We added another 25 to our throughput, so we were sitting around 100.

At this point we realized we were nearing the potential maximum throughput for this design and given the time restrictions for planning, we couldn’t generate much to improve upon. We debated a completely different approach for a bit, and realized it was going to be unrealistic–but this added to the takeaway.

So, with that said, what WAS the takeaway from this activity and why did I like it so much?

  • The activity is a direct parallel to our sprints. The balls are the features we’d be developing.
  • The planning process was hectic. Everyone was involved and generated great ideas, but it took a select few “leaders” to actually pull triggers. Otherwise, nobody would agree on ANY of the great ideas we heard.
  • Dropping a ball was equivalent to a problem sneaking through or something not getting done. In terms of quality, this was like a customer seeing a bug. The more people that touched it likely meant that the bug would be smaller or have less of an impact. A cool little quality parallel.
  • We need to be continuously improving. We should leverage our retrospectives to improve our process. It’s important that we keep experimenting with our process to see if it can be improved.
  • There will be a point where we think we can’t improve anymore with our current process. If we’re not happy with throughput, it may require a completely different approach.

Summary

The whole team thought having Paul in was great. We have a ton of things to take back to the drawing board to use and try to improve our processes. I think it’s safe to say any one of us would recommend consulting from Paul. His insights are excellent, he conveys his thoughts clearly, and he has activities that are so incredibly aligned to the points he’s trying to get across.

I’m looking forward to using Paul’s techniques for improving the quality in our software and the processes we use to develop. Thanks again, Paul.

Links


Cameron Sapp – Recognizing The New Guy

 

 

Cameron Sapp (Rocking awesome handlebars for Movember)

Cameron Sapp and a Little Background

A couple weeks ago I mentioned that I wanted to start publicly acknowledging some of my teammates. While this is the first one, it certainly won’t be the last. At Magnet Forensics, I’m surrounded by many individuals that bring a lot to the table. There’s certainly no reason and no way I’d only be able to pick one person to write about. Now there wasn’t a particular reason I picked this individual first, but I think I had some concrete things fresh in my head that I wanted to share. Without too much more rambling, I’d like to introduce Cameron Sapp!

New Kid on the Block

Cameron joined our team earlier this year. I don’t think any of us doubted his technical abilities and we were all excited to bring him on board. After all, we have a ton of stuff to work on and we need more great minds working with us! We were getting pretty impatient waiting for him to start, but it was definitely worth the wait.

Cam fit in to the work culture really well and really quickly too. Heck, he’s one of Team Magnet’s awesome volleyball players! Something people may not pay attention to is how much a work culture fit is important in a small organization. Being able to get along with all of your teammates and share a common vision is absolutely crucial for being successful. Luckily for us, Cameron fits in well with the team and definitely embraces the Magnet culture!

I was recently told by a bright individual, Dan Silivestru of tinyHippos, that there will be a time where someone younger is going to show up and surprise me with what they know. Of course, it’s not that I walk around doubting the ability of people, but unfortunately it’s pretty common for age and/or experience to bring about big assumptions for people’s abilities. I’m still young and early in my career, so I don’t think age is something I’m concerned with–but I might be guilty of thinking highly of my technical abilities. While Cameron isn’t the first, and certainly won’t be the last, he definitely was able to pull some tricks from his sleeves to impress me. For that, I would like to applaud him and recognize him here on The Internetz.

Whatcha Gonna Do With All Them Lambdas?

I’ve been programming in Microsoft’s C# for quite a few years now. I’m certainly not a master by any stretch of the imagination, but I’d say I’m pretty well versed. I’ve also written in the past about how I like to use events a lot when I’m programming (like here, here, and here) and almost always try to find an event-driven approach to things. But what does this have to do with Mr Cameron Sapp?

Well, you see… In C# it’s often the case where you hook up events like this:


someObject.DidSomething += SomeObject_DidSomething;

private void SomeObject_DidSomething(Object sender, EventArgs e)
{
    // do some awesome stuff.
}

That’s not so bad, right? Well, except if you’re making these suckers everywhere… And when you don’t want to have to type out a big ugly signature… Or when the type of your event arguments is obnoxiously long… Well, you get the point. If you’re not a C# programmer, take my word for it: if you use events a lot, having these event handlers all over the place sometimes just sucks to have to look at.

Enter… The lambda.

So once upon a time, Cameron stuck up a code review. Things were looking pretty good (as per usual with Cam’s code), but I noticed something right before I was going to give it the stamp of approval.


// Some code...

someClass.SomeEvent += (s, e) =>
{
    // event handler logic
}

// Some more code...

What the heck is that?! My alarms for event handler memory leaks weren’t going off (since this handler needed to exist for the entire lifetime of the objects in question), but I had no idea what I was looking at. Cameron’s a pretty smart guy, I remember thinking, so this code definitely had to compile on his machine before he pushed it up for me to review. Still… What was I looking at?

This was my first real shocker where someone caught me off guard for something I always felt really comfortable with. I mean… C# and events are my bread and butter. How was this guy showing me something I hadn’t seen before regarding events? How can he know something about them I don’t?! Well, he did it. And I’m sure that he’s got a lot more up there in that head of his that I don’t know. And I can’t wait for him to teach me it!

Summary

So this was pretty quick, and it probably doesn’t do Cameron enough justice, but I think it’s a start. We’re really fortunate to have Cameron as part of our team–both from a culture fit and a technical perspective. He’s a rock solid developer that is not only willing to adapt to our coding environment, but he’s also got lots of insight to bring to the table.

It’s important that we never put ourselves in a position where we think we know it all. As soon as you get comfortable with what you know, you stop learning. When you stop learning, you have people like Cameron show up and send you a wake up call. There isn’t a single person out there who knows everything, and you might be surprised who can teach you a thing or two.

Thanks for being part of our team, Cam. Let’s show ’em how it’s done.

More team member recognition to come! Stay tuned.


Movember Prep – Weekly Article Dump

MoMagnets - Magnet Forensics' Movember Team

Movember Preparation

You might think we’re a bit early on this one, but at Magnet Forensics we’re going to take Movember to a whole new level this year. If you’re not familiar with Movember, you may want to head over here and get a rundown of the history of it. Movember started in Australia between a group of people who wanted to (somewhat jokingly) bring the moustache back into style. The next year they started getting people to grow mo’s for causes. Now people participate in Movember to raise awareness for men’s health, and it’s bigger than ever.

Our team members of MoMagnets have started discussing the various styles of mo’s that they’ll grow this year. It looks like there’s going to be some intra-team competition to grow the best mo. The top contenders? It’s looking like:

Matthew Chang - Movember

Matthew “The Chang” “Changarang” Chang sporting a well-groomed black moustache. Although it’s a standard ‘stache, the care put into keeping this beauty mo in tip-top shape is obvious. Can he do it again for this Movember?

Cameron Sapp - Movember

Cameron Sapp showing off a rock solid handle bar mo. The bars on this ‘stache are so impressive that it almost gives the illusion that this mo is taller than it is wide. Wait… is it?!

Check out the MoMagnets page and keep track of us! Please contribute what you can to help raise awareness for men’s health.

Articles

  • Python, Visual Studio, and C#… So. Sweet.: First one on the list this week is the post I put out on Monday about using Python, C#, and Visual Studio all together. It’s definitely for the developers out there, but for those of you who aren’t programmers, it’s still interesting to see how PyTools and IronPython have bridged a gap between C# and Visual Studio. I was pretty happy with the number of people who responded on social media and thought that it was a good read. The tweets actually led me to find a related post by Scott Hanselman from earlier this year (that I wish I saw sooner). My article has also received some pretty good visibility at Code Project which I’m excited about. Feel free to check it out over there too (people seem more likely to engage in discussion at Code Project versus on my blog)!
  • Want To Build A Business? Lead With Trust: David Hassell wrote an article that really hit home with me. Having a successful business means crafting a team and culture built upon trust. It needs to be the foundation of your team. Having high levels of trust makes everything else in the business come together more easily, but lacking trust can really make everything fall apart. Teams need to trust their leaders, and leaders need to trust their team members–it goes both ways.
  • Amazon CEO Jeff Bezos Had His Top Execs Read These Three Books: John Fortt discusses his interview with Amazon CEO Jeff Bezos. Now while I don’t read as much as I should (and I’m consciously trying to get better at it), I thought this little list of books might be great to keep my eye out for:
  • Confidence ‘boosts pupils’ academic success: I thought this article was a great find. It’s primarily around research that’s shown confidence plays a big role in students’ success, but I believe it applies outside of the realm of formal education. As a leader or mentor, I think it’s incredibly important to instill confidence. You want your team members to know you trust them with what they’re doing. They need to know they can make mistakes and learn without having to be punished for doing so. Having that confidence is going to be what makes them successful.
  • Leadership Lessons From LEGO: What do leadership and Lego have in common? A whole lot according to John Kotter. Consider innovation (get creative with those bricks!), overcoming challenges (can’t find that piece you were looking for?), team work (building things with friends is way more fun), and quality (it’s as good as you make it). It was an unexpected article for me to stumble upon, but I thought the parallels were interesting!
  • The Four Most Powerful Lessons in Management: Joel Peterson has some great points on being a successful leader or manager. Among them, putting actions behind your words, bring the right people on board (noticing a trend with having the right people yet?), and having a meaningful mission.
  • What is a Thought Leader?: I found myself asking this question at one point, which is why I wanted to share Daniel Tunkelang‘s article. It seems straight forward really. It’s important to have an area of expertise in the ideas you want to share, and it’s important that the things you’re sharing have meaning. In my case with Dev Leader, I certainly haven’t mastered leadership and programming, but I’m sharing the ideas that I’m hoping will some day get me there.
  • 17 Things You Should Never Say to Your Boss: This was definitely a great read. At first, I started thinking “How could anyone in their right mind say these things to their boss”? But then I realized I had actually heard some of these things (or similar things) and it really got me thinking. Dave Kerpen has put together a great list, and although it’s humourous, it’s still something important to watch out for. Just in it for the money? Not your role? Some people need to get a grip or find something else to do in their career.
  • Why These Happiness “Boosters” Might Actually Make You Feel Worse: Gretchen Rubin shares some ideas on why certain things we do to make us happier may actually be counter-productive. One interesting one I thought was the idea of your attitude shaping your behaviour may actually be your behaviour shaping your attitude. On weekends I often hang around in a pair of shorts until I have to head out of my condo. If I got in the habit of being prepped to leave the house and be productive from the beginning of the day, would I find that I’m actually more productive? Worth trying!
  • What Makes Developers Really Great: Deane Barker shares his experience with a software developer that was giving off some bad vibes. So what’s a good developer? Is it just someone who can code? Do they need to know all the latest and best languages, dream in code, and have four computer science degrees? It certainly helps (and I don’t think many would dismiss it), but the one thing that’s really important is their attitude and ability to work in their team. Check out the comments on that blog post. If you’re working on a team and you can’t fit in the team, you’ll bring the whole team down. This means if you’re all soft skills and no hard skills, you can’t contribute squat. If you’re all hard skills and no soft skills, you’re going to be a road block to your team. You need to have both to be a really great developer.

Remember to check out the MoMagnets page! We’d really appreciate it. Follow Dev Leader on social media outlets to get these updates through the week.

Nick Cosentino – LinkedIn
Nick Cosentino – Twitter
Dev Leader – Facebook
Dev Leader – Google+

You can also check out Dev Leader on FlipBoard.


Intrapreneurship – Guest Blog by Tayfun Uzun

Intrapreneurship - Guest Blog by Tayfun Uzun (Photo by www.sxc.hu)

Last week I mentioned a colleague of mine, Tayfun Uzun, had a little surprise. He’s put together a great write up on intrapreneurship and what it means to be an intrapreneur.

The importance of Intrapreneurship

Innovation is the life-blood of any organization; we have all heard it and one way or another understand it. Actually, let me rephrase that. Revenue is the life-blood of any organization, but innovation begets revenue. One big movement in large companies is the idea of intraprenuership, the act of behaving like an entrepreneur within an established organization. Intrapreneurship is baked into your culture–it starts from your first hires in a start-up and needs to persist as you grow. It is not something that you can take a two day course and learn, much like entrepreneurship.

Why do you need intrapreneurship? Well, innovation is what sells. Companies have come and gone because they were stuck in the status quo, not innovating and thus becoming stale. The status quo is boring and demotivating. While these companies make great case studies, they do little to motivate the people involved. Intrapreneurship instills the drive, creativity and urgency into your employees. You can either have one person be an innovator or you can make the entire organization live and breathe innovation.

So, how do you foster an environment where your employees can feel comfortable being intrapreneurs? There are a few things I have found effective to get people out of their shell and try different things.

Be Agile

Following the agile model of iterative product development allows you to be able to test your innovations more frequently and get feedback quickly. This is a key component to intraprenuership. The waterfall methodology doesn’t allow time to tweak ideas and prototypes often resulting on those projects being scrapped for high priority planned projects. With agile you can time-box your innovation, forcing the intraprenuers to feel the same pressure an entrepreneur would feel when building products. A good way to do this is having regularly scheduled hack-a-thons where employees can work on their own innovations for a set period of time.

Encourage and Lead by Example

If you are the founder this one is easier than you think. As a leader, people look up to you and imitate you. As the founder, it is not uncommon for your employees to want to be entrepreneurial like you. Just listen to their ideas. No. Actually listen. I get it–you are the visionary, the entrepreneur–but there is value in hearing and seeing the prototypes being developed by intrapreneurs. Imagine injecting your entrepreneurial spirit into each one of your employees, because that is what you are doing by listening and providing them the platform to innovate.

By providing the means for your employees to become intrapreneurs, you are indirectly improving their day-to-day planned work. It allows them to view what they may consider mundane tasks in a different light and become solution-based thinkers. I often think of innovation as a prize–I am glad to do the grunt work as long as I get to innovate frequently–and in turn this affects how motivated I am as an employee.

Don’t Bet The Farm

If you are gaining traction, don’t pivot. Slowly start empowering the intrapreneurs to be product visionaries too. A good rule, (over)used in agile, is the 80/20 rule. In your next project, try to have 20% innovation driven by the intrapreneurs in your organization, while 80% are planned features. A good way to do this is to take out one or two features that you have planned for a sprint/release, and let the intrapreneurs research and build something. This is a good way to foster creative thinking and innovation with little risk.

Tayfun Uzun was one of the first software engineers at Magnet Forensics and currently is the Product Development Manager, responsible for the Software Engineering team.


PROFIT HOT 50 – Weekly Article Dump

Magnet Forensics - Ranked #7 in Profit Hot 50!

PROFIT HOT 50

It’s with great honour that I can say the company I’m part of, Magnet Forensics, has achieved the 7th place in the Profit Hot 50 rankings for 2013. Last year Magnet Forensics was also on the list ranked at number 16th, but we’ve shown ourselves up by moving a full 9 positions! Our ranking in the Profit Hot 50 is even more impressive considering we’re the only company from Kitchener-Waterloo region in Ontario–Known for it’s incredible startup community and success stories–that made the list. We’re excited and tremendously proud of our accomplishments, but it’s certainly going to be quite the challenge for us to move up in rank next year. It’s a challenge we’re all ready to take on though. You can check out the ranking over here or at the official Profit Guide posting.

Articles

I’ll put the horn-tooting aside… even though it’s an incredible accomplishment (not sure that I mentioned that already).

  • Don’t Be A Perfectionist: Ilya Pozin discusses the downsides to being a perfectionist. Often, people call themselves perfectionists when they can’t think of some other weakness they might have (you see it a lot in interviews) and because they think it’s a loop-hole in the question. I mean, if your weakness is that you’re perfect… how can that be a weakness, right?! Well in reality, aside form being a cheesy way to answer an otherwise good interview question, perfectionism can certainly be a problem. Especially in a fast-paced startup environment, we’re often not hunting for perfect. We’re hunting for 80% perfect with 20% of the effort. It’s the only way we can keep moving fast and get products or services to our customers. Besides, we don’t know what “perfect” actually is… Our customers do. And if we never get anything to them, how the heck can we ever know what perfect is?
  • How Goofing Off Can Make You More Successful: In this article, Adam Rifkin discusses over work. It’s a great tie in to the articles I shared last week about burnout. Adam talks about why we often find ourselves in situations where we feel like we’re forced to over work to be successful and shared a handful of suggestions for how to avoid it. His top 3: Doing nothing. Socializing. Helping others. Sound counter-intuitive to your poor overworked soul? Well kick back, relax, and have a good read through his post 🙂
  • The New Rules for Career Success: In Dave Kerpen‘s article, he shares some answers from Dan Schawbel about what it means to have a successful career. Among the top points, Dan suggests looking inside your current company before looking for opportunities elsewhere. This is a a key point because instead of becoming a chronic company hopper you can actually look for other great opportunities in the company you’ve already invested yourself in. Additionally, Dan suggests acting like an entrepreneur at your current job. If you’ve already proven yourself successful at your role, look for side projects that can benefit your company.
  • The Part They Don’t Tell You About Startup Team Building: The end result of becoming a good leader is often that you obsolete yourself in your current job. It’s a strange truth about the position: You start off taking on a large workload and then lead others so that they can effectively take on your portion and more. Where does that put you as a leader though? Tomasz Tunguz discusses this leadership role evolution in his article.
  • Raspberry Pi + WordPress => PiPress: This is a bit of a shameless plug, but I thought it might be cool for any tech-savvy bloggers out there who are looking for a bit of a DIY. After reading all over The Internet for how I can use my Raspberry Pi, I discovered I could use it to host a blog. So, for what it’s worth, the text you’re reading right now is coming from a little computer just a tad bigger than a credit card.
  • The 7 Things That Will Stop You Getting Things Done: Do you find there are a lot of things throughout your day that cut into you working efficiently? Bernard Marr has a nice list of things that are likely chewing up your time and a handful of solutions for how you can minimize the effect they have on your life.
  • Business is Over: My New Post-Workday Transition RoutineJeanine O’Donnell uses a BBB acronym for helping her transition from work-mode to home-mode. How do you handle separating your work-life from your home-life? Is there even a separation for you?
  • The Business World Can Tear You Apart – If You Let It: Even after achieving financial success and success in your career, sometimes there’s just something missing. Joel Peterson shares some tips for how you can keep your career focus from taking away from the finer things in life.
  • 6 Ways to Put the Good (Bad and Ugly) in Goodbye—Part II: Last week I shared a post about a great example of how to say to goodbye to your employees when they’re leaving for other opportunities. This post by Chester Elton builds on that with more positive examples, but he also shares some downright terrible ways that people have been “let go” by their employers.
  • Adventures in Cat (and Dog) Sitting: What I Learned about Managing People: If you don’t know what your pets have in common with your employees, Whitney Johnson can help you out with that. Why is this comparison necessary? Well if you think about how some people treat their pets (letting them out for walks, feeding them when they need it, belly rubs, petting, etc…) there are a lot of parallels with your employees… Well, there should be. Your employees deserve a good environment to work in, being acknowledged for their hard work, and having engaging work.

That’s it for this week! I hope you checked out the Profit Hot 50 article I mentioned above. Follow Dev Leader on popular social media outlets to get these updates through the week!

Nick Cosentino – LinkedIn
Nick Cosentino – Twitter
Dev Leader – Facebook
Dev Leader – Google+

You can also check out Dev Leader on FlipBoard.


  • Nick Cosentino

    Nick Cosentino

    I work as a team lead of software engineering at Magnet Forensics (http://www.magnetforensics.com). I'm into powerlifting, bodybuilding, and blogging about leadership/development topics over at http://www.devleader.ca.

    Verified Services

    View Full Profile →

  • Copyright © 1996-2010 Dev Leader. All rights reserved.
    Jarrah theme by Templates Next | Powered by WordPress