Before I dig deeper in the topic, let me first dispose of the urban legends of instant success. No success is ever instant, and nothing instant ever lasts. Find a beach, build a large bonfire and use all your “Learn Java in 40 hours” books for fuel while enjoying the sunset (I do not try to inspire accidents here, please contact beach authorities before starting a fire on a beach). In case you get a permission, use this enjoyable experience to think about what you really want to do. Find the smallest step to bring you closer to your goal and be prepared to invest yourself. It shouldn’t take Colin Powell to tell you that a dream doesn’t become reality through magic; it takes sweat, determination, and hard work. But believe me when I say, the result is worth the wait.
With this out of the way, I would like to share my experience on interviewing junior and fresh-out-of-college developers at Web Factory, and where they usually falter.
…we didn’t have a chance at college to use protected on our variables, so I skipped that part…
In light of the enormous growth and demand of the industry’s need for software developers in our country (and world wide), software development is becoming more and more popular now-a-days. Combined with the society’s pressure and the fast pace of today’s world we end up with a whole generation that aims for instant success. And this is the first step to failure.
.. no, I don’t quite remember what polymorphism was, that lesson was in the first year of college so I didn’t expect you’ll ask me that. The ad was for a junior Android developer so I went through an online course to build a weather app!…
When we hold an interview for entry level developers, we ask only one thing. The basics of software development. As a company we keep track with the trending needs and technologies of the market. These needs change more rapidly than ever, the result being technology changes over the course of couple of years. We need people who know how to learn, are eager to do so, and apply what they learn in every aspect – not just follow commands.
However, as time goes by we get more and more interviewees that spend more time to learn a certain technology so they could impress the interviewer, but forget all about the basics that would give them flexibility and foundations to become better engineers. I use the word engineer here (and not developer) to bring closer the idea behind what our employees are – they are not coders, they are problem solvers. We believe that foundations are everything. We want our employees to grow and last so that’s why we build them from the ground up. With the right foundations, the sky’s the limit.
… hmm hash maps, we’ve had a few homeworks with hashmaps but I forgot all about them. I think they were for storing usernames and passwords… right?
The core knowledge of software development is mostly the same on every platform. How does a computer work, difference between cpu and memory complexity, OOP principles, data structures, algorithms, variable and function nomenclature, code architecture, design patterns… these skills apply everywhere. And it’s not just the skills, it’s the attitude and the way you do it. Having a scope of the problem and looking for the best and not the fastest solution. Having mastered these basics is more important than that “Learn Android in 10 days” online course. It’s what’s beneath that counts. With these foundations, you can transition to any language and any platform you choose and excel in it.
…How do I sort an array? Easy, I use the .sort() function. Oh the algorithm, why would I need that, every language now has a sort function. Custom search? I’m sure they have that on Stack Overflow…
Here, we will not tell you what to do. We will give you a problem to solve, the freedom to tackle it, to find alternative solutions and build around ideas. We want you to try yourself in every area and become a complete developer, not afraid to peek into areas outside your expertise. The start might be a bit slower, but the progress will be stellar, and benefits down the road bigger. With the right people at your side, everything is possible.
Despite all the negative stereotypes about the youth in this profession, I believe in your generation. I have met a lot of wonderful young people and have been astonished by how hard you can work when you believe your contribution matters. So try to refuse the temptation of overnight success. Be thorough and understand the basics before you move forward. Set aside the pressure and expectations. Aim beyond what classical education and job ads offer.
I promise you it’s not a waste of time.