What Does Technical Debt Mean?

What makes a $2,000 development project different from a $40K one? Code quality. The $2,000 project incurs the so-called "technical debt". A messy, spaghetti-like codebase is 5x, 10x, 20x more complicated to maintain, which skyrockets the maintenance costs over time. Technical debt is a well-known phenomenon in tech. But due to the price cuts, it happens all the time. The chart below shows the result of a survey conducted by CodeAhoy among software developers. Accordingly, the majority of the respondents are swamped with projects that have technical debt. [Tweet "There is a fine balance between providing a usable piece of… Continue Reading

An In-Depth Breakdown of the Software Outsourcing Industry

If you have just stumbled upon this post organically, I’ve been running a 50+ agency for the past decade, currently consult 40+ businesses leveraging outsourcing, and offload multiple areas of work through outsourcing. As the question of outsourcing development services comes up fairly often, this guide answers the most common concerns or misconceptions business owners and executives face. Why Does Outsourcing Exist? As your company grows, it gets more tempting to handle all operations internally. But what if you need to... Build an entire call center, along with noise insulation, specific cubicles, supervisors, processes for shadowing seniors?Build a warehouse with… Continue Reading

5 Actionable Tips to Progress As a Thriving Software Engineer

It’s no rocket science - becoming a software engineer these days is akin to strapping yourself a jetpack. Up, up and away towards a limitless future. Payscale reported that an average software engineer earns about 84,000 USD yearly. And that amount is increasing since the demand for competent engineers is still growing. But taking up the course and graduating isn’t a guarantee towards success, and this holds true to any profession. One has to establish habits, create opportunities and, most importantly, work hard. Here are the 5 tips every fresh software engineer must know to thrive in the industry. 1.… Continue Reading

Techniques For Self-Taught Computer Programmers

I built my first site nearly 20 years ago and even then I was able to source quite a lot of information online. Even though most of my learning was a combination of reading IDE manuals (QBasic), downloading manuals and guides on a floppy disk from Internet cafes, and reprinting original books in multiple copies since these were extremely rare to find. Some engineers here have been coding for 40 years and faced a far more conservative ecosystem while still being able to produce code decades later. Studying programming now is a no-brainer. Between YouTube and Udemy tutorials, Coursera and FreeCodeCamp training programs, tons… Continue Reading

Career Advice Software Developers Must Consider

A friend of mine approached me as they were sitting two tables from me. He introduced me to the guy who has spent a few months reading about PHP, Java, system administration, and relevant fields, being clueless as to what’s the best career path for him. The conversation revolved around several major points that I have enumerated below. Building The Right Technical Background My first question tackles the technical background of future developers. Software engineering is not about code. It’s about solving business problems through code deployed on top of a set of servers, running on a given operating system, interacting… Continue Reading

How To Prepare For A Software Engineering Job

Getting ready for your first software engineering job can be daunting. Developers are in demand, but gaining the minimum skill set for becoming competitive usually takes 2-3 years. The first job or two as an engineer could be quite challenging to land. The two most important things you need to understand first are: Your job cannot teach you everything. Learning through pet projects and continuous reading and practice is extremely important - especially over the first 5–8 years.Programming is a craft that relies on hundreds of parallel activities - understanding computer architectures, algorithms, data structures, networks, different programming languages and paradigms, effective… Continue Reading

Investing In Your Software Engineering Professional Development

I spent 3 years teaching Java at the high school I graduated at. I was used to technical training courses for organizations that had already adopted Java, as well as paid courses with students who were really passionate about Java. The high school gig was different. Students had a dozen other disciplines to prepare for! It was their senior year as well. Some of them were already employed as junior developers and rarely attended classes. Others were aiming for a job in a different field - front-end development, Python, Ruby. Needless to say, their commitment was diverse. How Software Engineering Curriculum… Continue Reading

Strategies In Managing A Software Development Team

Prior to launching my own web development agencies over 10 years ago, I’ve jumped between the role of a senior developer and a manager multiple times – including leading and managing a software development team role. My first stunt in management was back in 2007. We were building a Java-based distributed software for a telecom group operating in multiple countries. I spent a year and a half with the company as a developer before joining the project along with our Chief Technology Officer (CTO), and a couple of other developers. The CTO and I spent several months working closely together… Continue Reading

Why Most Software Engineers Don’t Contribute to Open Source?

People contribute to open source for different reasons and with different agendas in mind. There are different philosophies and theories about open source products. Some claim that there is reciprocity if you use something for free. Others demand a regime similar to socialism and Marx’s slogan - “From each according to his ability, to each according to his needs.” That doesn’t resonate with everyone. People are somewhat selfish by nature and solving global problems isn’t always at the top of their minds. That’s the reality we live in. Some do genuinely support the philosophy and spend a significant amount of… Continue Reading