ALU

dev career

Success Criteria: 21 Years of Software Engineering

Oct 2018: The fact that people — well, companies mostly — have been doing me the great courtesy of paying me to produce software for them for more than 21 entire years leaves me feeling incredibly lucky — and faintly horrified at just how quickly that time has passed. Increasingly often, new grads joining me in the workplace will be younger than the bugs I’ve left behind, so it seems a good time to pause and reflect!

Have I learned anything in 21 years of professional software development? Well, yeah, a whole bunch of stuff! I’ve been paying some attention!

Some of it’s obsolete now, not least all the cool Excel stuff I could do before Microsoft excreted its damned Office Ribbon thing into the world thing leaving me unarmed and bewildered. But some of it could, perhaps, by particularly kind observer, be called some form of wisdom. Facts, anyway. Experience.

Original Link

Why Should You Be Invited to A Meeting?

There was a Twitter interaction about testers being invited or not to team meetings and about providing value to the team.

And it got me thinking.

Original Link

The Fear of an Empty Source File

I have been writing software at this point for over twenty years, and I want to believe that I have learned a few things during that timeframe.

And yet, probably the hardest thing for me is to start writing from scratch. If there is no code already there, it is all too easy to get lost in the details and not actually be able to get anywhere.

Original Link

How to Make the Transition to a New Career

I’ve seen a number of individuals make transitions to new careers through all walks of life. Heck, I’ve seen English and History majors excel at IT consulting and end up being great senior IT executives!

It can be done just like Ray Kroc started McDonald’s in his early 50s. Nothing is ever too late.

Original Link

How to Write Software: 5 Lessons Learned from Running Businesses

I used to write software for a living. I did that for a lot of years, as a matter of fact. And, in doing so, I learned a lot about how to write software.

But I learned this from the perspective of, well, a wage software developer. Today, I’d like to reflect on how my view has evolved over the last number of years.

Original Link

Two Mistakes in Dev Resumes (and How to Avoid Them)

Employers and recruiters spend on average 7 seconds reading a resume so if you don’t immediately capture and retain their attention; your resume is going straight in the reject pile. As a Resume Writer, I have noticed these two common mistakes made in my Software Developer clients’ resumes. Take note of my advice and watch the interview invites come rolling in.

Your Resume Isn’t Tailored to Every Job You Apply To  

A common mistake made by my clients is that they use the same resume to apply to multiple jobs. You should have a different resume for every job you apply to. Job adverts posted by employers and recruiters differ so why would you use the same resume to apply for each job? Your resume needs to closely match employers’ requirements.

Original Link

How I Am So Productive and How You Can Be, Too

People regularly ask me how I get so much done. Here’s my secret…

I get asked about this at least twice a week, so I thought I’d save myself some time by writing a blog post I can reference instead of answering the same question repeatedly (spoiler, this is one of my secrets).

To help give you context, here are some of the things I do on a fairly regular basis these days:

Original Link

My Job Search Checklist

Not too long after I started my career, in the 1990s, I found myself on the other side of the interview table. Part of my responsibilities were to evaluate and interview candidates for the summer internships. This was quite an interesting challenge for me, since I was sitting on the other side of the interview table just months before I was given the task.

Over the last twenty-seven years, I have been involved with the new hire process — scanning through piles of resumes, interviewing candidates and even making the decision on who to hire and to not hire for a given position. During this time, I have built my own top-ten list of things to keep in mind when submitting your credentials for an open opportunity.

Original Link

Don’t Make Me Guess

It’s Sunday. I’m at home, drinking tea and writing a new document for one of our future investors. One of my contacts in Telegram all of a sudden shoots me a message. I haven’t talked to this guy for at least two months. He is a software developer. I know him because he works at Zerocracy. His name is Paul.

Сталкер (1979) by Андрей Тарковский

Original Link

Effort vs. Productivity on Software Development

I am sure you have heard that software developers are lazy. They don’t do much most of the time and only actually work a couple of hours over the day.

When you are in an assembly plant, for example, assembling televisions, it’s an issue in that type of work if someone stops doing his task for just a couple of minutes. Those couple of minutes will mean that fewer televisions will be produced and when we convert that to money, it will raise the cost of the product.

Original Link

Gamification Projects that Make Our Lives Better

I strongly believe that gamification projects should create meaningful experiences. There are different purposes for gamification projects, like encouraging people to power through necessary tasks, providing motivation to learn more than they normally would, or encouraging them to innovate and open their mind for changes.

The definition of gamification is very simple: it’s a process for integrating game mechanics into something that already exists to motivate participation, engagement, and loyalty. It uses competition, points, achievement, rules of play, status, and self-expression to encourage actions through positive feedback.

Original Link

Three Rules that Helped Me Becoming a Better Professional

Normally in this blog I write about technical stuff: mostly tutorials and ideas on software design.
Sometimes, however, I share what is going on with my professional life: I wrote about what I learned working at TripAdvisor, and about my first year as an independent consultant, before I co-founded Strumenta.

Over the years I had many different experiences, which taught me a lot. I picked things here and there but there are three simple rules that I realized helped me a lot in acting as a better professional. They helped me obtain better results when working in a team and creating a better environment for collaboration.

Original Link

What I Learned Attending a Serverless Conference

Four weeks ago, I attended the Serverlessconf in San Francisco. The following are my notes, observations, opinions, and pictures from the conference (in no particular order).

Serverless Awesome

Serverless is awesome because:

Original Link

7 Tips to Get the Most Out Of Online Courses

Online courses have become an important channel to gain skills, education, and certification. Over the past decade, online courses have grown to cater to diverse learning needs and reach out to students in all corners.

And that’s not surprising. Online courses offer some unique advantages. One of the most important advantages is that if you enroll for an online course, you can choose your own pace of learning. That is quite different from a physical classroom, where you are forced to go at the pace of the instructor.

Original Link

Full Stack Developers and Where to Find Them

In response to the question of what a Full Stack Developer is, we first must define what we mean by “stack." A stack relates to all of the elements needed to run an application. This involves frameworks and components internal to an application, such as the UI frameworks, MVC frameworks, data entry libraries, etc. It can also involve things external to an application, such as the operating system, application server, and database.

Thus, a full stack developer is a developer that works in all parts of an application, from high-level frameworks all the way back to the servers that host the application components. In some cases, the definition of a stack is limited to the internal components of an application, not including things like servers and operating systems. Nevertheless, the concept is the same: full stack developers are capable of working all over several layers of the stack. They are not limited to a single aspect, such as the UI.

Original Link

8 Proven Steps to Transition from Developer to Business Analyst

This is a very frequent request that we come across.

“I have been a software developer for quite some time and would like to learn about a new role. I am excited about a business analysis career, but I have no idea as to how to transition into the new role. “

Original Link

How Programmers Should Negotiate Their Salaries [Comic]

Programmers and Salary Negotiations

Ever went to a job interview and were unpleasantly surprised? Check out Roland shopping for his next job gig and bear witness to how his confident salary expectation was nulled in an instant.

Be a Mysterious Programmer

Ever heard of the Noel Smith-Wenkle Salary Negotiation Method? This method advises to never reveal your expectations and suggests to let the company you are interviewing for reveal the actual numbers. This way you’ll be able to decide, whether the amount deserves your skillset or not. In case the numbers don’t match, the method further advises, not to reveal any digit.

Original Link

Do You Love Your Job?

You

Introduction

Do you love your job? I am sure that you have thought of this question before, or perhaps someone might have asked you this question. I agree that it is a simple question, and it has simple words in it. But were you able to answer that? If you have never tried to answer that, please try now. If you have a satisfying answer within you, then that is amazing. Unfortunately, if you can’t answer that positively or are uncertain, please read this post.

Background

If you want to see some tips to become a successful software engineer, I strongly recommend that you read my post here. Until now, I’ve worked with many companies, including startups and multinational companies. After joining a company, I asked this question “Do I love this job?”, “Is it what I am capable of?”, and “Is this work challenging me?” Sometimes, the answer to these questions came in the form of my resignations. In this 7-year span, I have learned a few things, and I am happy to share that information with you all. You can always see the articles related to career advice here.

Original Link

Simple Steps to Make Agile Retrospectives Fun and Effective

Before explaining a sprint retrospective, I am assuming that you have a fairly good knowledge of Agile practice management. This blog doesn’t cover Agile basics. This blog is for anyone who wants to be successful in running an Agile Retrospective.

The sprint retrospective is just for Scrum teams and gives the team an opportunity at the end of the sprint to take a look back at the sprint that just ended, which may be one or two weeks depending on your sprint length and determine, what went well, what problem areas that may have had and how they can improve upon those areas as they move forward to the next sprint.

Original Link

How to Foster Software Developer Productivity [Video]

Last month, we were very fortunate to have André Meyer come into Tasktop to give a presentation on fostering software developer productivity. For many years André has been working with a research team with one of our company co-founders, Gail Murphy, to address the ongoing supply and demand shortage in software delivery.

As "software continues to eat the world," the need for software is outstripping our ability to supply it. Just how do we enable and empower software developers to build better software faster and make them more productive?

Original Link

Accept the Change!


Change is inevitable and constant; it is a part of our lives. Sooner or later, we have to accept the change. 13 years ago, I joined a small IT organization of around 100 people, as a developer. I have grown with the organization, a journey that has seen it grow to 40 times its original size. I really thank the organization for giving me the opportunity and transforming me into what I am today. Now, the time has come to accept a change, and start a new journey. I am writing this post to share my point of view about when to accept the change.

When to Change the Organization?

The intention behind this post is not to answer this question, but to address what you get and what you lose when you stay too long in the same organization. I have also taken inputs from many senior folks who joined us or left us after a long stay. When to change is really an individual’s choice. If you are aware of the pros and cons of staying at a company for a long time, then you may probably work on the cons and stay relevant even longer, or don’t change at all.

Original Link

Are Standing Meetings Scuppered By Social Awkwardness?

Meetings are one of the most frustrating aspects of modern working life, with few of us enjoying them, yet most of us suffering a growing number during a typical day. Some believe that standing during the meeting renders them more productive as being upright gives them a sense of urgency that is often lacking.

Alas, recent research from King’s College London and Brunel University London suggests that participants struggle during such meetings as standing appears to break the social rules of the meeting.

Original Link

5 Easy Hacks To Quickly Learn Any Programming Language

In today’s society, everything we do has some form of software programming involved. Whether it’s navigating through the various applications we have on our phone, browsing our favorite websites during downtime, or inputting critical data into a software at work – programming surrounds our daily interactions. As companies increasingly look for ways to cut cost and increase revenue, programmers are needed to drive this innovation and propel society into the future.

The demand for programmers is not only making the job one of the most lucrative but also one of the fastest growing over the decade – 24% projected growth over the next decade according to the Bureau of Labor Statistics.

Original Link

Shift Developer Conference 2018 — How to Jump Start a Career in Open Source (Video)


As previously posted, I spent this week at the largest developer conference in Southeast Europe, known as the Shift Developer Conference 2018.

I gave a talk on the soft skill side of development, suggesting some ways to jump-start a career in open source. I did not mention coding, pull requests or even suggest to join a coding project. It’s more subtle than the obvious components one would expect in such a topic.

Original Link

The Skills Ladder for Nontraditional Developers

Nobody likes to give up control. When many CIOs and IT managers first hear about citizen developers, they may worry that citizen developers don’t know enough to develop applications that add business value, but know just enough to create a mess that an IT department will have to clean up.

And yes, these are valid concerns if strategic steps are not taken to strategize the implementation of a citizen developer policy within an organization. This will require planning, structure, and organization, but also vision.

Original Link

10 Best Websites to Learn to Code as of 2018

Coding is vital to computers and IT. And I don’t need to be a genius to say or know this. So, what is coding, and why does it occupy a position of such preeminence to this field? Simply put, coding is a set of commands that tells your computer to do what you want it to.

You could see it as something that is told to the computer in a language and way understands it. Since it is a machine, it needs exact prompts, commands and directions to do what you want it to. Carrying this out is what coding encompasses.

Original Link

How The Sexes React To Imposter Syndrome

Imposter syndrome is something many of us have probably encountered at some point in our lives. Its impact can be a severe one, with previous studies showing that it can have a significant impact on our careers.

A recent study from the Department of Management at Youngstown State University in Ohio, explores whether men or women are more likely to suffer from imposter syndrome. As we might expect, the study found that men and women respond in very different ways.

Original Link

Being Good at Your Job is Overrated

Let me be clear about something. This title isn’t clickbait. I mean it. But I mean it literally. Being good at your job is overrated. We value it too highly.

If you’re a long-time follower of this blog, you might think this is a curious sentiment against a backdrop of advocating for practices like test-driven development. And if you’ve wandered here from somewhere else, you might think this vacuously contrarian.

Original Link

An Ultimate Guide on Hiring the Best IT Specialists

The overheated IT labor market, where the number of open positions is larger than the number of eligible candidates, demands different approaches when salary is no longer a key advantage in the battle for real IT professionals. Such popular methods of motivation and remuneration as additional leave time, certificates, and other rewards are not enough anymore. Companies have to come up with creative ways to attract new workers and retain them.

Where should one search for IT specialists?

In addition to job searching websites, one definitely needs to address the existing employees of the company, specifically their IT department specialists. There are really high chances that they will recommend one of their old colleagues or friends. Personal connections are the second most popular way for IT experts to look for employment after the specific job-searching websites. This fact is especially important when searching for applicants with more than 10 years of working experience.

Pay attention to how eligible candidates are searching because 38% of them will directly address the companies of their interest, 28% will use various search engines, 25% will rely on social networks and media, and 22% will use specific professional communities in the web.

What Will They Look at During the Interview?

The first impression of your office is one of the key factors that affect the applicant’s decision. Only 12% of IT specialists are interested in the job position itself without being worried about the comfort and the atmosphere in their working place. The candidates are interested in good transport accessibility, and the overall level of comfort at the office. Some other key factors that may be taken into account include the overall number of people working in one room, the distance between them, or the availability of a private or secluded place for special moments and emergency situations.

Now let’s take a look at the questions for the interview, which will allow you to find the best applicants:

Tell us about your perfect day at work.

By getting an answer to this question you may understand the priorities and the most important task for the candidate, as well as the amount of time he/she spends working during the day.

Look at your parents. Which traits would you like to keep in your life and the lives of your kids?

The main task here is to get a sincere answer and not a rehearsal. By asking this question you push the applicant to think and tell you about the most valuable things and qualities in their life. When you hear the first part of the answer, you don’t really need to hear the rest. Ask the following question right away: “What else?” You need to follow this rule if you want to get an honest and detailed answer. Try to control yourself, and wait for the answer without pushing them — even if they remain silent for some period of time. By doing so you allow them time to think and give you a detailed and comprehensive answer.

How did your belief system change during the years of work in the field of IT?

You need to understand if the candidate is able to see the dynamics of the IT market, the rapid competition growth, and the constant need for professional and personal development and self-control.

Tell me about the main failures in your life.

This question will allow you to understand if the candidate is able to analyze his own mistakes and create the required conclusions. If the candidate is not able to remember even one of his failures, that probably means he is not able to accept his own mistakes, or he is pretty sure that all other people are guilty of his failures, while he is doing really well.

Why do you want to change your employer?

There’s no right answer to this question, as well as for other similar questions. However, if you see that the candidate is speaking of their colleagues, previous employer, or customers in a negative way, you need to write it down like a troubling sign.

What will you do when you understand that you are not able to finish everything on time (too many tasks)?

The answer and the solution give a lot of information about the candidate. If the applicant wants to do everything on their own, there are high chances that such a candidate is not able to work in a team, trying to be the last man standing. In case if the applicant tells you that they would ask a manager about the priority of the tasks and additional resources, you can be sure that they are a rational, proactive and potentially talented worker with a great growth potential.

What would you do if you have one task to do, or no work at all?

This question allows understanding if the applicant is going to take some additional work, or prefers to learn something new, spending time for self-education.

Tell us about two or three trends which are pertinent to the field of IT. How do they affect your profession?

This is a kind of panoramic question. In this case, you need to pay attention to the professional erudition of the applicant, and not to the way he’s saying. This answer is really important in case if you want to find a person who’s able to think outside the box, understand the field of IT, and is interested in new technologies and achievements.

Tell us about your feelings when you had to work on a task which you couldn’t really understand.

This question is more appropriate for a doer and not for a leader. However, you will be able to understand the behavior of the applicant in new and unusual conditions. Is the candidate able to give you a list of questions, which he/she would ask to make it clearer?

Tell us about your feelings when you had to do something for the first time in your life (new technologies, new projects, a new field of work etc.).

This question looks similar to the previous one, but the idea of this question is to understand the level of ambition, and an ability to adapt to new and constantly changing conditions of life. Make a note if you see that the applicant has never experienced such situations, or can’t give you an answer.

When the interview is over, you need to ask yourself and other colleagues the following question: Can I ever take this guy (girl) to my home to spend holidays?

Even though this question may look a bit personal, you need to answer it because you have to work together. Trust your feelings and let the answer come to you naturally without you overthinking the matter — even though you haven’t spent a lot of time together.

How to Carry the Technical Interview Out

“During the interview, you need to pay attention more to a person’s ability to find creative solutions and algorithms and carry them through rather than their knowledge of specific frameworks, or how well they remember some standard language parameters. To test the thinking processes I recommend using a very simple task that could be outlined on the piece of paper (or a whiteboard) and discuss the logic behind it right on spot. Also, check the candidate’s knowledge of the very basics of programming with no connection to a specific language. Comparing to self-taught candidates, programmers with a fundamental professional training will most likely possess this kind of knowledge and it’s a very important aspect as you need specialists with a solid educational background.” — Alexandr L., CTO at SE Ranking

Bonus: How to Lure the Best It Experts to Your Company

After analyzing the motivational programs of HR-managers in IT companies, we were able to find the five key factors that are most important to bringing the best talent to your company.

Working Space Navigation

These days one can’t impress an IT expert by showing a spacious and comfortable office equipped with the latest technologies, relaxation areas, showers and the canteen. Such leading companies as Google, Amazon, and IBM have been offering this kind of motivation for ages. A different situation is when the employees are able to plan their office on their own, starting with design, and finishing with small interior objects.

Another impressive and efficient way is to invite a person to a remote office of an American or European company located, for example, in Thailand. Famous LinguaLeo startup has chosen this way, offering their employees a chance to live and work in a tropical heaven. Such an approach allows not only attracting new specialists but reducing the overall expenses. There are high chances that the employer will ask the potential candidate about the preferred country for working and living in the nearest future.

Looking After the Family

In addition to the opening corporate kindergartens, running parents’ day, and carrying out family holidays, some companies are able to look after the household needs of the employees. For example, they allow taking their pets to the office, pay for the nanny services or offer summer internships for the children of the employees.

Some businesses offer their employees dress-making, tailoring, repairing, delivery, cleaning, and even hairdressing services. By attracting subject matter experts, the company is able to concentrate on the workflow.

Workflow Structure

Classic systems of interaction between the employer and the employee are fading away. Employees have to be able to solve the majority of the issues on their own without being pressed by the management. Obviously, not all the businesses are ready for such radical changes; however, a new approach to the working process is psychologically comfortable and brings the feeling of satisfaction from the entire working process.

Corporate Education

Corporate educational centers are the real alternative for the system of the higher education, in the majority of countries, which are not able to provide the high quality of IT education. This new offering was created not only for aspiring specialists but for the experienced experts as well, who are able to get a whole set of specific knowledge.

Social Responsibility and Charity

The famous developer of linguistic software, ABBYY, actively works on “Ecology++” project. It includes “days without using paper” when workers use only digital document sharing system. The company has so-called “eco-wall,” where the employees are able to bring old lamps, batteries, papers and magazines for recycling.

The ecological approach, volunteering, and help to the less fortunate people become more and more popular among the progressive youth. Furthermore, this field attracts the attention of various media, political and cultural workers. It seems that this trend will get more and more popular.

The leading IT experts will work in companies which will be able to offer the total freedom in all aspects of life “‘without discontinuing work.” So we will witness a lot of new things and surprises.

Conclusion

The process of finding the best talent for your company is not just about your performance indicators and business aspects. It affects the behavior of your employees in the real world, even though you are hardly able to control and analyze it. Even though the questions offered in this article are created for interviews with applicants, sometimes we need to stop for a while, and ask ourselves: “What can I do in order to change someone’s life for the better?”

Original Link

An Ultimate Guide on Hiring the Best IT Specialists

The overheated IT labor market, where the number of open positions is larger than the number of eligible candidates, demands different approaches when salary is no longer a key advantage in the battle for real IT professionals. Such popular methods of motivation and remuneration as additional leave time, certificates, and other rewards are not enough anymore. Companies have to come up with creative ways to attract new workers and retain them.

Where should one search for IT specialists?

In addition to job searching websites, one definitely needs to address the existing employees of the company, specifically their IT department specialists. There are really high chances that they will recommend one of their old colleagues or friends. Personal connections are the second most popular way for IT experts to look for employment after the specific job-searching websites. This fact is especially important when searching for applicants with more than 10 years of working experience.

Pay attention to how eligible candidates are searching because 38% of them will directly address the companies of their interest, 28% will use various search engines, 25% will rely on social networks and media, and 22% will use specific professional communities in the web.

What Will They Look at During the Interview?

The first impression of your office is one of the key factors that affect the applicant’s decision. Only 12% of IT specialists are interested in the job position itself without being worried about the comfort and the atmosphere in their working place. The candidates are interested in good transport accessibility, and the overall level of comfort at the office. Some other key factors that may be taken into account include the overall number of people working in one room, the distance between them, or the availability of a private or secluded place for special moments and emergency situations.

Now let’s take a look at the questions for the interview, which will allow you to find the best applicants:

Tell us about your perfect day at work.

By getting an answer to this question you may understand the priorities and the most important task for the candidate, as well as the amount of time he/she spends working during the day.

Look at your parents. Which traits would you like to keep in your life and the lives of your kids?

The main task here is to get a sincere answer and not a rehearsal. By asking this question you push the applicant to think and tell you about the most valuable things and qualities in their life. When you hear the first part of the answer, you don’t really need to hear the rest. Ask the following question right away: “What else?” You need to follow this rule if you want to get an honest and detailed answer. Try to control yourself, and wait for the answer without pushing them — even if they remain silent for some period of time. By doing so you allow them time to think and give you a detailed and comprehensive answer.

How did your belief system change during the years of work in the field of IT?

You need to understand if the candidate is able to see the dynamics of the IT market, the rapid competition growth, and the constant need for professional and personal development and self-control.

Tell me about the main failures in your life.

This question will allow you to understand if the candidate is able to analyze his own mistakes and create the required conclusions. If the candidate is not able to remember even one of his failures, that probably means he is not able to accept his own mistakes, or he is pretty sure that all other people are guilty of his failures, while he is doing really well.

Why do you want to change your employer?

There’s no right answer to this question, as well as for other similar questions. However, if you see that the candidate is speaking of their colleagues, previous employer, or customers in a negative way, you need to write it down like a troubling sign.

What will you do when you understand that you are not able to finish everything on time (too many tasks)?

The answer and the solution give a lot of information about the candidate. If the applicant wants to do everything on their own, there are high chances that such a candidate is not able to work in a team, trying to be the last man standing. In case if the applicant tells you that they would ask a manager about the priority of the tasks and additional resources, you can be sure that they are a rational, proactive and potentially talented worker with a great growth potential.

What would you do if you have one task to do, or no work at all?

This question allows understanding if the applicant is going to take some additional work, or prefers to learn something new, spending time for self-education.

Tell us about two or three trends which are pertinent to the field of IT. How do they affect your profession?

This is a kind of panoramic question. In this case, you need to pay attention to the professional erudition of the applicant, and not to the way he’s saying. This answer is really important in case if you want to find a person who’s able to think outside the box, understand the field of IT, and is interested in new technologies and achievements.

Tell us about your feelings when you had to work on a task which you couldn’t really understand.

This question is more appropriate for a doer and not for a leader. However, you will be able to understand the behavior of the applicant in new and unusual conditions. Is the candidate able to give you a list of questions, which he/she would ask to make it clearer?

Tell us about your feelings when you had to do something for the first time in your life (new technologies, new projects, a new field of work etc.).

This question looks similar to the previous one, but the idea of this question is to understand the level of ambition, and an ability to adapt to new and constantly changing conditions of life. Make a note if you see that the applicant has never experienced such situations, or can’t give you an answer.

When the interview is over, you need to ask yourself and other colleagues the following question: Can I ever take this guy (girl) to my home to spend holidays?

Even though this question may look a bit personal, you need to answer it because you have to work together. Trust your feelings and let the answer come to you naturally without you overthinking the matter — even though you haven’t spent a lot of time together.

How to Carry the Technical Interview Out

“During the interview, you need to pay attention more to a person’s ability to find creative solutions and algorithms and carry them through rather than their knowledge of specific frameworks, or how well they remember some standard language parameters. To test the thinking processes I recommend using a very simple task that could be outlined on the piece of paper (or a whiteboard) and discuss the logic behind it right on spot. Also, check the candidate’s knowledge of the very basics of programming with no connection to a specific language. Comparing to self-taught candidates, programmers with a fundamental professional training will most likely possess this kind of knowledge and it’s a very important aspect as you need specialists with a solid educational background.” — Alexandr L., CTO at SE Ranking

Bonus: How to Lure the Best It Experts to Your Company

After analyzing the motivational programs of HR-managers in IT companies, we were able to find the five key factors that are most important to bringing the best talent to your company.

Working Space Navigation

These days one can’t impress an IT expert by showing a spacious and comfortable office equipped with the latest technologies, relaxation areas, showers and the canteen. Such leading companies as Google, Amazon, and IBM have been offering this kind of motivation for ages. A different situation is when the employees are able to plan their office on their own, starting with design, and finishing with small interior objects.

Another impressive and efficient way is to invite a person to a remote office of an American or European company located, for example, in Thailand. Famous LinguaLeo startup has chosen this way, offering their employees a chance to live and work in a tropical heaven. Such an approach allows not only attracting new specialists but reducing the overall expenses. There are high chances that the employer will ask the potential candidate about the preferred country for working and living in the nearest future.

Looking After the Family

In addition to the opening corporate kindergartens, running parents’ day, and carrying out family holidays, some companies are able to look after the household needs of the employees. For example, they allow taking their pets to the office, pay for the nanny services or offer summer internships for the children of the employees.

Some businesses offer their employees dress-making, tailoring, repairing, delivery, cleaning, and even hairdressing services. By attracting subject matter experts, the company is able to concentrate on the workflow.

Workflow Structure

Classic systems of interaction between the employer and the employee are fading away. Employees have to be able to solve the majority of the issues on their own without being pressed by the management. Obviously, not all the businesses are ready for such radical changes; however, a new approach to the working process is psychologically comfortable and brings the feeling of satisfaction from the entire working process.

Corporate Education

Corporate educational centers are the real alternative for the system of the higher education, in the majority of countries, which are not able to provide the high quality of IT education. This new offering was created not only for aspiring specialists but for the experienced experts as well, who are able to get a whole set of specific knowledge.

Social Responsibility and Charity

The famous developer of linguistic software, ABBYY, actively works on “Ecology++” project. It includes “days without using paper” when workers use only digital document sharing system. The company has so-called “eco-wall,” where the employees are able to bring old lamps, batteries, papers and magazines for recycling.

The ecological approach, volunteering, and help to the less fortunate people become more and more popular among the progressive youth. Furthermore, this field attracts the attention of various media, political and cultural workers. It seems that this trend will get more and more popular.

The leading IT experts will work in companies which will be able to offer the total freedom in all aspects of life “‘without discontinuing work.” So we will witness a lot of new things and surprises.

Conclusion

The process of finding the best talent for your company is not just about your performance indicators and business aspects. It affects the behavior of your employees in the real world, even though you are hardly able to control and analyze it. Even though the questions offered in this article are created for interviews with applicants, sometimes we need to stop for a while, and ask ourselves: “What can I do in order to change someone’s life for the better?”

Original Link

An Ultimate Guide on Hiring the Best IT Specialists

The overheated IT labor market, where the number of open positions is larger than the number of eligible candidates, demands different approaches when salary is no longer a key advantage in the battle for real IT professionals. Such popular methods of motivation and remuneration as additional leave time, certificates, and other rewards are not enough anymore. Companies have to come up with creative ways to attract new workers and retain them.

Where should one search for IT specialists?

In addition to job searching websites, one definitely needs to address the existing employees of the company, specifically their IT department specialists. There are really high chances that they will recommend one of their old colleagues or friends. Personal connections are the second most popular way for IT experts to look for employment after the specific job-searching websites. This fact is especially important when searching for applicants with more than 10 years of working experience.

Pay attention to how eligible candidates are searching because 38% of them will directly address the companies of their interest, 28% will use various search engines, 25% will rely on social networks and media, and 22% will use specific professional communities in the web.

What Will They Look at During the Interview?

The first impression of your office is one of the key factors that affect the applicant’s decision. Only 12% of IT specialists are interested in the job position itself without being worried about the comfort and the atmosphere in their working place. The candidates are interested in good transport accessibility, and the overall level of comfort at the office. Some other key factors that may be taken into account include the overall number of people working in one room, the distance between them, or the availability of a private or secluded place for special moments and emergency situations.

Now let’s take a look at the questions for the interview, which will allow you to find the best applicants:

Tell us about your perfect day at work.

By getting an answer to this question you may understand the priorities and the most important task for the candidate, as well as the amount of time he/she spends working during the day.

Look at your parents. Which traits would you like to keep in your life and the lives of your kids?

The main task here is to get a sincere answer and not a rehearsal. By asking this question you push the applicant to think and tell you about the most valuable things and qualities in their life. When you hear the first part of the answer, you don’t really need to hear the rest. Ask the following question right away: “What else?” You need to follow this rule if you want to get an honest and detailed answer. Try to control yourself, and wait for the answer without pushing them — even if they remain silent for some period of time. By doing so you allow them time to think and give you a detailed and comprehensive answer.

How did your belief system change during the years of work in the field of IT?

You need to understand if the candidate is able to see the dynamics of the IT market, the rapid competition growth, and the constant need for professional and personal development and self-control.

Tell me about the main failures in your life.

This question will allow you to understand if the candidate is able to analyze his own mistakes and create the required conclusions. If the candidate is not able to remember even one of his failures, that probably means he is not able to accept his own mistakes, or he is pretty sure that all other people are guilty of his failures, while he is doing really well.

Why do you want to change your employer?

There’s no right answer to this question, as well as for other similar questions. However, if you see that the candidate is speaking of their colleagues, previous employer, or customers in a negative way, you need to write it down like a troubling sign.

What will you do when you understand that you are not able to finish everything on time (too many tasks)?

The answer and the solution give a lot of information about the candidate. If the applicant wants to do everything on their own, there are high chances that such a candidate is not able to work in a team, trying to be the last man standing. In case if the applicant tells you that they would ask a manager about the priority of the tasks and additional resources, you can be sure that they are a rational, proactive and potentially talented worker with a great growth potential.

What would you do if you have one task to do, or no work at all?

This question allows understanding if the applicant is going to take some additional work, or prefers to learn something new, spending time for self-education.

Tell us about two or three trends which are pertinent to the field of IT. How do they affect your profession?

This is a kind of panoramic question. In this case, you need to pay attention to the professional erudition of the applicant, and not to the way he’s saying. This answer is really important in case if you want to find a person who’s able to think outside the box, understand the field of IT, and is interested in new technologies and achievements.

Tell us about your feelings when you had to work on a task which you couldn’t really understand.

This question is more appropriate for a doer and not for a leader. However, you will be able to understand the behavior of the applicant in new and unusual conditions. Is the candidate able to give you a list of questions, which he/she would ask to make it clearer?

Tell us about your feelings when you had to do something for the first time in your life (new technologies, new projects, a new field of work etc.).

This question looks similar to the previous one, but the idea of this question is to understand the level of ambition, and an ability to adapt to new and constantly changing conditions of life. Make a note if you see that the applicant has never experienced such situations, or can’t give you an answer.

When the interview is over, you need to ask yourself and other colleagues the following question: Can I ever take this guy (girl) to my home to spend holidays?

Even though this question may look a bit personal, you need to answer it because you have to work together. Trust your feelings and let the answer come to you naturally without you overthinking the matter — even though you haven’t spent a lot of time together.

How to Carry the Technical Interview Out

“During the interview, you need to pay attention more to a person’s ability to find creative solutions and algorithms and carry them through rather than their knowledge of specific frameworks, or how well they remember some standard language parameters. To test the thinking processes I recommend using a very simple task that could be outlined on the piece of paper (or a whiteboard) and discuss the logic behind it right on spot. Also, check the candidate’s knowledge of the very basics of programming with no connection to a specific language. Comparing to self-taught candidates, programmers with a fundamental professional training will most likely possess this kind of knowledge and it’s a very important aspect as you need specialists with a solid educational background.” — Alexandr L., CTO at SE Ranking

Bonus: How to Lure the Best It Experts to Your Company

After analyzing the motivational programs of HR-managers in IT companies, we were able to find the five key factors that are most important to bringing the best talent to your company.

Working Space Navigation

These days one can’t impress an IT expert by showing a spacious and comfortable office equipped with the latest technologies, relaxation areas, showers and the canteen. Such leading companies as Google, Amazon, and IBM have been offering this kind of motivation for ages. A different situation is when the employees are able to plan their office on their own, starting with design, and finishing with small interior objects.

Another impressive and efficient way is to invite a person to a remote office of an American or European company located, for example, in Thailand. Famous LinguaLeo startup has chosen this way, offering their employees a chance to live and work in a tropical heaven. Such an approach allows not only attracting new specialists but reducing the overall expenses. There are high chances that the employer will ask the potential candidate about the preferred country for working and living in the nearest future.

Looking After the Family

In addition to the opening corporate kindergartens, running parents’ day, and carrying out family holidays, some companies are able to look after the household needs of the employees. For example, they allow taking their pets to the office, pay for the nanny services or offer summer internships for the children of the employees.

Some businesses offer their employees dress-making, tailoring, repairing, delivery, cleaning, and even hairdressing services. By attracting subject matter experts, the company is able to concentrate on the workflow.

Workflow Structure

Classic systems of interaction between the employer and the employee are fading away. Employees have to be able to solve the majority of the issues on their own without being pressed by the management. Obviously, not all the businesses are ready for such radical changes; however, a new approach to the working process is psychologically comfortable and brings the feeling of satisfaction from the entire working process.

Corporate Education

Corporate educational centers are the real alternative for the system of the higher education, in the majority of countries, which are not able to provide the high quality of IT education. This new offering was created not only for aspiring specialists but for the experienced experts as well, who are able to get a whole set of specific knowledge.

Social Responsibility and Charity

The famous developer of linguistic software, ABBYY, actively works on “Ecology++” project. It includes “days without using paper” when workers use only digital document sharing system. The company has so-called “eco-wall,” where the employees are able to bring old lamps, batteries, papers and magazines for recycling.

The ecological approach, volunteering, and help to the less fortunate people become more and more popular among the progressive youth. Furthermore, this field attracts the attention of various media, political and cultural workers. It seems that this trend will get more and more popular.

The leading IT experts will work in companies which will be able to offer the total freedom in all aspects of life “‘without discontinuing work.” So we will witness a lot of new things and surprises.

Conclusion

The process of finding the best talent for your company is not just about your performance indicators and business aspects. It affects the behavior of your employees in the real world, even though you are hardly able to control and analyze it. Even though the questions offered in this article are created for interviews with applicants, sometimes we need to stop for a while, and ask ourselves: “What can I do in order to change someone’s life for the better?”

Original Link

An Ultimate Guide on Hiring the Best IT Specialists

The overheated IT labor market, where the number of open positions is larger than the number of eligible candidates, demands different approaches when salary is no longer a key advantage in the battle for real IT professionals. Such popular methods of motivation and remuneration as additional leave time, certificates, and other rewards are not enough anymore. Companies have to come up with creative ways to attract new workers and retain them.

Where should one search for IT specialists?

In addition to job searching websites, one definitely needs to address the existing employees of the company, specifically their IT department specialists. There are really high chances that they will recommend one of their old colleagues or friends. Personal connections are the second most popular way for IT experts to look for employment after the specific job-searching websites. This fact is especially important when searching for applicants with more than 10 years of working experience.

Pay attention to how eligible candidates are searching because 38% of them will directly address the companies of their interest, 28% will use various search engines, 25% will rely on social networks and media, and 22% will use specific professional communities in the web.

What Will They Look at During the Interview?

The first impression of your office is one of the key factors that affect the applicant’s decision. Only 12% of IT specialists are interested in the job position itself without being worried about the comfort and the atmosphere in their working place. The candidates are interested in good transport accessibility, and the overall level of comfort at the office. Some other key factors that may be taken into account include the overall number of people working in one room, the distance between them, or the availability of a private or secluded place for special moments and emergency situations.

Now let’s take a look at the questions for the interview, which will allow you to find the best applicants:

Tell us about your perfect day at work.

By getting an answer to this question you may understand the priorities and the most important task for the candidate, as well as the amount of time he/she spends working during the day.

Look at your parents. Which traits would you like to keep in your life and the lives of your kids?

The main task here is to get a sincere answer and not a rehearsal. By asking this question you push the applicant to think and tell you about the most valuable things and qualities in their life. When you hear the first part of the answer, you don’t really need to hear the rest. Ask the following question right away: “What else?” You need to follow this rule if you want to get an honest and detailed answer. Try to control yourself, and wait for the answer without pushing them — even if they remain silent for some period of time. By doing so you allow them time to think and give you a detailed and comprehensive answer.

How did your belief system change during the years of work in the field of IT?

You need to understand if the candidate is able to see the dynamics of the IT market, the rapid competition growth, and the constant need for professional and personal development and self-control.

Tell me about the main failures in your life.

This question will allow you to understand if the candidate is able to analyze his own mistakes and create the required conclusions. If the candidate is not able to remember even one of his failures, that probably means he is not able to accept his own mistakes, or he is pretty sure that all other people are guilty of his failures, while he is doing really well.

Why do you want to change your employer?

There’s no right answer to this question, as well as for other similar questions. However, if you see that the candidate is speaking of their colleagues, previous employer, or customers in a negative way, you need to write it down like a troubling sign.

What will you do when you understand that you are not able to finish everything on time (too many tasks)?

The answer and the solution give a lot of information about the candidate. If the applicant wants to do everything on their own, there are high chances that such a candidate is not able to work in a team, trying to be the last man standing. In case if the applicant tells you that they would ask a manager about the priority of the tasks and additional resources, you can be sure that they are a rational, proactive and potentially talented worker with a great growth potential.

What would you do if you have one task to do, or no work at all?

This question allows understanding if the applicant is going to take some additional work, or prefers to learn something new, spending time for self-education.

Tell us about two or three trends which are pertinent to the field of IT. How do they affect your profession?

This is a kind of panoramic question. In this case, you need to pay attention to the professional erudition of the applicant, and not to the way he’s saying. This answer is really important in case if you want to find a person who’s able to think outside the box, understand the field of IT, and is interested in new technologies and achievements.

Tell us about your feelings when you had to work on a task which you couldn’t really understand.

This question is more appropriate for a doer and not for a leader. However, you will be able to understand the behavior of the applicant in new and unusual conditions. Is the candidate able to give you a list of questions, which he/she would ask to make it clearer?

Tell us about your feelings when you had to do something for the first time in your life (new technologies, new projects, a new field of work etc.).

This question looks similar to the previous one, but the idea of this question is to understand the level of ambition, and an ability to adapt to new and constantly changing conditions of life. Make a note if you see that the applicant has never experienced such situations, or can’t give you an answer.

When the interview is over, you need to ask yourself and other colleagues the following question: Can I ever take this guy (girl) to my home to spend holidays?

Even though this question may look a bit personal, you need to answer it because you have to work together. Trust your feelings and let the answer come to you naturally without you overthinking the matter — even though you haven’t spent a lot of time together.

How to Carry the Technical Interview Out

“During the interview, you need to pay attention more to a person’s ability to find creative solutions and algorithms and carry them through rather than their knowledge of specific frameworks, or how well they remember some standard language parameters. To test the thinking processes I recommend using a very simple task that could be outlined on the piece of paper (or a whiteboard) and discuss the logic behind it right on spot. Also, check the candidate’s knowledge of the very basics of programming with no connection to a specific language. Comparing to self-taught candidates, programmers with a fundamental professional training will most likely possess this kind of knowledge and it’s a very important aspect as you need specialists with a solid educational background.” — Alexandr L., CTO at SE Ranking

Bonus: How to Lure the Best It Experts to Your Company

After analyzing the motivational programs of HR-managers in IT companies, we were able to find the five key factors that are most important to bringing the best talent to your company.

Working Space Navigation

These days one can’t impress an IT expert by showing a spacious and comfortable office equipped with the latest technologies, relaxation areas, showers and the canteen. Such leading companies as Google, Amazon, and IBM have been offering this kind of motivation for ages. A different situation is when the employees are able to plan their office on their own, starting with design, and finishing with small interior objects.

Another impressive and efficient way is to invite a person to a remote office of an American or European company located, for example, in Thailand. Famous LinguaLeo startup has chosen this way, offering their employees a chance to live and work in a tropical heaven. Such an approach allows not only attracting new specialists but reducing the overall expenses. There are high chances that the employer will ask the potential candidate about the preferred country for working and living in the nearest future.

Looking After the Family

In addition to the opening corporate kindergartens, running parents’ day, and carrying out family holidays, some companies are able to look after the household needs of the employees. For example, they allow taking their pets to the office, pay for the nanny services or offer summer internships for the children of the employees.

Some businesses offer their employees dress-making, tailoring, repairing, delivery, cleaning, and even hairdressing services. By attracting subject matter experts, the company is able to concentrate on the workflow.

Workflow Structure

Classic systems of interaction between the employer and the employee are fading away. Employees have to be able to solve the majority of the issues on their own without being pressed by the management. Obviously, not all the businesses are ready for such radical changes; however, a new approach to the working process is psychologically comfortable and brings the feeling of satisfaction from the entire working process.

Corporate Education

Corporate educational centers are the real alternative for the system of the higher education, in the majority of countries, which are not able to provide the high quality of IT education. This new offering was created not only for aspiring specialists but for the experienced experts as well, who are able to get a whole set of specific knowledge.

Social Responsibility and Charity

The famous developer of linguistic software, ABBYY, actively works on “Ecology++” project. It includes “days without using paper” when workers use only digital document sharing system. The company has so-called “eco-wall,” where the employees are able to bring old lamps, batteries, papers and magazines for recycling.

The ecological approach, volunteering, and help to the less fortunate people become more and more popular among the progressive youth. Furthermore, this field attracts the attention of various media, political and cultural workers. It seems that this trend will get more and more popular.

The leading IT experts will work in companies which will be able to offer the total freedom in all aspects of life “‘without discontinuing work.” So we will witness a lot of new things and surprises.

Conclusion

The process of finding the best talent for your company is not just about your performance indicators and business aspects. It affects the behavior of your employees in the real world, even though you are hardly able to control and analyze it. Even though the questions offered in this article are created for interviews with applicants, sometimes we need to stop for a while, and ask ourselves: “What can I do in order to change someone’s life for the better?”

Original Link

An Ultimate Guide on Hiring the Best IT Specialists

The overheated IT labor market, where the number of open positions is larger than the number of eligible candidates, demands different approaches when salary is no longer a key advantage in the battle for real IT professionals. Such popular methods of motivation and remuneration as additional leave time, certificates, and other rewards are not enough anymore. Companies have to come up with creative ways to attract new workers and retain them.

Where should one search for IT specialists?

In addition to job searching websites, one definitely needs to address the existing employees of the company, specifically their IT department specialists. There are really high chances that they will recommend one of their old colleagues or friends. Personal connections are the second most popular way for IT experts to look for employment after the specific job-searching websites. This fact is especially important when searching for applicants with more than 10 years of working experience.

Pay attention to how eligible candidates are searching because 38% of them will directly address the companies of their interest, 28% will use various search engines, 25% will rely on social networks and media, and 22% will use specific professional communities in the web.

What Will They Look at During the Interview?

The first impression of your office is one of the key factors that affect the applicant’s decision. Only 12% of IT specialists are interested in the job position itself without being worried about the comfort and the atmosphere in their working place. The candidates are interested in good transport accessibility, and the overall level of comfort at the office. Some other key factors that may be taken into account include the overall number of people working in one room, the distance between them, or the availability of a private or secluded place for special moments and emergency situations.

Now let’s take a look at the questions for the interview, which will allow you to find the best applicants:

Tell us about your perfect day at work.

By getting an answer to this question you may understand the priorities and the most important task for the candidate, as well as the amount of time he/she spends working during the day.

Look at your parents. Which traits would you like to keep in your life and the lives of your kids?

The main task here is to get a sincere answer and not a rehearsal. By asking this question you push the applicant to think and tell you about the most valuable things and qualities in their life. When you hear the first part of the answer, you don’t really need to hear the rest. Ask the following question right away: “What else?” You need to follow this rule if you want to get an honest and detailed answer. Try to control yourself, and wait for the answer without pushing them — even if they remain silent for some period of time. By doing so you allow them time to think and give you a detailed and comprehensive answer.

How did your belief system change during the years of work in the field of IT?

You need to understand if the candidate is able to see the dynamics of the IT market, the rapid competition growth, and the constant need for professional and personal development and self-control.

Tell me about the main failures in your life.

This question will allow you to understand if the candidate is able to analyze his own mistakes and create the required conclusions. If the candidate is not able to remember even one of his failures, that probably means he is not able to accept his own mistakes, or he is pretty sure that all other people are guilty of his failures, while he is doing really well.

Why do you want to change your employer?

There’s no right answer to this question, as well as for other similar questions. However, if you see that the candidate is speaking of their colleagues, previous employer, or customers in a negative way, you need to write it down like a troubling sign.

What will you do when you understand that you are not able to finish everything on time (too many tasks)?

The answer and the solution give a lot of information about the candidate. If the applicant wants to do everything on their own, there are high chances that such a candidate is not able to work in a team, trying to be the last man standing. In case if the applicant tells you that they would ask a manager about the priority of the tasks and additional resources, you can be sure that they are a rational, proactive and potentially talented worker with a great growth potential.

What would you do if you have one task to do, or no work at all?

This question allows understanding if the applicant is going to take some additional work, or prefers to learn something new, spending time for self-education.

Tell us about two or three trends which are pertinent to the field of IT. How do they affect your profession?

This is a kind of panoramic question. In this case, you need to pay attention to the professional erudition of the applicant, and not to the way he’s saying. This answer is really important in case if you want to find a person who’s able to think outside the box, understand the field of IT, and is interested in new technologies and achievements.

Tell us about your feelings when you had to work on a task which you couldn’t really understand.

This question is more appropriate for a doer and not for a leader. However, you will be able to understand the behavior of the applicant in new and unusual conditions. Is the candidate able to give you a list of questions, which he/she would ask to make it clearer?

Tell us about your feelings when you had to do something for the first time in your life (new technologies, new projects, a new field of work etc.).

This question looks similar to the previous one, but the idea of this question is to understand the level of ambition, and an ability to adapt to new and constantly changing conditions of life. Make a note if you see that the applicant has never experienced such situations, or can’t give you an answer.

When the interview is over, you need to ask yourself and other colleagues the following question: Can I ever take this guy (girl) to my home to spend holidays?

Even though this question may look a bit personal, you need to answer it because you have to work together. Trust your feelings and let the answer come to you naturally without you overthinking the matter — even though you haven’t spent a lot of time together.

How to Carry the Technical Interview Out

“During the interview, you need to pay attention more to a person’s ability to find creative solutions and algorithms and carry them through rather than their knowledge of specific frameworks, or how well they remember some standard language parameters. To test the thinking processes I recommend using a very simple task that could be outlined on the piece of paper (or a whiteboard) and discuss the logic behind it right on spot. Also, check the candidate’s knowledge of the very basics of programming with no connection to a specific language. Comparing to self-taught candidates, programmers with a fundamental professional training will most likely possess this kind of knowledge and it’s a very important aspect as you need specialists with a solid educational background.” — Alexandr L., CTO at SE Ranking

Bonus: How to Lure the Best It Experts to Your Company

After analyzing the motivational programs of HR-managers in IT companies, we were able to find the five key factors that are most important to bringing the best talent to your company.

Working Space Navigation

These days one can’t impress an IT expert by showing a spacious and comfortable office equipped with the latest technologies, relaxation areas, showers and the canteen. Such leading companies as Google, Amazon, and IBM have been offering this kind of motivation for ages. A different situation is when the employees are able to plan their office on their own, starting with design, and finishing with small interior objects.

Another impressive and efficient way is to invite a person to a remote office of an American or European company located, for example, in Thailand. Famous LinguaLeo startup has chosen this way, offering their employees a chance to live and work in a tropical heaven. Such an approach allows not only attracting new specialists but reducing the overall expenses. There are high chances that the employer will ask the potential candidate about the preferred country for working and living in the nearest future.

Looking After the Family

In addition to the opening corporate kindergartens, running parents’ day, and carrying out family holidays, some companies are able to look after the household needs of the employees. For example, they allow taking their pets to the office, pay for the nanny services or offer summer internships for the children of the employees.

Some businesses offer their employees dress-making, tailoring, repairing, delivery, cleaning, and even hairdressing services. By attracting subject matter experts, the company is able to concentrate on the workflow.

Workflow Structure

Classic systems of interaction between the employer and the employee are fading away. Employees have to be able to solve the majority of the issues on their own without being pressed by the management. Obviously, not all the businesses are ready for such radical changes; however, a new approach to the working process is psychologically comfortable and brings the feeling of satisfaction from the entire working process.

Corporate Education

Corporate educational centers are the real alternative for the system of the higher education, in the majority of countries, which are not able to provide the high quality of IT education. This new offering was created not only for aspiring specialists but for the experienced experts as well, who are able to get a whole set of specific knowledge.

Social Responsibility and Charity

The famous developer of linguistic software, ABBYY, actively works on “Ecology++” project. It includes “days without using paper” when workers use only digital document sharing system. The company has so-called “eco-wall,” where the employees are able to bring old lamps, batteries, papers and magazines for recycling.

The ecological approach, volunteering, and help to the less fortunate people become more and more popular among the progressive youth. Furthermore, this field attracts the attention of various media, political and cultural workers. It seems that this trend will get more and more popular.

The leading IT experts will work in companies which will be able to offer the total freedom in all aspects of life “‘without discontinuing work.” So we will witness a lot of new things and surprises.

Conclusion

The process of finding the best talent for your company is not just about your performance indicators and business aspects. It affects the behavior of your employees in the real world, even though you are hardly able to control and analyze it. Even though the questions offered in this article are created for interviews with applicants, sometimes we need to stop for a while, and ask ourselves: “What can I do in order to change someone’s life for the better?”

Original Link

8 Proven Steps to Transition from Software Developer to Business Analyst

This is a very frequent request that we come across.

“I have been a software developer for quite some time and would like to learn about a new role. I am excited about a business analysis career, but I have no idea as to how to transition into the new career.”

Technology today offers tremendous opportunities to improve businesses. A business analyst is a role where one can contribute to organization’s strategy, its offerings, its revenue and its margin. It offers great opportunity to interact with many stakeholders, develop innovative solutions and improving existing solutions. Business analysts are the bridge between business stakeholders and technology architects. International Institute of Business Analysis (IIBA) defines business analysis as the practice of enabling change in an enterprise by defining needs and recommending solutions that deliver value to stakeholders. Business analysts enable an enterprise to articulate its needs and the rationale for change, and to design and describe solutions that deliver value.

However, a new role requires new skills to hone. Being a developer, one has the advantage of already knowing the technology side of the story; however, for some, they feel more inclined to the business side after spending some time in technology. So it’s time to learn about business and become a successful business analyst. Here is the proven approach for someone to become a successful business analyst from a developer.

1. Learn the Basics of Business

The very first step to understand is how businesses run and what they do. A good starting point would be to go through the generic process classification framework provided by APQC. You can download the free personal version of APQC process classification framework from APQC website.  The APQC PCF framework enumerates 1000+ tasks that organizations perform irrespective of their size, location, and domain. It also would be a good idea to read up foundational books on business strategy, marketing, finance, HR, and operations. That gives one a high-level view of business, its operations and the objectives of the various functions.

Image title

2. Develop Behavioral Skills

The second major aspect where the business analyst role differs significantly from a developer role is the amount of interaction expected from business analysts.  Typically, developers work under the instruction of a project manager. The business analyst and the project manager seal the developer from interaction with stakeholders.  As a business analyst, one must learn how to interact with sponsors, domain SMEs, end users, and all other business-side stakeholders, including suppliers. This requires honing one’s skills in behavioral aspects. Key skills for business analysis are communication, stakeholder interaction, active listening skills, facilitation, presentation skills, and problem-solving skills, to name a few.

How does one hone behavioral skills?

One way is to practice the skills any opportunity that one gets.

Be proactive to communicate, to speak out. You can record your own communication using a phone and then analyze that to see if you are communicating clearly, in the right language and manner.

Your organization may already be providing behavioral training on communication, negotiation skills, assertiveness, and facilitation skills. Take advantage of these behavioral training available within your organization and be better in the skill.

Image title

3. Learn Business Analysis Process

Like any other activity, business analysis also follows a process. Many guidebooks say that the business analysis process can’t be standardized. But that’s not true. In most of our project experiences, we have observed business analysis has a fairly well-defined approach.

The best part is you can get the Business Analysis Core Standard from IIBA. This is available without any cost and is a fairly short document of about 50 pages. This will give you a good idea of how business analysis is actually performed.

Image title

4. Learn the Requirements for Using Modeling and Management Tools

Like most other professions, business analysts also use many tools as part of their work. Some of the popular tools are for business process modeling, state modeling, and use case modeling. For example, you can get a trial version of Microsoft Visio, a tool very popular in many organizations. You can also learn other free tools such as Lucidchart or BizAgi business process modeler. You can learn to model some processes within your workplace.

Image title

5. Learn the Domain of Your Organization

The best place to start your business analysis journey is your current organization. You are part of the organization, and you know people, processes, and tools. But at the same time, your business stakeholders would expect you to understand the specific nuances of your organization’s domain.

There are good resources available on the internet almost on all domains and maybe within your own organization. Another piece of advice we suggest is to look for a handbook on your domain. So for example, if you are in the retail domain, to look for a book called The Retail Handbook. Go through the handbook, and you will get a fairly good idea about how retail domain functions. When you understand your domain and you understand your organization, your stakeholders’ acceptance for you as a business analyst will increase manifold.

Image title

6. Get Involved in the Requirements Gathering Activities

Now that you already have learned some basics of business analysis, the best place to learn and practice would be to get involved in the project requirements. Be a shadow business analysis for the current business analysis of your project. This would allow you to practice the concepts that you have learned. Make proactive efforts to get involved in the requirements gathering activities.

Practice makes perfect! Any skill can be learned if you are willing to put in the effort to learn!

Image title

7. Participate in Professional Groups and Conferences on Business Analysis

There are many professional groups, as well as virtual and physical conferences, on business analysis. Participate in these events to understand how business analysis in changing, what the trends in business analysis are, and how you can bring new business analysis concepts to your organization.

There are many professional special interest groups as well on LinkedIn and in forums on the web where you can discuss, participate, contribute, and learn the skills also.

Image title

8. Get Certified as a Business Analyst

Finally, to prove your own competence as a business analyst, the best way to do that is to get yourself certified in business analysis. Many organizations provide business analysis certification and the most prominent one among them is IIBA.  A couple of years back, IIBA did not have any certification for new business analysis professionals; it only required business analysts have about two and half years’ experience to take the certification.

But in late 2016, IIBA came up with Entry Certificate in Business Analysis (ECBA), a new certification addressing the need of the hour and catering to the aspirations of many. ECBA caters to those professionals who would be making an entry or beginning their career in business analysis domain. It doesn’t require any experience in business analysis to take this certification. It focuses on those knowledge areas of business analysis domain which are going to be of use for the new business analysts, such as requirements analysis, requirements lifecycle management, elicitation, and collaboration.

Image title

Original Link

What Netflix, Uber, and Airbnb Teach Us About Hiring for Experience

Once upon a time, “20 years’ experience” was a good proxy for judging a person’s capabilities. At that time, the business world was quite predictable. Companies who made it into the Fortune 500 tended to stay there for about 30 years. The job you were doing in year 20 closely resembled the job you did in year one.

Today, appearances on the Fortune 500 list are much shorter — less than 20 years. Disruptive companies like Netflix, Airbnb, and Uber prove that the status quo is short-lived no matter what industry you’re in. And in today’s hiring environment, where remote-friendly technologies let us work anywhere anytime, scrappy start-ups can (and will) poach your top talent.

These factors have massive implications for any company looking to scale up.

Tenure Matters Less than You Think

In a recent catch-up with Patty McCord, former Chief Talent Officer at Netflix, we debated the relative merits of hiring for initiative vs. tenure. The punch line? Initiative beats tenure almost every time.

With everything from programming languages to marketing best practices evolving so rapidly, there’s little point in hiring someone with 20 years experience in their role. Those first five (even ten?) years of experience are likely irrelevant today.

Now, before you brand me as agist, understand that 20 years in the working world is a Good Thing™, so long as that 20 years demonstrates an ability to anticipate and adapt. I once interviewed a candidate who explained: “I’ve got 18 years of work experience, but each year has been different.” Amazing.

A bit of restlessness and a willingness to start from scratch matter in today’s environment. The best thing about hiring fresh college graduates is that they don’t know what they don’t know, and will plow through barriers that others don’t even think to question.

Hire Fully-formed Adults

Seems obvious, doesn’t it? We’ve wrongly learned to associate adulthood with age, but it’s more about being resilient, humble, and a life-long learner. (Look around you. I bet you work with plenty of 20-somethings who are fully-formed adults, and a 40-year old who isn’t.)

When you hire adults and embrace cognitive diversity, you start to uncover smarter ways to serve your market. Empower them with the authority to make decisions and take calculated risks. They’re the ones who will demonstrate initiative and find innovative solutions to problems.

Org Charts Are Broken

The traditional notion of “climbing the ladder” by accumulating your years of service is obsolete. Today, career development is more about lateral movement and accumulation of different skills. The ability to adapt quickly and thrive is more important than deep expertise in most cases.

Yet org charts are still vertical and hierarchical at most companies. If you look at highly innovative companies like Netflix and Airbnb, however, they operate on much flatter structures. Their org charts are customer-focused instead of functionally-focused. They understand that networks of teams coming together to serve the customer produce amazing results.

Don’t discount candidates that have worked in six different roles for three years each. The initiative demonstrated by all that lateral movement — and the breadth of experience that comes as a result — will serve your company well.

This article originally appeared on Inc.com.

Also published on Medium.

Original Link

Encouraging Your Professional Developers to Adopt a Low-Code Platform

With 88 percent of companies adopting low-code as a standard for developing applications and 74 percent of those companies planning to integrate business lines into the application development lifecycle, it is clear that companies are embracing this technology to relieve the pressure in application demand. And now your boss has told you that low-code development is the new way, and you need to break the news to your team.

Some of your existing developers may be skeptical about low-code, saying things like, “Low-code is beneath my skill set”, “I’ve tried this before and it doesn’t work; I always end up coding anyway”, or “I can code faster than this.” What they often don’t realize is that low-code development makes their lives easier and aids them in achieving what they’ve always wanted, to make an impact on their organization in a fundamental way. This is the goal, right? So how can you get developers to buy into using a low-code platform?

4 Reasons Why Low-Code is the Shortest Path for Developers to Make an Impact

Convincing your developers that low-code actually lets them code more can be an uphill battle. When considering low-code platforms to increase productivity and solve business problems with efficiency, consider the four pillars of low-code platforms.

1. Visual and Intuitive

Low-code platforms provide the ability for developers to have a fixed layout and to preview that layout in a format where they can see how it will be deployed.

Low-code development platforms use a visual modeling approach to program logic. The example below displays a simple IF statement in code on the left and low-code on the right. The logic returns a true or false validation based on the supplied parameter. Developers understand both sides because they understand the coding and the visual model. It’s a no-brainer for them. But with the increased necessity to interact with the business, it gets complicated to explain the code to a business person. With code, developers need to not only provide an explanation of why they code the way they do, but also a translation of the code.

Visual models are a common language developers can use to explain their decisions to stakeholders, ensuring alignment faster than traditional code reviews.

It comes down to it, ask your developers: would you rather have to deal with the aggravation and hassle of trying to explain the code to someone who doesn’t get it, or spend time explaining the logic around the decision you made in a way they easily understand?

2. Handles the Plumbing

The right low-code platform will provide cloud-native, one-click deployment. At Mendix, we talk about how great it is to be able to deploy with just one-click, and while it is amazing, let’s pull back the curtain and look into what is actually happening. When you one-click deploy, the app is placed in a container and shipped off to any public or private cloud environment. Your developers don’t need to worry about standing up an environment or installing any of the plumbing, and if they do want to stand up an environment, they need only do it once.

By eliminating the need to build the plumbing every time your developers start a project or waiting two weeks for the infrastructure team to build it out, they can now focus the time saved on solving the problem the app is being built for.

The right low-code platform automatically integrates logging, debugging and tracing into the projects because they are built into the platform. This eliminates the need to spend time evaluating different technologies for troubleshooting code every time a new project is started.

3. Extensible and Reusable

When developers want to extend an app with custom code, they normally have to figure out a way to integrate the logging, debugging and tracing that the core platform has into their custom code. When developing with a low-code platform, the encapsulated code is native and includes logging, debugging and tracing. This foundation is there for developers when they are building functionality native to the platform, as well as when they are extending the platform with custom code.

Becoming the right kind of subject matter expert

The right low-code platform is capable of being extended with custom code when necessary and shared through a platform app store, for example, to encourage reuse, quality, and consistency. A platform app store should provide a plethora of these custom, downloadable widgets and connectors, which are simply pieces of custom code that can be downloaded.

The custom code is wrapped and encapsulated, and within the encapsulation it becomes a native extension of the model and therefore inherits all of the logging, debugging and tracing functions that are already inherent to the platform. When you extend the platform, the custom code becomes reusable for other developers in a managed way. This process acts as a control mechanism and an opportunity to for quality and consistency as developers make these components available for other developers.

Another great benefit of reusable components and extensibility is the ability to leverage services from AWS and the like by simply dragging and dropping. Developers can spend months learning to integrate new technologies like machine learning, IoT, and blockchain, making sure it’s future proofed and easy for the rest of the team to integrate. It can be risky and time-consuming to ask developers to figure out the integration on their own.

Instead of spending the time on becoming an expert at the mechanics of how the tech works, the nuances of the code and implementation, and the integration involved, low-code platforms enable developers to easily leverage these technologies with greater accessibility and focus on being a subject matter expert on the best ways to use the technology with respect to use cases. This type of subject matter expert helps drive the business to understand the use case for the technology and provides higher value.

In other words, it’s about being able to explain the how versus the why. Low-code platforms take care of the how so your developers can focus on the why.

4. Collaborative

In order for developers to build apps that meet business and user expectations, it is imperative to use a platform that enables collaboration between business and IT, as well as collaboration between developers. This collaboration can come in the form of integrated chat, feedback, visual modeling tools, etc.

The right low-code platform will provide tools for collaboration in four key areas:

  1. A Collaboration Portal: Having a central place where everyone involved in the application development process, from business analysts to traditional developers, is a good place to begin evaluating the collaboration capabilities of a low-code platform. Features and functions like social feeds, comments, stories and feedback management that provide instant visibility and context into what is happening with the application can provide a deeper, shared understanding of the business goals and requirements.
  2. Within the Development Environments: The right low-code platform has an integrated development environment that fosters collaboration through integrated communication, and feedback and stories tied to the context of the specific application.
  3. A Mobile App for Testing: A mobile app for testing enables application validation and includes a social feed for users to be able to communicate feedback and make comments.
  4. Within the Apps Themselves: Each app built on the platform has a built-in feedback mechanism, so users who are interacting with the apps can supply feedback right to the development team in the development.

From the Mouth of a Skeptic

“I have to admit, when I first saw the Mendix low-code platform I called BS based on all of my previous experience as a developer. I didn’t think this type of low-code development could meet our needs. As we worked with many proofs of concepts, I very quickly realized that Mendix actually fits all our needs. I was still pretty shocked, and while working with a small team of Mendix developers, I tried to trip them up with tons of questions thinking surely one of them would not be met with a sufficient answer. Every single question and need was met and I was hooked. We purchased a license and developed a single project to show what Mendix could do. Since then we have been flying with the platform.”

Conclusion

At the end of the day, you and your developers share the same goals: to solve problems efficiently, increase productivity and make an impact on the organization. The right low-code platform will enable your traditional developers to do just that.

This article was originally published on the Mendix blog.

Original Link

How Developers and Containers Are Accelerating the Cloud Agenda

Jeff Chou is CEO of Diamanti, a company focused on bare metal container infrastructure, with an executive team out of Cisco and Veritas. For DZone’s focus this month on cloud trends for developers, we asked Chou to share his take on how developer requirements are forcing enterprises to rethink infrastructure and embrace the cloud. He also discusses the challenges ahead of IT as container infrastructure is tasked to bridge on-prem and cloud.

DZone:  Tell us about the new pressures that developers and containers are creating for IT infrastructure.

Chou:  We see an obvious pressure on developers to introduce new applications and shorten innovation cycles. It’s creating friction between IT and application owners because the application owner is being measured on time to market, but IT is still being measured on availability, uptime, and governance metrics like compliance and scalability.  

And [since] all of the new projects and technologies are driven by Docker and Kubernetes, microservices and scale-out architectures are the new developer tools that shorten innovation cycles. But they add to that pressure on IT, because it’s all open source, and while it’s easy for developers to build the new class of applications on laptops, it’s completely different when they want to move these applications into production.

DZone:  Are containers accelerating cloud modernization?

Chou: Absolutely. Developers go to the cloud because they hate waiting. It’s a whole lot easier for them to swipe their credit cards and start developing their apps using the Kubernetes service at Amazon than to have to go through IT internally.  Frankly, developers don’t care at all about infrastructure. They hate IT processes and hate waiting for IT. They don’t care if it’s on a VM or on bare metal. And to some degree, they don’t care if it’s in the cloud or on their laptop. They want to develop using their tools, their workflows and they want to develop in containers because it’s easier for them to do bug fixes and releases and testing.

So there’s that contingency of enterprise developers that are starting in the cloud. But then you also have the camp that’s heavily invested in on-prem, who have made the leap into containers, and whose container adoption is leading them on a slower creep towards the cloud. For the on-prem container adopters, we see it as a three-phase journey.

Their day one challenge is how to even get started. What are all of the different container technologies and which ones are they going to use? How are they going to stand up clusters and configure the networking and storage? It’s very difficult and generally takes teams of engineers nine to 18 months. The day two challenge, once they have the infrastructure, is how do they actually run containerized applications in production? They need infrastructure services, they need SLAs, and they need full stack support, all the way up to the open source.

And it’s really at day three that we start to see enterprises expand to the cloud. They want to decouple their applications from the underlying infrastructure, they want to run across multiple geographies, either in private or public cloud. And they increasingly want to do this on bare metal, without the VMware overhead.

DZone:  How much traction does the concept of hybrid cloud have with developers, from your point of view?

Chou: When we ask 10 different companies what hybrid cloud means, we get 15 different answers, so there’s a lot of definition confusion. For a lot of enterprises, when they talk about having a “hybrid cloud solution,” in reality some of their applications run on Amazon, some run on-prem — but there really isn’t coordination between the two.

I think the reality is that the market is still very early on hybrid and even multi-cloud architecture adoption.

And there are a lot of network and storage challenges with the multi-cloud and hybrid cloud. How do you do multi-zoning on your networks? How do you do VXLAN? How do you do VPN? How do you do data protection? How do you do data backup? How do you synchronize your data when you’re running a single Kubernetes cluster across 50 miles? So these are things that Amazon and cloud providers don’t really solve that are really at the infrastructure layer.

Original Link

How Do I Prepare for a Software Engineering Job Interview?

Let’s look at the basic things you must know if you are interviewing for a software engineering position:

  • Programming in a language of your choice: You should have a strong hold on at least one programming language. You should be quickly able to understand a reasonably complex piece of code and mentally dry run them. You should be able to code a complex scenario in the said language.
  • Problem solving/ Algorithms: Algorithms in itself is a huge field. You are expected to know about basic algorithms. You will be at a great advantage if you know about basic problem solving approaches.
  • The above 2 topics make up for 50-75% of a software engineering interview process.
  • System Design: This is extremely important if you are an experienced software engineer. You need to be good at:
    • Understanding the requirements of a system
    • Designing scalable, fault-tolerant systems (Horizontal vs. vertical scaling )
  • Basics of the following:
    • Operating Systems: Threads and Processes, Thread synchronization primitives ( semaphores and mutex), Memory management ( Paging, Swapping )
    • Databases: Querying a Relational DBMS, Indexing, Primary and Foreign Key constraints, Normalisation, Internal storage
    • Networks: Network Layers, TCP, and UDP, TCP packet structure, Packet routing, Subnetting
    • Web: Cookies, Session management, Caching, Http / Https

Where to learn them:

  • Programming in a language of your choice: I will assume you know the basics of programming in at least one language. Then it boils down to a lot of practice.
  • Problem solving/Algorithms: Personally, I feel mycodeschool does a good job of teaching the basics of algorithms required. InterviewBit has topic-wise video tutorials augmented with related historical interview problems to practice on. Leetcode has a great selection of problems to build problem-solving skills. If you feel a bit more adventurous, you can check out http://www.spoj.com and Problemset – Codeforces. However, most of these problems might be too hard to qualify for a technical interview question.
  • System Design: I feel this is a great point to start with. Do try out the most frequently asked questions at System Design Interview Questions – InterviewBit.  Distributed Systems: For Fun and Profit makes for an interesting read.

Final Execution

Now that you are done with the preparation, the following few final tips might help you do well in an actual interview:

  • Avoiding misunderstandings: A lot of candidates do badly in a programming interview because they start solving a problem different than the intended one. Make sure you spend 2-5 minutes asking the interviewer about corner cases on the problem. This will ensure that you have understood the problem correctly, and you understand corner cases to take care of in your solution.
  • Code structure: This is not just applicable to interviews. Spending some time to think about how you would structure the code can save you coding and debugging time.
  • Communicate: You should be able to communicate your thoughts to the interviewer. The interviewing process (especially the system design round) is mostly bouncing around ideas, and explaining to them your thought process.
  • Company fit: Make sure you do your research about the company prior to applying for a job there. Most companies would want to hire candidates who feel passionately about the work the company is doing. Avoid asking questions which you could easily find on Google. Think about exciting additions you could make to the company product/service if you had your way at the company.

The above-mentioned process might be time-consuming. However, it would increase your chances multifold if followed correctly. All the best!

Original Link

How to Discover the Next Generation of Developers with Skill-Based Recruiting

The résumé is not as relevant as it once was. In today’s highly competitive technical recruiting environment, résumés fall short of what employers need in order to hire the right candidate for a job. Finding the best talent requires thinking in a new way about how to recruit and hire. The companies that gain an edge will be those that leverage skill-based recruiting to discover the next generation of developers. It’s time for Resume 3.0.

Why Résumés Fall Short

In the developer world of the 1980s and 90s, résumés were the standard. They revealed someone’s pedigree in terms of school and education and work history. What people put on their résumé was largely enough for recruiters and hiring managers to judge whether they had the requisite skills. That was the era of Resume 1.0.

The introduction of social networking, and specifically LinkedIn, marked the era of Resume 2.0. Recruiters were able to see who a candidate was connected to and what their friends, former employers, managers, and coworkers said about them. Someone’s professional network was like an extra layer of validation of their skills. It also made the importance of “who you know” in hiring more visible.

We are now entering the era of Resume 3.0. Over the past decade, there has been a revolution in how information is accessed and consumed. Beyond social media, massive open online courses (MOOCs) and YouTube have democratized learning and education. Top tier schools like Stanford, Harvard, and MIT have made their courses available and YouTube has tutorials for just about everything you can imagine. As a result, people around the world, from all different backgrounds, are acquiring skills that were previously only available to people at elite universities. Moreover, the rapidly moving nature of the technology industry means that content taught in classrooms can fall behind what’s valued or needed in the market.

This means that the traditional proxies on a résumé—education, work history—are not as relevant as they once were. Someone can master a set of technical skills from home while someone with an Ivy League degree may not have what it takes to keep up. Moreover, social networks have grown to the point that they mostly represent noise. If everyone has thousands of people in their network, a connection or endorsement doesn’t mean much.

At the same time, demand for developers is higher than ever. The talent war is getting bigger and fiercer as companies across industries need technical talent. It’s not just Silicon Valley companies anymore—companies like Starbucks are competing with tech companies for hires. Developers are in high-demand, which means employers have to expand the talent pool, which means they have to change the way they evaluate candidates. This is why the time for skills-based recruiting is now.

Skills-based Recruiting

Skills-based recruiting is centered on third-party verified skill assessment metrics. It uses data to create a measurable, quantifiable system for determining if a candidate is qualified. It’s like how a credit report pulls together a multitude of factors to provide a score that reveals whether someone’s credit is good or bad, and where they fit relative to others. With skills-based recruiting, candidates participate in assessments to test their skills in, say, Java. An algorithm scores their performance, which provides employers with direct and immediate insight into their skill level.

Skills-based recruiting eliminates the proxies of education or previous employers or professional connections and just looks at one question: Do they have the skills or not? The only reliable way to find talent at scale is to measure it directly. Resumes and social networks leave a lot of room for holes.

This approach widens the talent pool because it allows non-traditional candidates to stay in the running if they can do the work. It’s more meritocratic and transparent. A company won’t miss out on a great hire by dismissing them because of their paper résumé or LinkedIn profile, or—as much as we’d like to think otherwise—because of bias. Conversely, they won’t hire someone who looks great on paper only to find they are underqualified.

Furthermore, interviewing technical candidates takes a lot of time. A skills-based approach is more efficient because it won’t waste engineer’s (or really anyone’s) time assessing candidates who can’t do the work. Engineers can spend time with the right people and ensure their working hours are used productively.

Skills-based recruiting is where the market is headed. For all the talk about the talent crunch, there is plenty of talent out there for people who know how to look. Skills-based recruiting is how the next generation of developers will find their employers, and vice versa.

Original Link

Your Future Is In People with a Learning Agile Mindset

In today’s business world, companies are challenged to deliver exceptional customer experiences. But, by focusing on your people and employing a learning Agile mindset, applied technology skills, and the right technology platform, you can ensure a competitive and marketable future for your organization.

New technologies are released every day, and it’s easy to get lost in the hype. However, we must remember that true success in the twenty-first century business world is mostly about people. Organizations can transform their businesses for the better only if they are willing to empower those closest to the job to solve problems, make decisions, collaborate, and innovate.

Passionate about improving stakeholder experiences, your most valuable human talent comes from a variety of backgrounds and generations. These individuals are intimately versed in your organization’s most pressing problems and know how to use data and processes to solve them. A get-it-done attitude coupled with powerful technology at their disposal put these employees in a position to enact formidable change.

The problem-solvers I described above have two common traits. The first is strong business acumen. They keenly understand their business processes and the data that supports those processes, so they can leverage technology to solve any problems that arise.

The second is a “learning Agile” mindset. Learning agility is an openness to information and the ability to gain and apply insights based on past and current experiences. Learning Agile workers aren’t bothered by and may actually welcome shifts in direction. They are focused on the end state and are willing to relentlessly put themselves out there and shred obstacles to achieve a desired outcome.

Learning agility is good for business. A recent study by Columbia University and Green Peak Partners found that private equity-backed c-suite leaders who ranked high for learning agility on an assessment test also outperformed less-Agile peers as measured by revenue growth and “boss ratings” issued by their Boards.

Some employees are naturally more amenable to learning Agile than others, but there are things leaders can do to increase the prevalence of this trait in their organizations. The simplest is to encourage your team to ask questions and take risks. Don’t dismiss ideas out of hand, even if they sound crazy at the beginning. Reflect on where you’ve succeeded — and failed — and continuously revisit your learnings. Actively reward experimentation, and don’t blame or criticize your co-workers if a risk goes bad. Learning agility and its cousin innovation cannot flourish in a culture of fear.

Empower Your Talent with the Right Skills and Technology

In days gone by, people outside of IT didn’t need to know anything about software or technology. That is no longer the case. In a recent study I conducted with my nonprofit organization the Career Advisory Board, we found that organizations are expecting employees at all levels and in all functions to have applied technology skills.

Applied technology skills involve a solid understanding of how to integrate people, process, data, and devices to effectively make business decisions, and to leverage technology to solve problems, collaborate, and innovate. They include the ability to:

  • Adapt to different software packages and embrace their use
  • Understand new types of projects and how to utilize the IT resources available to them
  • Connect the various technology systems already in place

When asked to indicate whether they agreed or disagreed with this statement: “When I interview a prospective candidate, the presence of applied technology skills and experience is a competitive differentiator,” nearly 70 percent of our respondents agreed. The desire for leaders to have these skills is even higher (76 percent of the managers who hire senior-level candidates agreed).

Training existing employees in applied technology skills is a tall order, in part because current professionals did not receive this type of instruction via traditional education paths. It’s also not something that can be done overnight. However, by taking steps to develop internal and external courses and training, by reimbursing relevant tuition, and by encouraging mentorship, you can grow your organization’s base of applied technology skills.

App Development Skills Are Increasing in Relevance

The ability to develop apps to solve specific business problems is an applied technology skill of increasing relevance. And, with the right technology platform in place, knowledge workers don’t have to be programmers or coders to take advantage of this skill.

It didn’t used to be this way. Just a decade or so ago, application development required highly specialized programming skills like .NET and Java as well as complete IT control over the development process and tools. But today, organizations are discovering a new breed of high-productivity application platforms that support faster development (in a matter of hours, days or weeks) while offering a better fit with business needs and processes.

These platforms simplify the development process by enabling configuration via menus, graphical editors, and visual models. They facilitate data sharing, automation, and innovation, enabling line-of-business employees to participate directly in digital transformation and drive operational efficiencies as a result.

According to John Rymer, author of the 2017 report, The Forrester New Wave: Low-Code Platforms for Business Developers, these platforms address workflow, information mapping, and mobile app capabilities, but most importantly, they raise the productivity of underserved teams in sales, marketing, field service, supply chain, and retail among others. Business users can develop apps themselves without getting stuck in the IT backlog, and they need not do so in a vacuum.

To integrate a new app-building platform into your development infrastructure, you must know what to look for. To start, the solution you select should be a tool that makes application building easy and accessible by business users doing the work, who are, after all, the true experts on the customer, the problem, the data, and the processes. The platform should make it possible to capture a business process, gather feedback, and make changes to apps on the fly. It enables business developers and their users to track and measure performance, and retrieve reported insights from any location, across any device — with no need to develop separate apps for mobile devices or to manually upgrade the platform (it happens automatically in the cloud).

Would you like to learn more about leveraging new application building platforms to transform your employees’ productivity and workflow, facilitate their goals, and create a bright future for your organization?

Original Link

Feel like an Impostor? Good. Now Use That.

It’s that nagging feeling that you’ve somehow stumbled into your plum position by accident and you’ll be found out at any moment. And when they come to show you the door, you’ll think “Well, that’s fair enough I guess.”

If this sounds familiar, then you know what it’s like to experience impostor syndrome. I’ve felt that way several times in my career, and it makes me think we all have…we just haven’t said it out loud.

You’re not alone. Thousands of people are feeling this way right this very minute. Even massively successful people.

Take Atlassian co-founder and co-CEO Mike Cannon-Brookes (also my boss’ boss’ boss), for instance. Here’s a guy who, along with dorm-mate Scott Farquhar, started a company straight out of university with a telephone, a $10,000 credit card, and a burning desire to not wear a suit to work. Fast forward 18 years, and he’s one of the wealthiest people in Australia.

So you’d think he feels pretty confident when he turns up to work every day, right?

Wrong. He’s very candid about the fact that he often feels like a fraud in his professional life, and to some extent, in his personal life as well.

That in and of itself isn’t note-worthy. What’s worth sharing is how he uses that feeling as a driving force for personal growth.

When Hitting the Eject Button Isn’t an Option

Like most entrepreneurs, Mike has a low tolerance for bullshit. His approach to dealing with impostor syndrome is to stare it straight in the eye, then flip it on its head: use it as a driving force for self-improvement.

When you get that “Oh crap, I’m in over my head” feeling, plunge yourself into deep-learning mode until you feel your head emerge above the water line. Turn impostor syndrome into an asset. A motivator.

The key is not fooling yourself into thinking impostor syndrome is something you can defeat once and for all. (Maybe someone else has figured out how to do that…if so, please share your secret!) The trick is to harness it and parlay it into personal growth.

For example, about a year ago, Mike saw a few tweets from Tesla about how they could end South Australia’s energy crisis with the industrial-scale batteries they’d developed. Not thinking too much of it, he fired off a few tweets of his own to see if they were for real about this.

Image title

All hell broke loose. Reporters were chasing Mike down, asking him for his “expert opinion” on a topic he knew nothing about.

But he didn’t want to slink away and risk damaging the prospects for renewable energy just because he’d mouthed off on Twitter. So he soaked up information on solar-storage batteries every minute he wasn’t running the company, reading to his kids, or sleeping.

It’s not about proving to everyone else that you are an expert. It’s about proving to yourself that you’re capable of becoming one.

(If you’re wondering how that story ended, South Australia received bids from Tesla and 90 other companies for renewable energy and storage systems.)

Don’t Keep Your Impostor Syndrome Bottled Up

Side note: opening up to your colleagues about your impostor syndrome should not be considered harmful. And if you’ve seen people in your office get burned for that, you might consider finding a less toxic place to work.

In fact, the more successful you are, the more important it is to be candid about it. That level of honesty from company leaders fosters a culture of trust and psychological safety, which is crucial for the company’s growth.

There’s also a good chance that you’ll help lift someone else out of their own bout with impostor syndrome. The realization that someone they view as successful (i.e., you) doesn’t have all the answers either is comforting. Knowing you’ve made this far with imperfect knowledge gives them hope that they can make it, too.

Original Link

Identifying Senior Developers

Recently I came across the question of “How can we identify senior developers within our interview process?”

This was a very interesting question that required further thought and investigation.

Initial Thoughts

My initial thoughts were:

  •  Try the algorithms and data structures approach as described in Cracking the Coding Interview book. However, as the book itself states, it’s not for everyone or every company or every situation. I personally am not a fan of this approach as I prefer to commit ideas to memory rather than their implementations.
  • Try the take-home coding challenge. I think this is a fair approach because:
    • It delineates the demands of a developer (using their problem-solving skills to create business solutions).
    • It’s challenging translating ideas in your head into quality code.
    • Provides time for a candidate to express their skillset.

Personal Experience

I also reflected on my own experience some years back when I joined a team tasked with building a greenfield project. At that point, I had been a software developer for quite a few years and therefore considered myself to be a senior developer.

However, when I joined the team I discovered that there was a considerable gap between myself and most of the other developers. Effectively, I wasn’t a senior developer but a step below – an average developer.

This lead me to conclude that seniority is not an absolute truth based on time served but rather relative to your surroundings.

Am I suggesting that a senior developer who joins a team that has stronger competencies or experience suddenly drops to the level of an average developer?

No, not at all, because there are certain traits that senior developers exhibit regardless of whether they have the same experience or competencies of their fellow team members.

What constitutes an average developer

 One description would be a developer who solves a problem by getting it to work (regardless of whether they understand it or not) and then moves on to the next task.

What constitutes a senior developer

One description would be a developer who

  • Solves a problem by getting it to work and makes sure they understand how it works
  • Refactors the code until it is to a high standard
  • Adds a sufficient amount of quality assurance (this would be in the form of tests)
  • Adds a sufficient amount of documentation so that others in future will know why the system is the way it is.
  • Ensures that code reviews are carried out to:
    • Share their reasoning about what problem they are solving and how they solved it
    • Encourage constructive feedback to capture mistakes and/or improvements
  • Tries to continually improve so that their knowledge is up-to-date and relevant to the team’s needs.

The Technical Interview

This can take one of two forms:

  • Provide a take-home coding challenge which is then reviewed as part of the technical interview
  • In the absence of a take-home coding challenge, one can try to assess the candidate’s technical abilities by putting forward a business problem and asking them how they would solve it (they can, of course, use the whiteboard freely to visualize their answers). This approach is detailed below.

Business Problem

Build a web application that allows a customer to log in, view, and edit their details.

Questions

  • How would you go about architecting the application?
    • Hints / Further questions to facilitate the topic:
      • How would you prevent undesirable situations like circular dependencies?
      • How would you try to maintain the integrity of the architecture, so that others coming after you do not unintentionally violate it?
  • Which language and framework would you choose to build the application?
    • Hints / Further questions to facilitate the topic:
      • For the UI?
      • For the backend?
  • How would you document the application so that others coming after you can understand why the system is the way it is?
    • Hints / Further questions to facilitate the topic:
      • How much documentation is needed?
      • Where should the documentation reside?
  • How would you try to ensure that the code is written to a high standard?
    • Hints / Further questions to facilitate the topic:
      • Would any programming principles help?
      • Would you use any static analysis tools?
        • How would you execute it so that you would get regular feedback?
      • What about code reviews?
        • In what format would they produce the best results?
  • As this is a public facing application what security concerns would you have? And how would you address them?
    • Hints / Further questions to facilitate the topic:
      • OWASP top ten?
      • How would you address:
        • SQL Injection?
        • CSRF attacks?
        • XSS attacks?
        • Direct object references?
        • Any others?
      • What about DDOS?
        • Would rate limiting help? If so what are its advantages and disadvantages?
  • If session state is needed, how would you manage it if there are multiple instances of the application?
    • Hints / Further questions to facilitate the topic:
      • Would you store the session in a database, on the server or on the client?
        • What are some of the benefits and disadvantages of each approach?
  • How would you go about testing the application?
    • Hints / Further questions to facilitate the topic:
      • What benefits does testing provide?
      • What different types of tests would you write (e.g. unit tests, integration tests, acceptance tests, performance tests, penetration tests etc…)?
        • Are there any specific libraries that you would use?
        • What benefits do each of these types of tests provide?
  • How would you automate the build, test, and deployment of the application?
    • Hints / Further questions to facilitate the topic:
      • Would you use any CI/CD tools?
        • How would a build pipeline potentially look?
      • Any other automation tools that could help with reducing manual effort?
  • How would you monitor and visualize the application?
    • Hints / Further questions to facilitate the topic:
      • Would the Elastic stack (Elasticsearch/Logstash/Kibana) be of value?
      • Would you use Grafana?
        • What sort of metrics would be of value?
  • In what ways do you try to improve your skillset and technical competency?
    • Hints / Further questions to facilitate the topic:
      • What conferences do you attend?
        • How have they helped you improve?
      • What resources do you use (e.g. books, blogs, videos)?
        • Can you name a few and how they have helped you improve?

Original Link

Software Jobs for Social Anxiety Sufferers

It’s been a while since my last reader question post. It’s hard to feel too bad, though. I was combining a cross-country relocation with a two-week vacation. So I suppose the internet just had to do without my wisdom for a few weeks.

But I’m back in the saddle, so that changes today.

For this week’s reader question post, recall a post I wrote about how to find remote programming jobs (and why you should find them). Anyone who follows my digest posts knows that I’m location independent and nomadic. Naturally, this means that I work remotely.

I’ve actually worked either partially or completely remotely for years, since before I ever started to vagabond. And the longer I do it, the more I advocate for it.

Companies love to mass the troops inside of four walls for the kind of camaraderie and collaboration you just can’t achieve remotely. And, while I understand the draw from a management perspective, from a quality of life perspective, I find life too short for commutes, khakis and birthday cake in the break room.

Remote Work for When the Office is Actually Torture

But what about a different situation? I’ve gradually evolved to remote work because I prefer it. In contrast, today’s reader question concerns someone for whom going into the office is actual, acute torture rather than the vague, existential angst embodied by Peter Gibbons.

Here’s the question:

I was reading your article about finding a remote programming job, and I was wondering if you have any advice for someone who has very bad social anxiety, to the point where they have not been able to get any type of programming job, outside of an internship for school. I’m asking for my brother, who has a degree in computer science and is incredibly smart and gifted.

He just has an extremely hard time forcing himself to interact with people. He’s really interested in finding a remote programming job, but doesn’t know where to start. If you have any suggestions for him I would really appreciate it!

The One-Two Punch of Social Torture and the Entry Level

Looking at this question, the social anxiety element certainly pops out at you. I mean, after all, it’s the meat of the question. But it’s not the only challenge here.

We’re also talking about someone without significant previous work experience to draw on.

I’ve spoken to challenges at the entry level before, in a post about finding an entry-level job without a degree. The person in question has a degree here, which is certainly a help. But the desire for a specifically remote position mitigates that. The corporate world doesn’t trust entry-level people to work “unsupervised.”

Now, one quick note here. As someone who is an introvert and has embraced that, what I’m not going to do is offer any advice about dealing with or “conquering” the social anxiety. That’s really not my forte and, even if it were, I see nothing wrong with a quiet, introspective life.

Look for Remote Jobs, But Don’t Expect Much

So, without further ado, let’s get to the advice. And I’m going to make this pretty tactical stuff.

As I mentioned in my post about finding remote programming jobs, there are sites and resources that index such positions. They’re out there, and you can find listings for them.

But as I mentioned earlier, you’re probably not going to have a lot of luck at the entry level.

So, by all means, look for these jobs. See if you’re qualified and apply when you are. But don’t make this the entirety of your search, or you’ll probably be searching a long time.

Accept that you’re probably going to have a look for and accept a job that isn’t entirely remote — at least not initially. But not all non-remote jobs are equally excruciating for those who want to minimize social interaction. And some non-remote jobs are more likely to become remote jobs than others.

Avoid Listings that Talk about Agile or Open Office Plans

When you start looking for jobs, certain keywords in the listings will serve as queues. If a company talks, for instance, about its highly collaborative culture or about endless group outings, it’s probably not for you.

But there are a few other important keywords that are code for things you want to avoid. In this case, I’ll pick specifically on companies that bill themselves as agile, or that talk about having open office plans.

This is basically code for extrovert-specific culture. I’m sure some people will offer objections, but most of the constructs of Agile software development are highly collaborative and exhausting for someone that would prefer solitude. Don’t get me wrong — these cultures deliver software effectively. But if you’re not an extrovert, you’ll find it something between tiring and nightmarish.

As for open office plan? If you don’t know what that is, imagine working in a busy Starbucks, but where the other patrons often want to directly talk to you about anything ranging from your work to the weather. Steer clear if you have social anxiety. Steer very, very clear.

Instead, Look for Small Companies with Little or No Existing IT Staff

Social anxiety sufferers will want to avoid a lot of different types of gigs. But let’s talk about the ones that you might want to look for.

Specifically, look for really small companies that are looking to hire their first software developer. Note that I’m not talking about startups here, where they’ll add you as the first engineer and then, after a round of funding, hire like 12 more.

I’m talking instead about a small company without an intense growth trajectory. Most likely, this isn’t a company that makes software — you’ll be doing something like customizing their website or taking over some internal database thing that an app dev shop built for the company years ago.

Why this? Well, three main reasons:

  1. Your interactions with others are more likely to be relatively minimal, since nobody is really going to speak your language, so to speak.
  2. Because you’re more likely to be left to your own devices, it should be pretty easy to make the case for working from home once you’re established.
  3. It’s probably hard for them to hire and retain software folks, so you’ll have a good bit of leverage for negotiating an environment that’s suitable for you.

The idea here is to look for opportunities that are generally less collaborative, with your coworkers going about their business and leaving you to do the same. And a company where you’re the only one doing what you do is perfect for that.

You Could Always Wait it Out, But I Wouldn’t

Of course, you could say “I obviously don’t want to work in a busy Starbucks-like environment, but I also don’t want to work in a quieter office setting. I think I’ll just wait it out for my remote job.”

Certainly, that’s an option. But I’d argue that it’s not a great one.

As I’ve said, these opportunities are going to be hard to score when you find them. And, even in a time when we have the technology to make it easily possible, there still aren’t that many such opportunities. Humans are, at the mean, social creatures.

So if you wait it out, you’re going to have a longer and longer gap on your resume that will get harder and harder to explain. Sure, you can mitigate this by building an app, contributing to open source, or trying to start some kind of venture. But it’s still tough sledding.

I would definitely recommend a combination of seeing if you can, indeed, score a remote job, and trying to work at a traditional company where the environment is minimally bad for you, and where you might be able to convert to remote.

Understand that Your Goal is to Work for Yourself

I’ll close with a longer-looking piece of advice. As you navigate your near-term future, understand that eventually, you want to work for yourself.

If you establish your own business or practice, you obviously determine your own working situation and interaction models. And, since you’re a professional lone wolf, it’ll obviously not involve collaboration in terms of delivery on your side. But, once you’re established, you’ll also dictate how the customer interactions will go.

Let’s say, for instance, that you establish a niche practice converting old, corporate MS Access databases to modern, web-based database applications. On your website, you can explain that you do this, and also how you do this. “Send me your database via this Dropbox link, and 2 weeks later, I give you back your new application.”Your prospective customers can then take it or leave it.

It’s surprisingly hard to establish yourself as a minimal-interaction programmer, given the profession’s reputation for attracting loners. But with a bit of short-term selectivity and a long-term plan, you should be able to create the sort of work arrangement you like.

Original Link

Hype in Software Development

Increasingly often we come across a new technology, a new trend and most possibly a new hype. And, we, developers, somehow lose our sight of the goal we want to achieve and sadly embrace the hype. In an effort to bring the hype into the game, we can create a very big technical depth from day one. In this post, I’d like to share some of the examples of the hype I have seen so far.

What Kind of Sorcery Is This?

Developers write obscure code because of the hype about fewer lines of code. The fewer lines of code we write, the smarter/knowledgeable we are.

The true sorcery, sigh…

On the contrary, the hard part is rather making it clear enough. If we can’t understand the code after some time, it’s almost a crime scene. For every little change, we need to investigate the same crime again and again.

Dare to Enter My Abstract Factory

The developers sometimes apply abstraction too eagerly. Perhaps they want to create the most generic program ever or they want to apply a cool pattern. Suddenly, they can end up in a magical world where they lose their sense of reality and what the problem was. The abstraction isn’t free and applying the right level of abstraction might be hard. In the end, you might become architecture astronauts.

NoSQL Rocks

Have you ever used a NoSQL database with relational mindset? Back in the days, I saw this being applied. Multiple documents that represent the domain similar to relational databases. Nonetheless, we didn’t have foreign keys, joins, and transactional guarantees. Yet, somehow it was the “right” choice. What’s more, it was web scale!

Scalable Database

Who wants their databases to scale indefinitely? So, why not use a scalable solution like Cassandra from day one? Many developers used it. Well, if you are inserting less than a million rows a day, does it still make sense to use a solution like it? What about provisioning, deploying and maintaining such a complex system?

Microservices First

Some big company saved their organization by adopting microservices. It’s proven to work for them. So, what can be wrong with microservices? Maybe there’s nothing wrong except the fact that your development team is 3 people. Or, you never had anything that provides some value.

Contemporary Queue

If you have a line of things to be handled like some sort of tasks, you can use a queuing system. Developers have wanted to use a Redis for queuing because of the hype. They have used it. At the time, it lacked library support and wasn’t resilient enough. There was an option of using existing battle-proof technology yet it didn’t happen. Hence, the developers got lost in the dark with no light and getting support duties constantly.

frAGILE

Agile frameworks won’t fix your organizational problems. Moreover, inventing buzzwords like “organic agility” for your organization won’t provide anything, either. Most of the organizations fail to take into account the very core of the Agile Manifesto. Soon, the organization ends up in a people depth: roles, methods, and inconsistency. After all is said and done, the time and money get invested in the wrong place without thinking about the return on investment.

Java Sucks

Yes, it does. And, your team decided to choose a brand new programming language that doesn’t suck. Over time, things can go south and you might realize the fancy new language wasn’t that good after all. It lacked framework support, IDE integration support, and so forth. All in all, it started to make your life miserable. This isn’t really about Java but a more general case for the programming languages. Every language has its advantages or disadvantages. Some of them are great at getting something done fast and some of them are low-level and so on. One should be careful about getting excited about new languages.

Frontendlessness

The frontend development is the mother of hypes in software development. There are hypes about tooling, language, frameworks and almost everything. Everything changes so fast and people too often gets enthusiastic about new stuff. Hence, I’m not able to list anything here as it might get obsolete soon. The hypes in front-end development make developers feel old. The sad thing is we can’t even avoid hypes in front-end development.

Nobody cares about these hypes. The only thing that matters is to make one’s life easier through writing software. On the other hand, you might even make someone’s life harder because of the hypes. So, do be careful.

Original Link

How to Overcome IT Employee Retention Challenge With No Harm To Your Organization

The IT sphere faces the most significant staff turnover among all industries surveyed, says a recent report by Payscale. But why is it happening? How can the tech industry overcome the challenge? What’s the reason behind the low IT employee retention rate?

The IT labor market has transformed a lot during last few years. With every new IT startup showing up in the tech arena, the competition grows, forcing both small companies and big enterprises fight for talent. It takes lots of resources and effort to recruit ideal candidates to cover hot positions. But the real challenge starts when you finally hire the perfect candidate for the job — keeping them loyal and willing to work for your company. If you fail to make the best offer, be ready to run over the endless recruiting loop.

Today, IT professionals seek the most favorable conditions, making tenures increasingly shorter than a decade ago. They strive to improve, learn more, acquire new skills and unpack exceptional opportunities. “Stay” or “Quit” drivers go far beyond a usual compensation package and encourage companies to use non-standard approaches to keep employees loyal. In this article, we’ll highlight the most valuable insights for making your dream-teams never fall apart.

The Right Strategy

IT Employee Retention: The Right StrategyThe key to keeping your staff satisfaction level high lies in your IT employee retention strategy. Having a Human Resources office or specialist is a giant step towards a healthy corporate atmosphere and friendly relationships inside the company.

As an IT business owner or manager, your company’s most important assets are the employees. By making the effort to understand your employees’ motivation and make them feel appreciated, you are also making them feel secure. An effective retention strategy should include such basic components as easy communication in teams and with managers, social benefits, work-life balance, self-development and continuous learning. Keep in mind, however, that each employee may have a different motivation, so try to cover as many company perks as possible.

Don’t be afraid to invest big, as you’ll get much more in return — CarMax is a vivid example of this statement. The company didn’t cut the expenses on workers during tough times but decided to choose an opposite strategy, boosting its employee program instead. Development plans, transparent feedback systems, extra perks and bonuses encouraged employees to achieve the highest scores, which helped the organization increase sales up to 120% in several years.

Another great employer is Google, keeping its number one position on the list of Fortune 100 Best Companies to Work for six years running. The tech giant nurtures talents and invests big in employees instead of considering them as replaceable tools.

Keep Your People Interested

Keep Your People InterestedHelp your employees reach their goals, and they will surely help you achieve yours. Usually, people move to another company because they see it as career development. Your task is to provide ambitious employees with career opportunities inside your organization. Don’t let people get stuck in their current positions and give them a chance to grow. Provide clear paths to advancement and professional growth, offer personal development plans and education and leadership programmes.

Focus on people recognition and make sure your staff knows their contributions count. Celebrate success! By prioritizing continuous growth and offering valuable bonuses for excellent performance, you hit the win-win strategy.

Consider Outstaffing

IT Employee Retention: Consider OutstaffingWhy not? If you feel that our previous variants won’t work for you, or you have no resources to spend on your employees, outstaffing might be the best option. Rather than hiring full-time employees and doing everything humanly possible to keep them loyal, some companies consider contracting dedicated teams through outstaffing.

With outstaffing, you hire a team of professionals to work on the project under your supervision. This means that you won’t have to take care of finding the right experts, their official employment, taxation, and administration — everything is done by the outstaffing software development company.

Dedicated teams may even work with your in-house specialists to cover the necessary project areas. This kind of cooperation may last until you no longer need the services of outstaffing suppliers. It might also lead to new direct hires, should you choose to extend an offer to any of your dedicated team, reducing the need to search for and recruit new people. Because it is so rewarding and cost-effective, the outstaffing model keeps gaining popularity. Such companies as TransferWise and StudyTube don’t deny contracting developers offshore to strengthen their projects. Opera, for example, cooperates with developers in more than 25 locations around the world.

Conclusion

There are several IT employee retention strategies to try out, depending on your budget. If your goals include having enough resources to become a top employer and making your company a dream place to work for, concentrate on investing more in your staff.

On the contrary, if you wish to optimize your resources, pay attention to outstaffing and dedicated teams. In case you decide to choose this option, don’t hesitate to contact us — we can provide your company with top-class specialists matching your specific needs.

Original Link

Would You Hire a Polyglot Developer?

While participating in job interviews for those applying for a Java role, we had a candidate whose skills lay mostly in Java, but whose last job had been writing C#. My initial thought was, “That is an interesting career path, but not one that is particularly relevant to our needs.”

This knee-jerk assessment was made without even meeting the candidate, and without realizing my bias, it was the most significant aspect that I attributed to them. Which was unfortunate, because by all accounts this candidate’s polyglot development background was on trend.

Polyglot development is all the rage. Companies tout language independence as a sign of their maturity and “best tool for the job” mentality. And you certainly can’t get by without at least having a working understanding of JavaScript and one backend type language. Even those working in the last bastion of monoglot, the mainframe developers writing Cobol or RPG, are starting to feel pressure to upskill into more modern languages.

But is it worth it as a developer to switch languages and ecosystems?

Let me start with a statement that frames the context for my question: job security is your ability to replace your employer, not your employer’s inability or unwillingness to replace you.

If that statement is true, and you already have the magic 5 – 8 years experience in a popular ecosystem like Java, .NET, C, PHP, etc., then is switching ecosystems for a few years a step forward or backward?

I suspect my knee-jerk reaction to the polyglot job candidate, while made in ignorance, is not uncommon. Very few companies are truly polyglot, and on paper would benefit more those with recent experience in the ecosystem the company uses.

This puts the polyglot developer in an awkward position. The bulk of their experience is in an ecosystem they haven’t worked in for some years, making them out of touch. Meanwhile, they only have a small number of years of experience in their new ecosystem, making them less attractive than their rival monoglot developers. Even if overall polyglot developers have more experience in a wider range of technologies, they can still end up on the bottom of the pile.

Or am I wrong? Would you hire a polyglot developer?

Original Link

Essential Skills to Jumpstart a Career in Cloud Computing

The rise of cloud computing is profoundly changing the skill sets needed for success in modern technology environments. As more and more companies undergo strategic digital transformations designed to leverage the power of the cloud, they need IT staffers and leaders with the expertise to extract the best business results out of their investments in public cloud, private cloud, and hybrid cloud approaches.

Critically, a successful cloud career—not to mention cloud leadership—requires more than just a great technical background. Even more than on-premise IT approaches, the cloud calls for the right mix of business skills. So the ten cloud career and leadership skills outlined here cover everything from the key technology-oriented cloud competencies to the business and leadership skill sets even more essential in the cloud.

1. Technologies and Platforms

Seasoned IT pros can definitely leverage their prior tech experience in a cloud career, but they’ll also need to add some new skills. For instance, you’ll be hard-pressed to get anywhere in the cloud without expertise in at least one of the public cloud behemoths: Amazon Web Services, Google Cloud Platform, and Microsoft Azure.

With that in mind, is it better to focus on one vendor or build multi-platform experience? The latter approach will make you more versatile on the job market, although picking one to start with isn’t a bad idea.

Containerization expertise is increasingly another must-have, especially for developers building and running applications in the cloud. Docker and Kubernetes lead the pack in the containerization field right now, but there are plenty of alternatives worth keeping an eye on.

Automation software is another technology category gaining steam in cloud-first environments, especially those that have adopted DevOps. This includes tools like Puppet, Chef, Ansible, and many others, and as their usage grows in cloud shops, so does employer demand for people who know their way around these platforms.

Don’t miss: The Best Tools for Cloud Infrastructure Automation

2. Integration and Multi-Cloud Environments

“Cloud” means different things to different people. Too often it’s used as an umbrella term for anything and everything delivered online, from Software-as-a-Service (SaaS) applications to Infrastructure-as-a-Service (IaaS) platforms and more. But this terminology confusion reflects a real trend: organizations increasingly have to manage a dynamic mix of cloud services and vendors as well as cloud types (public, private, and hybrid). Part of the task of the cloud pro, then, is to help efficiently manage multi-cloud environments.

Integration of data across applications—including data acquired from different vendors and platforms or residing in different data centers—is a big deal in the cloud. It gets even more complicated when your cloud systems need to talk to your legacy systems. Smart cloud architects and other cloud-first professionals include integration as a first step. Scrambling to address integration after the fact is like building a house and adding the wiring and plumbing after you’ve already put in the flooring and walls.

Don’t miss: Modern Software Podcast-Multi-Cloud Momentum

3. Training and Certifications

Industry and vendor certifications have long been an essential part of IT resumes. And now cloud computing has hopped on the certification bandwagon. Major vendors like Amazon and Microsoft run various training and credentialing programs, including AWS Certification, Azure Certification, and Google Cloud Certified.

On the third-party side, industry association CompTIA offers the Cloud+ certification. For more information, check out lists of the top cloud certifications from Firebrand, Tom’s IT Pro, and CIO, among others.

Aspiring cloud professionals should remember that certifications alone won’t ensure your career success. In fact, Mark Broderick, IT applications director at Eliassen Group, notes that when it comes to helping your organization develop the right cloud strategy, “traditional training and the accumulation of certifications are not always the best predictors for a successful outcome.”

That’s not to say certifications aren’t useful. But with the pace of change in cloud computing, it makes sense to treat certifications as a complementary piece of your cloud career foundation.

Don’t miss: The New Relic Certified Performance Pro Program

4. Organizational Strategies and Processes

The always-on, ever-changing nature of cloud environments and modern software in general means many “traditional” methods of doing things in IT simply don’t work that well in cloud-first shops. Siloed teams that don’t communicate and collaborate? Not going to hack it. 18-month waterfall release cycles for new applications? Ditto.

To keep up, cloud-first pros need to modernize their organizational strategies and processes. The DevOps approach is Exhibit A: DevOps increasingly goes hand in hand with the cloud, and DevOps experience is increasingly in demand at cloud-first organizations. In fact, DevOps skills are becoming crucial even to longstanding IT job titles and roles such as systems administrator, according to Dice.com. It’s not that DevOps eliminates the sysadmin role, but Dice says, “It’s a role that’s simply evolving due to servers migrating to the cloud and a transition from task-based roles to strategic contributors.”

Regardless of job title, a search for DevOps turns up more than 4,200 positions on Dice, and more than 18,500 on Indeed.com. And those numbers keep rising.

Similarly, cloud pros in the job market will likely benefit from knowledge of a variety of modern programming methodologies, from Agile and Lean experience to knowledge of related frameworks like Kanban and Scrum.

Don’t miss: New Relic Cloud Survey Reveals Key to DevOps Success

5. Management and Negotiation

In addition to the technical skills outlined above, cloud computing demands a new level of attention to a range of related business skills, from people management to communication to negotiation. The new requirements can be grouped into two buckets:

  • Internal (working with other departments)
  • External (working with vendors)

On the internal side, the massive growth of cloud computing, mobile applications, and shadow IT means that the classic lockdown approach to IT—and the us-versus-them mentality it sometimes inspired—is no longer appropriate. The new world order is all about leading rather than policing, educating and encouraging users to make smart choices.

This often requires a champion, someone who knows their stuff and can foster not just acceptance but real enthusiasm. DevOps and the related discipline of site reliability engineering (SRE), for example, often require buy-in from a corporate “rock star” to lure skeptical team members on board.

On the external side, you need to update your playbook to meet the realities of a cloud-first environment. Know the vendor landscape and stay on top of it. Among other things, it’s critical to understand cloud security concerns and how to manage them—including new paradigms for securing applications and data online.

Cloud career success also depends on a solid understanding of the financial implications of cloud computing. Total cost of ownership (TCO) and return on investment (ROI) analyses are vastly different when subscribing to a cloud service rather than purchasing on-premise hardware and software. For example, calculating the cost of a cloud migration involves a challenging mix of technical and business considerations, as New Relic’s Rob Peterson lays in out his post on How to Calculate the Cost of a Cloud Migration.

One baseline necessity: understand there’s no one-size-fits-all approach to cloud TCO/ROI, and tailor your projections to your specific business. Successful cloud pros will see the big picture and enhance their value to employers by ensuring realistic, transparent understanding of costs and other financial matters in the cloud.

To translate that understanding into favorable deals, cloud vendor management will increasingly reward advanced negotiation skills. Negotiation doesn’t always come easily to IT staffers, but it’s worth building those skills into your cloud career toolkit.

Don’t miss: How to Monitor Cloud Services and Maintain Control of Your Bill

6. Metrics and Analytics

The ability to measure, analyze, and develop insights based on a vast amount of data-in real time-about how your cloud environments perform is mission-critical for successful cloud pros. Let’s look at three areas of metrics and data you’ll need to understand in order to deliver value to your company:

  • Usage & costs: This echoes the financial skills mentioned above. If you’re not measuring actual usage and costs of cloud resources, you’re setting yourself up for unnecessary complexity and waste. Moreover, it’s hard to measure real ROI without a clear picture of usage and costs.
  • Application performance: From basics like availability to more granular software analytics, monitoring application performance is a crucial skill that comes into play before, during, and after a migration to the cloud. But it’s important to understand how monitoring performance in the cloud differs from working in on-premise and hybrid cloud environments.
  • Business-specific analytics: Cloud computing promises to help unlock the kinds of customizable, business-specific information that’s of special value for particular stakeholders. Cloud pros who can deliver custom analytics tailored to the needs of a variety of audiences in their organizations will reap the rewards. The ability to use tools like New Relic to capture the right data and quickly turn that data into meaningful insights that can help drive better, faster business decisions may be the key factor that distinguishes the cloud experts from the dabblers.

Don’t miss: What It Really Takes to Monitor Cloud Apps and Infrastructure

7. Leadership

Building a career in the cloud is a great way to prepare for the future, but it’s only the first step. Sometimes, capitalizing on the cloud requires strategic leadership on the part of IT-from the C-Suite to every level of the organization. That’s particularly true for businesses that are finally moving away from more traditional approaches to IT. Unlike cloud-first companies where it can be all cloud, all the time-traditional organizations sometimes have a tough time developing and implementing their cloud computing strategies.

That raises a critical question for IT folks looking to leverage the cloud to drive their careers: How can you become one of the leaders shepherding your organization’s move to the cloud? More specifically, how can people in ITOps, Dev, and other tech roles become cloud leaders inside companies embarking on the complex, sometimes contentious process of migrating significant workloads to the cloud?

Key steps toward cloud leadership in your organization include everything from driving the build vs. buy decision; determining whether a public, hybrid, or private cloud architecture is right for your company; and moving toward Software-as-a-Service (SaaS) options whenever possible.

As noted above, it also means dealing with financial issues more than was common in traditional IT organizations. Remember, beyond standard total cost of ownership (TCO)/return on investment (ROI) analyses, it’s critical to consider the opportunity cost. What can be saved or gained if your team no longer has to manage the headaches of the corporate email system, or your application performance management operations? Freeing developers and other roles to work on more innovative applications and business problems has real value that must be factored into the equation.

IT pros can fill a critical leadership role by becoming a go-to resource for organizational strategy and decision-making when it comes to the wide variety of cloud platforms and technologies.

Here’s a tip: when you have to deal with a more procurement-style role, it makes sense to build relationships with the procurement department. They’re professionals with years of experience doing things. Online research can also help, and system integrators, consultants, value-added resellers, and industry analysts can be invaluable partners. Still, it’s important to develop your own set of questions and criteria to guide your evaluation process, based on your specific business and industry.

Finally, successful cloud leaders need to plan for the long term. That requires a smart balance of providing business value against procurement and vendor management. For the uninitiated, cloud computing may suggest a set-it-and-forget-it mentality. Cloud pros know that’s not how it works. Properly capitalizing on cloud computing—for your career and your company—requires constant monitoring and assessment.

Don’t miss: 4 Steps to Becoming a Cloud Leader in Your Company

That’s an opportunity for a long and successful career as a cloud leader, and the first step is easy. Get over the circle-the-wagons mentality still common in many traditional IT shops and embrace the new leadership opportunities created in the cloud. Cloud computing offers a wide array of opportunities to IT folks who can leverage their existing expertise while also embracing the “new” business and technology skill sets.

Get maximum value from the cloud

With New Relic, you can migrate faster, resolve issues faster, and ensure the complete success of your cloud adoption initiative. Learn more.

Note: This post was adapted from several earlier posts on the New Relic blog, including 6 Key Skills You Need to Build a Career in the Cloud: Part 1, 6 Key Skills You Need to Build a Career in the Cloud: Part 2, and 4 Steps to Becoming a Cloud Leader in Your Company.

Original Link

How to Tackle the Learning Curve of your First Major Engineering Project

Image title

Six weeks into my first full-time engineering job I was tasked with a major project that put my programming abilities to the test. I had to switch from the language and mindset I was most familiar with, Javascript, and dive head first into Nylas’s 4-year-old Python codebase in order to build a API to sync over 800 million contacts (and rising). What ensued was a 16 week-long project that deepened my understanding of engineering fullstack systems at scale and taught me about the challenges of tackling your first major project.

Many engineers question their abilities early on. Diving into a new company with an entirely new codebase as well as a unique set of infrastructure, monitoring systems, best practices, and workflows can feel overwhelming. My goal with this blog is to offer advice to other engineers who are early on in their careers. But first, let me provide some context about the product that Nylas offer and the project I was tasked with: updating our Contacts API.

If you’re curious about the technical details of the project, check out my previous post. What you need to know for now is that the Nylas APIs allow developers to build email, calendar, and contacts functionality (and two-way sync) into their apps. From early product feedback, we found that customers were asking for new features to our contacts API. We previously had a read-only functionality for very limited contact data, and customers were asking for more functionality. In short, this was by far my biggest and most complex fullstack project to date. I was excited, albeit nervous, to tackle this project, and I learned a lot along the way.

Takeaways

Writing Good Tests Is the Best Way to Ensure You Are Writing Good Code

The importance of writing good tests is one of those lessons that resurfaces with every project I work on. Your objective as a programmer is to write good code. The best way to evaluate your code, and continue to evaluate it as other factors in the code or environment change, is to write good tests. It’s hypothetically a simple concept, but one that’s surprisingly difficult to implement, even for people who aren’t new to the industry.

On this project I learned to appreciate the power of unit tests for debugging. As the name suggests, unit tests isolate and test a specific unit of interest. Previously, when I would run into a bug that I was unsure about, I would immediately dive into trying to solve it. This was usually before I had a good understanding of what was going on and before I could replicate it. This meant that I spent more time debugging, had less confidence in my solutions, and had very little understanding of the causes.

Using unit tests to debug an issue is a different process. With unit tests in place, I start by isolating the problem and write a test that mocks out everything else before I dive into debugging. It’s essential to do this because you want to make sure that the buggy behavior isn’t influenced by other elements. Once you have the problem isolated, the test starts failing because of the bug. Now this failing test is a solid way to measure when the bug is fixed and if it will stay fixed. Once I have the test or tests in place, I can confidently dive into debugging knowing that the goal is to get the test to pass.

Although writing tests takes time that isn’t directly going towards the product, it will ultimately save time.

Use Your Mentor as a Resource

Joining a new company can be intimidating because there is so much to learn. To lessen the learning curve, Nylas pairs new hires with senior engineers. For the Contacts v2.0 project, I worked with Karim as my coding partner, mentor, and overall resource.

In the beginning of the project, we worked exclusively through pair programming with me typing and him guiding and explaining along the way. As I gained confidence and understanding, I slowly began to take over and do larger pieces on my own. For a while, I still relied on him heavily to field questions as I worked. Over time, my volume of questions decreased. Eventually, I became the project lead and the go-to resource to answer questions coming from the project manager, our customers, and my fellow engineers.

This pairing was an essential part of my growth in the first few months at Nylas. If your company doesn’t already do pair programming, I recommend suggesting it because it is incredibly beneficial, especially for new hires.

Without Karim’s mentoring throughout, my project would not have been as successful, and I would not feel as confident in my abilities going forward.

Ask Questions Even When You Don’t Know What to Ask

In the beginning of Contacts v2.0, I often didn’t speak up when I was confused because I felt that I didn’t even know what to ask. Some concepts felt so far beyond my understanding that I wasn’t able to piece together a question. I was embarrassed to ask what might be seen as basic questions, and even more worried that it might expose some fatal flaw in my ability. So instead, I would silently trudge along in my haze of confusion hoping that time would bring eventually clarity.

I quickly learned that this was not the best strategy. While it’s possible that time might bring clarity, often it doesn’t. And no matter what, clarity would have come more quickly had I just asked. Instead of my silence making me look like I understood exactly what was going on, it simply hid that I wasn’t following along. These gaps in my understanding would almost certainly have backfired later in the project at a time when it was more critical. In addition, if came out at that point that I not only didn’t understand the current concept, but had been in the dark all along, it would have reflected poorly on my entire performance.

However, simply knowing that you should ask a question doesn’t always help with knowing what to ask. My strategy for how to ask the questions when you can’t easily piece together the problem is to back up. If you are nested deep into some complex process, it can be helpful to continue to take steps back until you are at a level that you feel comfortable with. If you have some uncertainty regarding a function, follow the stack trace up until you get to a process you are familiar with. If all else fails, be very forthcoming about your confusion and ask your mentor to start with the basics.

It’s also important to keep in mind that you’re probably not the only one to have these questions. Asking questions is not a sign of weakness, but a desire to learn.

Reflection Takes Time, but Is Time Well Spent

When I first joined Nylas, I felt like every day was full of new terms, processes, techniques, tips and projects. I would ask a lot of questions and receive great answers, but I felt like a lot of the information wasn’t sticking.

To get more information to sink in and feel like I could answer questions about previous work, I started keeping a work log. It’s very simple; just a Google doc where I write things that come up throughout each workday — tips that I learn, how to use certain scripts, bugs that I run into, questions that arise, and the subsequent answers to those questions.

In a fast-paced startup environment it’s easy to always be in forward motion, finishing one project and moving to the next. Keeping this log forces me to slow down and reflect on my work. Sometimes, the process of writing things down reveals gaps in my understanding.

In a field where we are constantly needing to stay on top of new technologies, strategies that ease the learning process are important. Keeping a Nylas learning diary is one thing that helps me.

My experience with this project — from questioning my abilities as a programmer, to slowly becoming the lead engineer, to beta testing directly with customers, and updating the SDKs to ultimately launching — has given me greater confidence. I am excited for all the learning to come in the next project. Every engineer’s experience is different, but I hope that sharing what I learned in my first major engineering project will help others!

Original Link

  • 1
  • 2