Posted by: lrrp | April 17, 2018

Perseverance…

Advertisements
Posted by: lrrp | April 14, 2018

The true sign of knowledge is…

Posted by: lrrp | April 14, 2018

Don’t Overwhelm Yourself Trying to Learn Too Much

It’s a great idea to educate yourself. I fully subscribe to the idea of lifetime learning–and you should too. But, in the software development field, sometimes there are so many new technologies, so many things to learn, that we can start to feel overwhelmed and like all we ever do is learn.You can start to feel like you are always playing catch-up, but never actually getting ahead–not even keeping up. The treadmill is going just a few paces faster than you can run, and you are slowly losing ground, threatening to drop off the end at any time.

Trying to learn too much

The problem is trying to learn too much. There are 100 different technologies you have to work with or want to work with at your job. You might feel that in order to be competent, in order to be the best you can be, you need to learn and master all of them. The problem though, is that you feel like you haven’t even mastered one of them.

It can be a pretty disparaging feeling. To counter that feeling–which sometimes demonstrates itself as impostor syndrome–you grab books, video courses, and all kinds of resources on all the technologies you feel that you need to master.

You spend your nights and weekends reading books, going through online training, and reading blog posts.

But. is it really effective, or does it just stress you out more? Do you even remember half of what you read? Will you actually ever use it, or are you storing it away for a someday-I-might-need-this-bucket?

My point isn’t that you shouldn’t be learning, it’s just that perhaps you are placing too much pressure on yourself and trying to learn too much. I’m only saying this, because I’ve been there. I’ve done that. I know how it feels.

I also know that this forced pace of learning isn’t very effective. I don’t remember much of the majority of books I read about technologies I didn’t end up using or barely ended up working with.

I know that the technologies I learned the best were the technologies that I actually put into practice. In fact, some of my most useful, and retained learning, came from learning I did on the spot, right when I was working on a problem I couldn’t solve and had to go find an answer.

Just-in-time learning

It probably would make much more sense for me to preach that you should absorb all the information that you can.But, the truth is, I don’t think that is the most effective way to learn. I don’t think you’ll get much out of one of my courses, or anyone else’s, if you just repeatedly watch them.

Instead, I think the best way to improve your skills and to learn what you need to do is to do the learning as close to the time you need the information as possible–just-in-time learning.

Now, this doesn’t mean that you should just start working with a technology before you know anything about it. You’ll waste a lot of time flopping around trying to get started if you just dive right in without any prior knowledge.

But, I’ve found you only need to learn three things before you can dive in and start working with a technology:

  • How to get started
  • What you can do with the technology–how big it is.
  • The basics–the most common things you’ll do 90% of the time.

Often the hardest part of learning a new technology is learning what is possible.

I’ve found that the faster you start actually using a technology and trying to solve real problems with it the better. Once you’ve covered the three bases I’ve mentioned above, your time is much better spent actually working with the technology rather than learning about it further.

It’s difficult to break away and jump in though. Our instincts tell us that we need to keep reading, keep watching videos and continue to learn, before we get started.You might feel compelled to master a technology before you start using it, but you have to learn to resist the urge. You have to be willing to fail and learn your way by making mistakes and hitting roadblocks. Real learning takes place when you use information for a purpose, not by trying to acquire it ahead of time.

If you know what can be done in a technology and you know enough of the basics, it won’t be difficult to figure out what search term you’ll need to come up with in order to answer any questions you have along the way. This just-in-time learning will be more effective in the long run and save you many wasted hours consuming information that you won’t fully digest.

You can’t know everything

Even if you had all the time in the world to learn, and even if you apply just-in-time learning techniques, you still won’t ever learn a fraction of what there is to learn in the software development field. New technologies are popping up every day and the depth of existing ones increases at an alarming rate.

It is important to face the reality that you just can’t know it all. Not only can you not know it all, but what you can know is just a tiny fraction of what there is to know.

This is one of the main reasons why specializing is so important. You are much better off picking a single technology that you can focus on learning in-depth than spreading yourself too thin trying to be a master at everything.

That doesn’t mean you shouldn’t expand your skills in many different directions; you should definitely try to have a broad base. Just don’t expect to be an expert in more than one or two main areas of focus. Try to focus your learning on two main areas:

  • A single specialty that you will master
  • General software development skills that will apply to more than one technology.

Don’t try and spread yourself too thin. Rely on your ability to learn things as you need them. If you have a solid base, with time and experience, you’ll find that you can learn whatever you need to know when you need to know it. Trust yourself.

Sometimes it can seem like there are super-programmers out there who seem to know everything and can do everything, but it is only an illusion. Those super-programmers are usually programmers that have one or two areas of expertise and a large amount of general knowledge that they apply to a variety of different domains.

Posted by: lrrp | April 13, 2018

How to Network Effectively

Books, magazine articles, mentors and other resources always seems to be telling corporate professionals that you need to network if you want to be successful. However, that is much easier said than done. With crushing work schedules, tight deadlines, and the demands of a personal/family life, where can you find time to network anyway?

Unfortunately, the experts are right: networking is critically important if you want to be effective and get ahead in your career. Fortunately, this article may help you to demystify the networking process and provide precious tips to ensure you are using your time as effectively as possible.

What is networking, anyway? 

Many people struggle with the concept of networking because they see it as a “fake-y” way of using people to get ahead. But that’s not a good understanding of what networking really is. I want to define networking as creating two-way relationships with subject matter experts so that both you and your network can be more successful. Notice what is important with this definition: it is focused on creating mutually beneficial relationships. It may not seem obvious, but the corporate world is built on relationships whether they are between coworkers, managers and direct reports, executives and managers, customers and suppliers, etc. The more fluent you are at building, fostering and nurturing these relationships, the more successful you will be.

OK, I get it. So how do I get started?

Networking is like a muscle–the more you use it the stronger it gets. Extroverts have a natural advantage as they thrive on social activities and naturally gravitate to meeting new people. Introverts tend to struggle as they are most comfortable alone. However, it is probably more important that introverts network effectively as being liked (especially by peers) and respected by coworkers is an important element for success (and promotion). Regardless of where you are on the introvert/extrovert scale, the following tips will help you get started:

  1. Start with a goal. This will help you focus your efforts on where to start. The goal can be simple: “I want to meet marketing peers at other companies in the area” or “I want to meet 10 thought leaders in the semiconductor industry.”
  2. Begin with who you already know. I strongly recommend you start networking with your close coworkers and peers, especially if you work in a large company. Once you have built a good relationship with everyone in your group, try to meet people similar to you in other parts of the organization.
  3. Turn every lunch into a networking lunch… Everyone eats lunch and nobody likes eating lunch alone, so start asking people to have lunch with you. It can be one on one or a group lunch, but try to mix up who you are having lunch with so you are meeting new people.
  4. … and attend those formal and informal company events. Most companies have happy hours, softball leagues or other events for employees to spend time together outside of work. You know, like the annual picnic and Christmas party. Use these opportunities to build the network inside your company.
  5. Social media is a good place to start… but don’t stop there. Social media sites like LinkedIn and Facebook can be good ways to meet potential people to network with, but networking is best done in person.
  6. Look for industry/function specific events. Many industries and functions (Marketing, Finance, etc.) have networking events (Meetups, etc.) especially around trade shows or other events big events. These events provide great opportunities to grow your network.
  7. Focus on building relationships… the rest will follow. Nobody likes to feel used or pumped for information. This is what ineffective networking feels like. Instead, try to become friends with the people you are networking with by focusing on what you have in common–hobbies, interests, etc. A great piece of advice when meeting someone new is to get them to talk about themselves as most people like talking about themselves.
  8. Ask for recommendations to keep your network growing. Once you have a strong network, share your networking goal with your contacts and see if they have any other recommendations for people you can meet. Doing this should keep your network fresh and ensure you are meeting new people.
  9. Don’t hesitate to help others. If you are always asking people to help you but you are unwilling to help others, your network will wither. Nobody likes selfish people. Be generous with your time and knowledge and the rewards will be great.
  10. Stay in touch. Networking is really just making new friends. If you only hear from someone via a brief message on LinkedIn once per year, would you really consider them a friend? Of course not. Relationships take time and attention, so be prepared to invest in both.

Use the points above and you will become a networking powerhouse in no time, and you will flourish personally and professionally.

Posted by: lrrp | April 3, 2018

Benefits of AWS Cloud Computing

Amazon Web Services(AWS) offers a secure cloud service platform, with ample compute power, database storage and myriads of other services that are vital to aiding a business scale and grow. To keep it short here’s why you need to join AWS and a few of the benefits it holds in store for your business. By the end of this article, we hope you love AWS as much as we do.

 

Cost efficiency and Flexibility

Pay only for the server requirements you need, with no long-term commitments or upfront expenses. Basically, it gives users the ability to adjust (scale up/down) their setup to meet their changing business requirements and even terminate your AWS account whenever required. So, you can chase revenue goals and reduce costs, by taking on new challenges and responding to beneficial business opportunities as and when they arise.

Global leader in cloud computing

The AWS Cloud is constantly extending its span, currently covering 54 availability zones within 18 geographic regions, with plans for growth (12 more availability zones) already in motion. What this also means is that AWS prices will continue to decrease due to economies of scale; as their Client base and Cloud consumption grows they will have to expand their infrastructure to accommodate this increase.

Multiple services that seamlessly integrate under one platform

Allowing users to select the specific operating system, database system, web application system, and programming language, AWS also enables users to load all the software and services your application requires. This not only makes the migration process for existing applications swift and convenient but also reserves the options for building new ones. Whilst streamlining the entire process of development for teams, it also eliminates the requirement for any additional products or services.

Heightened Security

Security is a huge advantage when using AWS server. Our clients work in different industries ranging from healthcare to retail and are very particular about data security.  AWS proves to be an invaluable asset because of its security features such as; authentication protocols, authorization, audit trials for users and data integrity. The AWS server uses an end-to-end model to keep data secure, with several security certifications like ISO 27001, HIPAA, PCI DSS Level 1, FISMA Moderate, and SAS 70 Type II.

Faster Deployment Speed

Deploying SAAS is much faster on AWS compared to other servers. Where standard deployment usually takes 2-3 days to acquire and test, AWS cuts the deployment phase down to just a few minutes.

Posted by: lrrp | April 1, 2018

Most valuable lessons in Life….

Posted by: lrrp | March 30, 2018

Why the two pizza team rule is the name of the game

Why two pizza teams? Well, simply because it works. A concept popularized by Jeff Bezos, ‘two pizza’ teams is not simply a management fad, but an idea backed by the science behind how people coordinate and communicate within teams.

Bigger isn’t always better      

As the story goes, the coining of the ‘two pizza’ rule was sparked by a discussion at an Amazon corporate retreat. One manager suggested that teams should communicate more with each other, a seemingly reasonable suggestion that Bezos shot down to everyone’s surprise. “Communication is terrible” he said, but the way to fix it was not to communicate more. He went on to explain that small teams make it easier to communicate more effectively, to stay decentralized and moving fast, while encouraging high autonomy and innovation. The rule of thumb he coined to summarize his idea was that a team should not be larger than two pizzas can feed. Let’s take a look at the science behind his thinking.

Communication becomes more problematic as team size grows

The late Harvard psychologist, J. Richard Hackman, bluntly stated, “What he found was that number of links between people within a team increased at an exponential rate as the team size grew. Management – essentially the task of handling these links, consequently becomes harder.

The formula for calculating the number of links between people in a group is as follows;

n(n-1)/2, where n = number of people

Let’s look at how this works as team size increases.

As group size increases, the links start to get unwieldy

  • A basic two-pizza team size of, say, 6, has 15 links between everyone
  • Double that group for a team of 12. That shoots up to 66 links
  • A group of 50 people has an incredible 1225 links to manage

Every steep jump in links also produces a steep jump in the potential for mismanagement, misinterpretation, and miscommunication. Delays emerge from the snowballing time and effort required to keep everyone informed, coordinated, and integrated. There’s even a name for the delaying phenomenon in the software development world — Brooke’s Law, which states that:

“adding human-power to a late software project just makes it later.”

Put simply, throwing more bodies at a problem becomes an increasingly inefficient solution, as team size grows.

Getting lost in the crowd

Studies have also shown that larger groups also have a negative effect on motivation – a phenomena known as social loafing. In layman’s terms this is the classic result of thinking that “someone else will do it, if I don’t”. Bibb Latane, who demonstrated this via multiple studies described the lower sense of ownership that a members of larger teams feel as follows;

“when groups get larger, you experience less social pressure and feel less responsibility because your performance becomes difficult, or even impossible, to correctly assess amidst a crowd. It’s no wonder that when credit and blame get harder to assign, you start to feel disconnected from your job.”

Smaller teams get more love

Psychologists have also uncovered an emotional element that leads to deteriorating performance in larger teams – termed “relational loss”. Research into how team members felt within teams of varying sizes revealed that people feel confused about where to turn and who to turn to, for support, in larger teams. Think back to the last time when you were part of a tight knit team where you regularly interacted and spent time with everyone on a daily basis and this should seem fairly obvious.

Larger teams need to rely on formal structure and roles. When asking a peer for help becomes a formal request, it is likely to be done with some reluctance. It is easy to underestimate the overall effect of informal links within a small team that make work more enjoyable and socially rewarding, until workers start feeling disengaged and stifled by bureaucracy. Anyone who has gone through this experience can attest to how both individual and team output as well as creativity and satisfaction at work, all take a collective nose dive in such a situation.

Our formula for happy teams

So is there a magic number for optimal team size? Bezos’s two-pizza rule works out to at most 6 or 7 non-ravenous people.One should typically keep teams to this size.

Transparency should built into the mode of operation to ensure that everyone within a team is on the same page. Teams use email groups or public chat channels to coordinate work, hence everyone has access almost all communication. Every team operates with a significant amount of autonomy, in everything from scheduling to how work is allocated among members.

Posted by: lrrp | March 29, 2018

Knowledge is the new currency

American companies hold an estimated 11 million meetings every day. That’s a lot of conference room hours.

Meetings may be an inescapable aspect of work culture, but Amazon CEO Jeff Bezos has implemented a very strict rule of thumb to ensure that his schedule is only filled with meetings that are worth his time.

In addition to convening with Amazon investors for just six hours a year and avoiding early morning meetings, it is reported that the self-made billionaire has a “two pizza rule” that helps him to banish unnecessary gatherings from his schedule.

While, sadly, the rule does not mandate that pizza be present at meetings, it does mean that Bezos won’t call a meeting, or even go to a meeting, if two pizzas wouldn’t feed the entire group.

Research shows that fewer meetings can boost employee and organizational productivity, and many other leaders have methods like Bezos’ for reigning in what they see as time-wasting gatherings.

 Basecamp CEO Jason Fried uses a similar strategy at his company, which he says allows his employees to stick to a strict 32-hour workweek schedule during the summer, and a 40-hour workweek during the rest of the year.

“People are always surprised by that,” he tells , “and I tell them you can get plenty of stuff done in 32 and 40 hours if you cut out all the stuff that’s taking up your time.”

According to a Harvard Business Review study that examined the Outlook calendars of multiple workers at a large company, consecutive weekly meetings can consume as many as 300,000 hours a year of employees’ time.

That’s why Fried says there are no mandatory regular meetings for Basecamp employees, and like Bezos, any meeting that does take place includes only a small group of attendees.

“I can probably count on one hand how many times we’ve had a meeting with more than four people,” says Fried. “Less people helps a meeting to move a lot faster.

 

 

Microservices shake up older ways of thinking as they dissolve monolithic applications,

Older Posts »

Categories