Tag: articles

Doubling Down: My Specific Strategy

Doubling Down: My Specific Strategy - https://www.publicdomainpictures.net/en/view-image.php?image=130306

Doubling Down: The Quick Background

I recently wrote about how and why I’m looking to double down on my strength to improve a weakness, and I figured it would be a great follow up to try and explain the specifics in my strategy. It’s an interesting learning opportunity for me, so why not share it with those that are interested?

The format of this post is really just to call out the specifics of some strategies I’m looking at exploring when building the brand for my vehicle to help with sponsorship opportunities.

Reach Outside Core Audiences

This one shouldn’t be a shock to you if you’re familiar with this blog already. It’s primarily aimed at programming, leadership in a tech environment, and self reflecting as a means to improve. One of my goals is to explore attracting other audiences that might have a bit of overlap with my core audience in order to build up awareness of my brand. In this particular case, I’m writing about branding in the online world and attempting to relate it to setting personal goals and establishing a plan to reach them. So while this topic is outside my core domain here, I think there’s some interesting overlap, and working on this will help me build up the knowledge for how to apply this to my vehicle brand.

I’d like to practice on this blog by writing about some things that are slightly outside of the norm for the content here and gauge how readers react. This learning will be used to expand the brand awareness of my vehicle when I apply it in that domain. Or that’s the theory, at least.

Linking to Related Content

If you’ve been paying attention, I’ve been trying to link you, my fearless reader, to other content I’ve created. It’s a simple tactic to provide you with more opportunities for the information you’d like to read more about and simultaneously keep you engaged with more of my own content.

The specific goal here is exploring how readers consume related information. When it comes to my vehicle brand, perhaps those that are interested in the wheel brand I use will also be interested in the air suspension setup I run. Perhaps the shop that does my work can gain more business because someone clicked a link or followed the breadcrumb trail to their site. Something about content synergy <insert eyeroll>.

Content Planning

Between the last post on doubling down and this current post, I had to do a little bit of work beforehand to plan content. This is something I need to practice more of, and I think I can do a good job of it when it comes to writing programming articles. So for example, I’m picking up more Unity3D work and would love to write more about Unity3D.

This will have great carry over for social media platforms when trying to plan content around events that my vehicle will be at. I can engage audiences better if I have a better plan for content, but this will take practice, time, and effort. The practice part is something I can work at on this blog with little risk because it comes a bit more naturally.

Ads: Hosting Them and Creating Them

This is a big one for me because it’s very new to me, in general. This blog runs ads, and without much experience, they’ve been able to generate a little bit of income (and I mean, very little). It’s something I can work at tuning to get better results, especially because I at least have a starting point to work with.

On the flip side, I’ve never created ads for my blog to drive traffic to this site. This is something I need to explore in order to help with the vehicle brand, and is a great example of doubling down on a strength. This devleader brand has better online presence (at least in terms of a website) than my vehicle’s brand. I think it would be a significantly easier experiment to work on creating ads for this site to drive traffic here and perhaps use my small ad revenue to seed this initial experiment. Minimize the risk!

Once I learn how to use ads better, I can perhaps apply this to the vehicle brand to drive more traffic to the content I create for that.

Calls to Action

For social media engagement, it’s really important to have calls to action. In the last post on doubling down, I added a call to action right at the end of the post. Did you see it?

Maybe not, and that’s okay because I’m practicing it. For Instagram and Facebook, it’s extremely helpful for generating impressions when you have your audience interacting with you. The more practice with creating good calls to action, the better I can do with my vehicle brand.

Next Steps

My next steps for my doubling down strategy are to start with creating some Unity3D articles. As I mentioned above, I’m looking to work more with Unity3D so it’s another great doubling down opportunity where it’s minimal investment for me (I’m already doing the research, I just need to write about my experiences) and a low-risk area to experiment in. I can practice some of the individual pieces of my strategy (as outlined above) in creating a series of Unity3D articles, and measure my success along the way.

If you’re a Unity3D programmer, what sorts of Unity3D articles would you be interested in? I plan to start some on Autofac and some cool patterns I’ve been using, but I’d love to hear what you’re interested in!


Article Roundup: Burn Out

Article Roundup : Burn Out

Burn Out

I had a lot of really positive feedback from my friends and family after writing about my experiences of going through burn out. If you haven’t read the post, check it out here. I’ve done some article summaries on the topic of burn out before, but I feel like it’s probably a good topic to bring up again in light of my recent post.

For a bit of background, burn out is a process that can occur to an individual that’s dedicating too much time to a particular activity. It leads to an imbalance in terms of what his or her time is put towards and can result in a person feeling depressed without any energy. Wikipedia does a pretty good job of summarizing it in one quick sentence:

Burnout is a psychological term that refers to long-term exhaustion and diminished interest in work.

With that said. please enjoy a couple of articles that I’ve surveyed from the web.

Articles

  • Job burnout: How to spot it and take action: This article is from a¬†clinic’s staff, so it has an interesting unbiased perspective. It talks about the lack of drive or interest that people might experience from burn out, which is interesting, because I personally never felt that I started to lack drive or interest in my work. Personally, it was more about losing interest/drive in other areas of my life. I also wanted to draw attention to one of the symptoms the article mentions: irritability with colleagues/clients. This one is pretty dangerous because you can actually cause some damage based on your inability to control emotions because of this. It’s worth noting that if you constantly find yourself irritated by colleagues and/or clients and have some of the other symptoms present, you might be on your way to burning out. If you’ve always been irritated by your colleagues/clients, maybe you’re just sour. ūüôā The list is pretty short, but the article does a good job of covering some of the common causes and symptoms, so it’s worth it for a quick read.
  • 10 Signs You’re Burning Out — And What To Do About It: This article by¬†Lisa M. Gerry speaks to a story very similar to my own. Our burn out experiences were really not something like working overtime for a couple weeks straight… it took years to happen, and that’s why it’s dangerous. Lisa lists several symptoms that should be familiar now if you’ve checked out Wikipedia and the previous article(s). ¬†Interpersonal problems come up again as a symptom and same with cynicism… They’re probably related. The interpersonal problems can come on multiple fronts too, whether it’s an individual removing his or herself from their friends and family, or finding that they’re getting in more arguments (or just plain not getting along) with their friends/family. Lisa goes on to list some ways to get back on track, including cultivating a rich non-work life (something I’m seriously lacking right now) and actually taking a break from work. Those are two really important things, but she lists a handful more.
  • I Came Undone: One Woman’s Horrifyingly Real Experience With Burnout: I¬†really loved this article by¬†Glynnis MacNicol because it felt like the same experience I was going through… Except I never got to the point where I quit my job. One thing I keep pointing out because I feel it’s a bit different is that most people¬†that go through burn out seem to resent their job… But I still love what I’m doing, and maybe that’s the only reason things didn’t go too far for me. Glynnis talks about being overly connected (thanks to¬†social media, smart phones, email, etc…) and how it’s a struggle to actually just go home and be away from work. Are you even able to do that in your career? I’ve always felt like I like being connected to work when I go home so I can help out when it’s necessary… but on days where I’m feeling burdened, I have to explicitly tell myself “Close Outlook. Only use your phone when you want to get a hold of someone. Close the work instant messenger.” It does the trick for me, but I suppose it’s unfortunate that “home time” doesn’t actually mean “time to not work”.
  • Burn out and chronic stress: This one is another sort of “fact sheet” on burn out and chronic stress. It re-iterates many of the same points regarding symptoms of being over-stressed and feeling burnt out, but I liked the latter portion of the listing. Specifically, the very last point on the page says to re-evaluate your priorities and goals. Many of the other posts suggest that taking time off and forcing yourself to slow down are necessary, but few of them actually say to re-evaluate your goals. I think that without re-evaluating, you’re setting yourself up for some difficult times… at least if you’re feeling like me. I know I’m starting to burn out. I know I should slow down… but if I don’t change my priorities around, taking that time off and disconnecting is going to feel like a mental burden to me. How could I remove myself from work if my goal was to get more work done? If I can re-evaluate my goals to say that spending more time with friends and family is important and that taking X amount of time off for myself is important, then it’s a lot easier to convince myself that I actually do need that time off.

Thanks for reading! If you like this post, follow Dev Leader on social media:


Leadership: What Does It Mean? – Weekly Article Dump

Leadership: What Does It Mean? - Weekly Article Dump

Leadership

Everyone has their own variation of what leadership means. For me, leadership means empowering others to accomplish their goals and providing assistance when they need it. There were a few articles that came up on LinkedIn this week that I wanted to share with everyone and discuss how they fit into my perspective on leadership.

Articles

  • Does Your Team Work With You Or For You?:¬†Kwame Manu-Antwi opens up the article in an interesting fashion. When I read the title of the article, I figured this was going to be the typical leadership vs management debate. However, Kwame goes into describing a scenario where he had a humbling experience from one of his team that made some sacrifices for him. This was truly an example of working for him.

    The entire second half of the article shares a bunch of leadership traits that I think are really beneficial. ¬†For example, being transparent and encouraging growth in your team members. I think the point that is being made in this article, although I don’t personally feel like it was made as obvious as it could have been, is that as a leader, if you want to feel like your team is willing to make sacrifices (for you, or for the team) then practicing being an excellent leader is the way to get there. Thus, the tips he provides to do so!I’d say there’s a lot of takeaway in his bulleted leadership points.

    If you’re an experienced leader then it’s probably mostly stuff you’ve heard before. However, it never hurts to be reminded of great leadership responsibilities!

  • How Do I Hire A Good Employee: Insights on Leadership Traits: In this article¬†Kendall Matthews talks about the specific things he looks for when interviewing. It’s not about how picking the smartest person in the world or the most skilled person according to Kendall. It’s all about finding people that have that curious drive that can think on their feet. Have you given into the status quo?

    When it comes to leadership and hiring, your responsible for building out a well rounded team. In my opinion sometimes this will require hiring the smartest or most skilled person, but more often than not, you’re just looking for go getters. People that are curious by nature and always looking to push the boundaries make great candidates for your team because they’re adaptable. This means you don’t need to go finding someone with the perfect skill set because you can hire the person that’s willing to evolve into that person.

    Again, it’s not a blanket rule in my perspective. Sometimes your team will require that super-skilled person to be up and running from day one. Being a good leader in charge of hiring requires you to understand your teams needs though.

  • Can Skipping a Meeting Make You a Better Leader?: I find that Ilya Pozin always has some interesting articles up on LinkedIn. If you don’t follow him yet, I suggest you do! This article is all about shaking things up to align them to your leadership strategy (and not just accepting meeting invites and then not showing up).The first part of the article is really about taking charge of your daily routine. If you get into work and your ready to make a big dent in your todo list, then moving meetings until later in the day might have a huge ¬†benefit. Similarly, it helps you plan out and prioritize the rest of your day. For me, I plan the night before and since I’m still largely a developer, I find that if I have meetings in the middle of the day when I’m in my groove then that’s when I have the biggest problems. Try tweaking when your meetings are to suit your leadership style.

    The second part of this article talks about the idea of a devil’s advocate and is personally my favourite part. I can’t stress enough how important healthy debate is for continuously improving. I had a colleague the other day say that he doesn’t like how often he hears “because it’s always been that way”. I jokingly responded, “because we’ve always said that”! But the point is, he’s not sticking to the status quo and doesn’t want to settle. I had another colleague argue against my perspective even more recently, and it really got me thinking about how our perspectives were different and where we might need to go next. Healthy debate is awesome. Your goal is not to put your “opponent’s” face in the dirt, but to understand their perspective as much as possible and ensure they get your perspective as much as possible.

  • Heisenberg Developers: In his article, Mike Hadlow talks about how a new (what seems to be scrum-based approach?) was introduced to a software development team and how it negatively impacted them. Mike’s argument? The process that was put in place took away autonomy from developers–they should be given free reign to implement a feature as they see fit.

    While the general consensus in the comments on his blog indicates that people agree, I actually don’t. I’m well aligned to the first two sentences in his closing paragraph (autonomy and fine grained management) being important, but I think direction is incredibly important. In an agile shop, often the customer proposes features to go into the product (and when the customer isn’t available, product owners acting on behalf of the customer propose the features) and the developers work to get them done. Maybe this wasn’t the implication of the blog post, but I don’t think it makes sense to just let developers randomly choose which of the features to work on next and decide on their own how to do it.

    What works better, in my opinion? Have product owners provide acceptance criteria for what would make the feature successful. Have software testers and software developers mull over the acceptance criteria and bounce ideas back off of the product owners. Did they think of how that would affect feature B? Do they realize it will be a support or regression testing nightmare unless feature C is in place? What’s my point? Collaboration. The article doesn’t even mention it. It’s only about how process takes away from the artistic nature of programming. I feel like people should stick to hobby programming if it’s art they want to express, but when it comes time to business, it’s about delivering rock solid features that the customer wants.

    Back to estimating and tasking out features. Why break a feature down? What’s good about doing it that way? If you hit road blocks or need to pivot, it’s great to have a part of a feature done and realize that in it’s current state it might be classified as acceptable for a deliverable. Maybe it doesn’t match the original acceptance criteria, but perhaps the pivot involves adjusting that and now it’s acceptable. Task breakdown brings insight to the people working on the feature. What’s involved in making it? How are you going to test it? How are you going to support it?

    Autonomy is important. But I think that there needs to be some level of process in place for leadership in management to have insight as to what’s taking place, and there needs to be enough autonomy for developers and testers to do their job to the best of their ability. Sometimes the time invested in collaborating is one of the best investments in your development team.

  • Why The Golden Rule Sucks:¬†Joaquin Roca has an awesome article on “The Golden Rule” and why it doesn’t apply in leadership. Joaquin starts by discussing why building a diverse team is incredibly important and why you should take advantage of the tensions it can create. So why does The Golden Rule suck? Well… not everyone is like you and not everyone wants to be engaged the same way you are. Everyone is different and it’s important to adapt your ways to the person you are engaging with–especially when your team is diverse. There’s also a cool leadership quiz that he has posted at the top of the article!
  • Did I Make a Mistake in Promoting This Person?!: This article is about something that happens in the tech world all too often.¬†Caroline Samne¬†talks about how skilled professionals are promoted into leadership in management positions–except they don’t have any expertise in this area. I’m actually a prime example of this. I was hired on as a developer early on at Magnet Forensics, and before expanding the team, I was chosen for a leadership position without any past experience. However, like the article says, I had great mentorship through our HR manager and I was empowered to seek learning opportunities to grow in this space. The moral of the story is, just because someone is skilled at X, it doesn’t mean they’ll turn out to be a great (people) leader in this space. Leadership just doesn’t work magically like that.
  • Corporate Hackathons: Lessons Learnt:¬†Christophe Spoerry‘s article is all about hackathons. It’s a great way to spur some innovation in your organization if you’re allowing it to happen naturally. He shares his learnings from past experiences such as having leaders with past experience in hackathons present and having teams and/or themes picked out ahead of time. Once the hackathon starts, you don’t want to be wasting time with logistics… You want to be participating! Discuss what the outcome of the hackathon will be. Who’s going to take ownership over what was created? How will the outcomes be shared with the other participants or the rest of the organization? Get hackin’!

Thanks for reading! Follow Dev Leader on social media outlets to get these updates through the week.


Snow Tubing with Team Magnet – Weekly Article Dump

Snow Tubing with Team Magnet - Weekly Article Dump

Snow Tubing

First off… If you haven’t ever gone snow tubing, get off your computer and get to your nearest snow tubing park.

Now that you’re back from that, we’re all on the same page. Friday was another one of Magnet Forensics‘ staff events and we were fortunate enough to go tubing at Chicopee Tube Park. I hadn’t been snow tubing before–only water tubing–and I haven’t even been on a ski hill or anything for years. To be honest, snow tubing to me seemed like a bit of a glorified crazy-carpet experience which would be fun, but get boring after a couple of runs.

I’ll be the first to admit I was dead wrong. Snow tubing was probably the most awesome way for the entire Magnet family to cut loose this quarter. Most people either love or hate the snow, so finding a big group activity for a company to participate in outside in the Canadian winter can be tricky. Snow tubing was perfect though. It wasn’t too intense that people had to shy away from it and it was exciting enough to keep us entertained for the few hours we were there.

Kelly, you did a great job coordinating the staff event! It was great to see everyone come out and have a blast. Thanks for being awesome, Team Magnet.

Articles

  • The Difference Between Managers and Leaders: In this article by Ilya Pozin, he touches on some of the differences between managing and leading. In my opinion, there’s often the idea that managing people is terrible and leading people is the best thing you can ever do. I get that kind of vibe from this article, so I wanted to point it out right at the beginning. I think that a good way to look at it is like this: Being a manager does not make you a leader, but being a good leader sets you up to be a great manager. Leading and managing are different things, and the better you get at leading the better you can become at managing. With that said, I think the article touches on a lot of great leadership points.
  • 5 Ways to Finish What You Start (and Why You Often Don’t):¬†Susan Perry¬†writes about something that a lot of us likely experience pretty regularly. You pick up something new only to end up abandoning it not too much later. Starting a new project or hobby is exciting and it can be really easy to dive head first into something for this very reason. However, if you find that you always start things and never finish them, it might be worth paying attention to some of Susan’s suggestions.
  • 15 Benefits Of Being An Intelligent Misfit:¬†Isaiah Hankel talks to us about what an “intelligent misfit” is in this article. The idea is that swarm thinking is more about just reacting to things, and that’s not overly beneficial. By being unique and standing out, you actually attract others that are unique like yourself with shared interests. As a result, you end up building a network of people that are truly like you instead of conforming to a group. Isaiah goes on to list 15 benefits to standing out in his article and it’s certainly worth the read.
  • Build the perfect team:¬†Peter Mitchell¬†talks about what ingredients you need to build your perfect team. Establishing a common culture and attitude are things that are definitely among the top. Creating clear goals and objectives for your team will also help pave the way for success. One of the most important parts of creating a team is coming up with complementary skill sets. This can be difficult because you want to create a team with people that think alike but have different skills–and often this is hard for people to separate.
  • Fire, Being Tired.: John Hope Bryant gives us a different perspective on what it means to be tired. He says that it’s not just about lacking energy to do something or not getting enough sleep. Being tired is more about losing interest in something. Why? Well even when you’re run down or low on sleep the things that you’re truly interested in can get you excited. John’s suggestion is stick to things that truly interest you–be honest with yourself. Don’t stay in a job where you’re watching the clock for the end of the day. Find your drive and your motivation.

Follow Dev Leader on social media outlets to get these updates through the week. Thanks!


Article Dump #24 – Weekly Article Dump

Article Dump #24 - Dev Leader (Image by http://www.sxc.hu)

Article Dump #24

Welcome to the 24th issue of my (nearly) weekly article dumps. I don’t have a theme or an update this week, so it’s kept pretty short. I hope you find the following articles interesting though! Leave me a comment if you have any opinions on these

Articles

  • The 7 Values That Drive IDEO: In this article, the CEO of IDEO¬†Tim Brown¬†talks about the various values that his organization embraces to have a creative culture. Some of the ideas in the slides seem really high level or like generic fluff, but try thinking about what they would mean in your organization. It’s one thing to glance at IDEO’s list and say “Yeah, yeah… That’s nice…” but when you actually think about how that fits in with your organization, you might actually realize you don’t embody those values. Do you learn from failure? Does your organization promote an ask for forgiveness not permission approach? Would this make sense in your organization? Just some food for thought, but I thought a lot of these values were interesting to think about and how embracing them might change the organization I work in.
  • The 15 Most Annoying Coworkers of All Time: Ilya Pozin¬†put together a pretty funny article on different types of coworkers you’ll encounter in your career. I got worried that I might be #13 on the list… The office comedian who isn’t actually funny. Apparently this post got a lot of flack in the comments on LinkedIn. I guess people were expecting a really serious article on how to deal with these different types of problems in the workplace. I didn’t really have expectations when I read it, aside from not wanting to find myself on the list. Maybe the main take away point here is… don’t annoy your colleagues!
  • Companies Frustrate Innovative Employees: Gijs van Wulfen¬†takes a different perspective on innovation. So many people now are writing about embracing failure (so far as you learn from it). I’m actually a big believer in that approach–take controlled risks and learn from things that don’t go as expected. Gijs’ perspective is a little bit different: forget embracing failure; boost the innovation effectiveness rate! Gijs goes through a workflow for trying to improve innovation at various steps in the process. Pretty interesting!
  • Your Boss is Happier Than You (But Shouldn‚Äôt Be): Jeff Haden¬†tells us something we probably all (let’s say in the majority of circumstances) know: your boss is happier than you. Big surprise right? They get to make decisions, have fewer bosses than you, and they make more money. Sounds like a good reason to be happier, no? But if your boss is happier than you, those probably aren’t the exact reasons. Your superiors are likely happier than you because of autonomy. They get a bit more freedom to do accomplish goals in their own way. Jeff has a big list of reasons why your boss is probably happier… and none of them are about money.
  • When is it a Good Idea to write Bad Code?: Rejoice in the first programming article for this week! Tech debt. Ever heard of it? If not, it’s not likely that you’ve never encountered it in your programming career. I’d wager at least one of the last handful of big features you implemented in your code base either had to deal with some tech debt or perhaps even introduced some tech debt. Brad Carleton has put together a big list of different types of tech debt and what they mean in your project. I highly suggest you read it if your a programmer. There’s a lot of things to be aware of with tech debt but it’s important to remember that tech debt isn’t always the worst thing that could happen. Sometimes it’s okay to sacrifice a sub-par design now in order to get some software out the door. Your users might try it out and decide they don’t like the functionality anyway, and you’d end up re-writing it again!
  • “Happiness” vs “Meaningfulness” — The Surprising Difference:¬†Alex Banayan‘s article discusses the difference between happiness and meaningfulness. It appears as though often happiness and meaningfulness are not necessarily aligned. For example, it might be easy to chase a life of happiness that lacks meaning, or dedicate your life to something meaningful but not be very happy while doing it. The real question is, is it possible to achieve a balance where you’re leading a fulfilling life that keeps you happy? Alex talks briefly about five different categories and how each can sway to something more meaningful or something that provides more happiness. Are you living a happy and fulfilling life? Do you have to balance these five categories carefully?

Follow Dev Leader on social media outlets to get these updates through the week. Thanks!


Be a Better Programmer – Weekly Article Dump

Be a Better Programmer - Weekly Article Dump (Image by http://www.sxc.hu/)

Be a Better Programmer

It’s a new year and that means it’s all about resolutions, right? Well, I’m not a huge fan of keeping around a resolution that needs to wait for a new year, but I am a fan of reflecting on your goals and your skills. If you’re a programmer like me, then maybe this will be a great starting point. In my weekly article dumps I usually would just provide a couple of comments on a link like this, but I felt I should dive in a little bit more. You can find the original article by Amy Jollymore over here. Please have a look! I shared it with the whole dev team at Magnet Forensics because I felt there was a little bit of something for everyone.

Number one on this list, and perhaps the one I’d personally like to focus on more out of this list, is checking your code before blaming others. Blaming other people–in general, not just programming–is an easy way out. When a problem occurs, it’s simple to assume that all of your work is right and that it must be someone else’s fault. But if everyone starts thinking like this, it turns into a nasty blame war. So next time the build breaks or your shiny new feature stops working as expected, don’t go blaming other people. Investigate what the problem is. See what your most recent changes were and if they could have caused the problem. As you start to gain confidence that your changes aren’t responsible for the issue, try sitting down with one or two other people you think might have been around the problem area recently–But don’t go accusing them! Putting your heads together to figure out the problem can speed up the process and might even shed some light on some miscommunication over a design or some assumptions in the code that don’t actually hold true. It’s a lot more embarrassing to blame someone when it’s actually your fault compared to putting in the effort and admitting you might have goofed up. Try it out!

Number two is also a great item. You should never put an end to your learning… especially as an individual in a technology space. There are so many great suggestions listed for this point that there’s no point in me repeating them. Just go read them! An interesting point worth mentioning is using podcasts for learning. This is a great option if you find you’re brain is still spinning when you lay down in bed or if you have a long commute to work (or something else you’re involved in). The author also mentions that you don’t need to be learning programming… What about domain expertise? If you’re writing code for banks, lawyers, or digital forensics… Why ¬†not learn about that too?!

The last point I’ll touch on from the article is number three: don’t be afraid to break things. I love this point. If you’re working on a big piece of software, there are almost certainly areas that seem brittle, scary, or just plain incomprehensible. If your project is still small, it very well get to this point. It doesn’t mean that the code is bad or that you’re working with the worst programmers… It’s just something that happens when you’re continuously trying to build on your software. The real problem occurs when nobody is willing to take the time to go change things. If you have big scary brittle parts of code, then set aside some time, take a deep breath, and go refactor it! It might seem like hell at first, but once you get into it (and especially after it’s done) you’ll feel a million times better. Plus, now your code can continue to be built upon without people running in fear when you mention that section of code. Code can get nasty, but consider using a “tech debt” system or regularly set aside time for refactoring parts of your code base.

Again, the original article is located at: 7 Ways to be a Better Programmer in 2014. Check it out!

Articles

  • How to Manage Dynamic Tensions ‚ÄĒ and Master the Balancing Act: This was an interesting article on some parts of leadership that often oppose each other. Author¬†Chris Cancialosi does an excellent job in discussing balance between internal and external influences as well as leading and managing. A good take away from this article is at least acknowledging that there are certainly some things to balance. You may want to have the most flexible team, but have you considered if there’s a “too flexible”? Just a bit of perspective that this article might bring to light.
  • A Crash Course In Leadership For 20-Something CEOs: Barry Salzberg‘s article is geared toward young CEOs, but I think that means we can apply the lessons to anyone looking to lead! A few of the points I’d like to mention include being tough on problems and not on people. Your people are the one’s who are going to solve problems and bring great ideas to the table. They’ll invest their time into your organization in order to accomplish great things–so don’t be hard on them. Instead, acknowledge that your problems and challenges are the things you want to crush, and work with your team to make sure you conquer every challenge that gets in the way of your goal. Another point is on taking risks. Never taking risks is a great way to stagnate. You need to learn from your failures, but keep pushing the boundaries. Finally, be ready to adapt. As your organization grows or as the market you’re working within evolves, you need to be ready to adapt and change. You might get lucky and things don’t change all that much over a long period of time, but the odds of that are pretty low. Be ready to adapt so when the time comes, you don’t need to worry about everything falling apart.
  • Leading at Scale with Agility: Brad Smith has a few great points on what leading a team should encompass. First, a team should have a goal that it is trying to achieve. If that team is part of a larger organization, the team’s goal should align with the goal of the entire organization. Secondly, decisions for the team should involve those on the team. It’s easy to sit back and speculate what might be best, but why not involve the people directly affected? Of course, this is more difficult for large teams but maybe that’s an indication your teams would be more effective if they were smaller. Next, empower teams to arrive at solutions on their own. If a plan worked out well, try communicating it to others to try out. Conversely, if the plan had some problems, let others on the team (or other teams) know about the hurdles. Finally, Brad has a point on trust. Trust is arguably one of the most important parts of leading a team. Each team member needs to be able to trust the others. There should be an easy assumption that everyone is operating with best intentions.
  • For Leaders, Today is History: In this article by Steven Thompson, he gives a high-level overview of his focus. Specifically, he focuses on the future and not right now. Steven says the teams he is in charge of are often looking at the problems of “right now” and perhaps a little bit in the future. It would be counter productive for him to try and butt-in to try helping with those problems because he’s so far removed from them. Instead, those individuals have been empowered to focus on those problems. Instead, Steven focuses on the future–the direction of the teams. As a leader, it’s important to try and be thinking at least one step ahead.
  • What If You Had to Write a “User Manual” About Your Leadership Style?: After I read Adam Bryant‘s article, I thought the idea of a leadership “user manual” would be pretty cool. Even if there isn’t a single other individual who would benefit from it, at least it would help reveal to myself some of my leadership quirks. That’s useful on it’s own! I’ll be sure to post up my leadership “user manual” when I have it complete… and I imagine I’ll have to keep updating it over time as my style evolves. It’ll be really interesting to see the evolution of my leadership style! Why not consider doing one for yourself?
  • What Bosses Should Never Ask Employees to Do: Jeff Haden‘s article was a little bit controversial in my opinion–and in the opinion of some of the commenters. I think I get the underlying message behind a lot of what Jeff is saying for each of his points, but as one commenter said, it sounds like a bit of a personal complaint the whole way through. Consider the topic of donating to charities at work. The feel I get after reading that segment is that your organization should not attempt to do fundraising through employees. While I don’t actually think that’s what Jeff is saying, that’s how I feel after reading it. I know that we’ve been able to do several charity events at Magnet, and we’ve always said that they are completely voluntary. I think that’s the crucial part. It’s the holiday season and your budget is a bit tight? How could anyone get mad at you for backing out of a completely optional charity donation? Busy with some personal matters or want to focus on finishing up something at work the day we’re doing a charity event? No big deal, it’s optional. Anyway, the point is that perhaps based on the wording in the article, I felt like some of the messaging will be misinterpreted. I think there are some good points buried in there. Check it out and let me know if you agree or not!

Follow Dev Leader on social media outlets to get these updates through the week. Thanks!


Happy Holidays – Weekly Article Dump

Happy Holidays ‚Äď Weekly Article Dump

Happy Holidays

The holiday season is upon us, so I’d like to start by extending my best wishes for you to have a safe and happy holiday. I’ve personally been pretty busy the past few weeks wrapping year-end stuff up at work, so I’m looking forward to a few days of being able to catch my breath a bit. If you have some time off from work, I’m hoping you’ll get a chance to do the same over the holidays.¬†I can’t sit idle for too long though. I don’t like not feeling productive, so once I’ve caught up a bit on some well deserved rest, I’ll be right back at it!

The holidays and end of the year are a great time to reflect on everything that’s happened in the last 12 months. Did you have goals that set you set and accomplished? What about things that you didn’t get to achieve or complete? Were you able to assist others in their goals? Maybe a year is too long for you to wait between points of reflection, but the holiday season provides the perfect opportunity for you to reflect–it’s at the end of the year, and generally you get some time off from your day-to-day!

At¬†Magnet Forensics, we had a year-end review celebration and planning for next year. This was an incredible eye-opener for a lot of the amazing things we did this year. In fact, this last year was filled with so many exciting moments for our company that I thought around half of them were things that occurred in 2012. I was mistaken though. We’ve just been doing¬†that¬†much. I’m incredibly proud of the entire team and what we’ve been able to accomplish.

For my personal growth, this year certainly covered a lot of ground. I was able to work on some new exciting technologies like I had set goals for, and I had actually managed to take on more responsibilities in the workplace while reducing my perceived workload. I’m proud of what I’ve accomplished, but I’ve also been able to identify a few areas that I’d like to improve in the new year. I don’t want to call it my “New Year Resolution” for fear of it never coming to fruition, but I think by acknowledging some areas I l’d like to improve I’m setting myself up to be constantly aware of them.

Try to get some personal reflection in this holiday season. Celebrate what you’ve accomplished and raise the bar even higher for next year!

Articles

I missed an update last week, so I’ll combine both of my smaller article summaries into one!

  • How One Company Replaced Meetings And Bureaucracy With Pairs, Ceremonies, And Storytelling: When I shared this article by¬†Drake Baer¬†on social media, I mentioned that there was one of the three suggestions that I felt might not be met as well. Any guesses yet?

    The first suggestion in the list is working in pairs. The notion of working in pairs has some popularity in programming (i.e. Pair Programming) because you get two sets of eyes and two brains behind tackling the same problem. Partners get rotated every-so-often and you can share knowledge really well this way.

    The second suggestion was about story telling. Story telling really let’s a company philosophy or mission get spread through the organization in a natural way. This also works for receiving customer ¬†perspective and diffusing it as requirements from the user.

    The final idea presented in the article was regarding ritualization. Taking potentially boring or inefficient meetings and transforming them into rituals can provide more meaning and structure to them.

    If you haven’t guessed yet, I figured item #1 may be met with some resistance. I personally don’t enjoy pairing past the point of brain storming ideas together. After that, it feels inefficient to me. I also believe that certain individuals have a “comfort zone” for where they feel efficient in their work. So even if pairing works well for 95% of people (let’s pretend) then for that other 5% it might really be disruptive for them. I’m starting to learn that applying practices uniformly across a team often doesn’t make sense.

  • Some Workaholics Have More Fun: A quick one from¬†Hiroshi Mikitani, but still very worth mentioning in my opinion. When people think of a workaholic, it’s often associated with a negative perspective. But maybe it’s not so black and white. Would you say there’s a difference between someone driven by external factors (e.g. meet deadlines for the boss, make more money, etc…) or someone driven by ¬†internal factors (e.g. create something innovative, help or make a difference in the world, etc…)? I’m not claiming that these can never overlap or anything, but perhaps it’s just a bit of a perspective tweak. Take it or leave it ūüôā

  • The Art of Listening: In this article by¬†Gurbaksh Chahal, he touches on some really important aspects of listening. And yes, while listening is definitely important in the workplace, you can likely apply his principles to other areas in life. First, you want to engage people and let them know you’re actually listening. This can be conveyed will by eye contact and body language. For me, I like to lock my computer and turn to people when they come up to talk. It’s the perfect way to let them know they have my undivided attention. The next step is¬†actively¬†listening. Stop thinking of your response while someone is talking. Try actually listening to the speaker the entire time and interpret their words. There are no rules that say you’re not allowed to pause for thought to formulate your response when the other person is done talking! Gurbaksh has a few more pointers, and I strongly suggest you check out his article.
  • 8 Ways Using Humor Will Make You a Better Leader: I’m a big fan of using humour in the workplace, but sometimes I’m not sure if I use it effectively or take things to far. That’s why I always jump to these humour-in-the-workplace articles when they pop up. In this article by¬†Kevin Daum, there are two key points I wanted to address. The first is that humour really does help disarm tense situations. Sometimes there are difficult situations at work, and using humour (properly) can really help break the ice. Of course, you still need to take caution that the humour you’re using isn’t going to make the situation worse. The second point is that humour helps build a bonded community. I think humour can have a similar impact to story telling in an organization when it’s used effectively. You can always related back to “inside jokes” when you were dealing with some high pressure times, some bad code, or just because something funny came up at work. You can always bring the newbies into the inside jokes too and make them feel completely welcome.
  • The 8-Hour Workday Doesn’t Really Work: If you feel like the typical eight hour work day really isn’t your thing… You might not be alone. Jeff Haden put together this pretty informative article about workdays and productivity you might find interesting. There’s tons of ground covered, including a few tips at the end for how you can optimize our work day. For example, try focusing on four or five things in a day that take up 90 minute slots. Certainly worth the read if you’re looking to hack your work-day.
  • The Hidden Danger of Success: ¬†Another little article from Hiroshi Mikitani. So often we’re told to learn from our failures. But how are we supposed to learn from our successes? Hiroshi suggests we treat them equally. Sure, celebrate your success, but make sure you have take-away learnings from each of your successes. Don’t let them get to your head and always stay humble!
  • Keys to Resolving Conflict: Jim Sniechowski¬†dives into some great points in resolving conflict. I think it’s a decent read for anyone who has ever been in some sort of debate or conflict. I imagine that’s most people! Anyway, two great points to start you off: Each side of the conflict needs to understand that there’s a mutual agreement that needs to be met and willingness to accept some of the other side is necessary for coming to a positive conclusion.
  • Four Principles to Inspire Innovation: Lockheed Martin’s CEO Marillyn Hewson¬†provides four of her principles for innovation. Firstly, ensure there’s an environment that can cultivate innovation. Next, don’t treat innovation differently depending on the source. The final two principles I like to think of as one really. You want to innovate with a mission or goal that inspires and is driven by the values your organization embraces.

Please have a safe holiday season, but remember to relax and have a bit of fun too! Follow Dev Leader on social media outlets to get these updates through the week. Thanks!


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


  • Subscribe to Blog via Email

    Enter your email address to subscribe to this blog and receive notifications of new posts by email.

  • 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