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 which I have enumerated below.
Key Points to Remember as a Software Developer
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 via the network and the like.
The programming code usually talks to a relational (or NoSQL) database and stresses on using the right data structures within the appropriate data layers through programming certain algorithms.
My new acquaintance has studied informatics at school and has spent 3 years in a technical university. He had some exposure to OS, data structures, algorithms, networks, and basic applications in different programming languages.
It’s a good start for a junior engineer.
Career Goals and Hustle
The second important part explored the long-term career goals and the motivation of the new engineer.
He seems to be a hustler, having worked multiple jobs at a time – including some that required ongoing attention to detail, a lot of coordination and making decisions quickly.
That said, he had no practical exposure to any area and was clueless as to what would be the best path forward.
The good news is that PHP, Java, system administration can play together and may be approached in different ways.
PHP is generally easier to start with. Knowing the local market fairly well, I know of plenty of marketing and creative agencies looking for some basic PHP understanding for starters. It’s a possible starting point (although not recommended for people who want to progress quickly).
Using frameworks like Laravel would simplify some bits and teach some design patterns and best practices. WordPress is also an interesting way to start – if you focus on building plugins or multisite network, starting SaaS applications or building freemium/premium plugins.
Java runs everywhere” and is a good way to get into mobile development or desktop applications (I’ll cover that later). Embedded is a great option as well