Being a developer requires more than just being good at coding. Here's how one full-stack developer gets the job done.
Johnny Fekete was in high school in the city of Győr, Hungary, when he first learned computer programming. "I found it fascinating at the time, that you can write something, and then the computer will do what you tell it to do," he said. He soon realized that he was ahead of his teachers. "They learned it from the book," he explained, "but by the time the book is printed, the technology is already outdated—so it was really interesting that I already knew more than my teachers, simply because I learned from the internet."
Now, Fekete, 32, is a freelance JavaScript developer living in Barcelona and working on his own startup, Recruitio, which builds a platform offering professional tools for recruiters. After high school, he enrolled at Corvinus University in Budapest, studying business and IT. At that time, he still wasn't ready to become a programmer.
SEE: The best programming languages to learn--and the worst (TechRepublic Premium)
"I had a very bad stereotype of programmers," he said, "and I had it in my head I don't want to be one of them." (At the time, he thought a software developer "eats chips all the time in front of their computer," he said. But most developers he knows love hiking, climbing, and Crossfit—and are "really social people.") Still, business school was useful because he learned what businesses need when it comes to software.
A software engineering diploma is not necessarily required, Fekete said, especially if you're self-taught and can solve problems. "The whole industry is really open," he said. "They're most open for remote work. They care the least about university background in this field, because all they care is that you can do the thing." And since the common language of programming is English, it also means that it's easier for people with different backgrounds to get involved, he said.
"I think I'm a successful freelancer because I'm not just thinking in codes, but I'm thinking on what my customers will need, what are their requirements and how can I adapt it to a software," he explained.
After earning his degree at Corvinus, Fekete completed a master's program in business administration and information systems at Copenhagen Business School and went to work for a marketing agency.
A self-proclaimed self-starter, he decided to move to Barcelona and from there became a "proper freelancer."
Fekete works with JavaScript—one of many programming languages—which is more frontend and good for building sophisticated websites. Many languages can be applied to certain tasks, but some are better for specific use cases. Java, for instance, is a bit more "corporate" and good for developing robust systems, such as those for financial or healthcare institutions, Fekete said.
SEE: C++ programming language: How it became the foundation for everything, and what's next (free PDF) (TechRepublic)
Working as a freelancer is not all that different from his work at an office, Fekete said. Both jobs usually have a quick check-in, a five-minute "standup." And both also would have a client meeting every two weeks, for instance, to kick off the week, because "in programming normally we think in two-week cycles," he explained, "called a sprint." This is a type of project management in which a team of developers might check for bottlenecks or obstacles to completing a project.
The sprints might start with information such as image assets, or the text, or access to some of the systems, required prior to starting work on a new project, for instance. And no matter what kind of programming language used, the process is similar, he stressed.
After tasks are set up, they're entered into the project management system such as Jira. And then, it's solo work—but that's not just about coding.
"I would be lying if I said that I'm coding eight hours a day," Fekete said, "because it's impossible."
Instead, he spends a lot of time reading and learning new information. "And sometimes, the best progress happens when you're not looking at the screen but just thinking in the shower," he said.
"What's a big part of being a developer—it's really hard to make estimates because you never know that something that you think it's so easy, and it might block you for a week, while something that you thought it's difficult, and then you found a solution online that's really easy to implement."
At the end of the sprint, he would showcase his work to the team or the client.
Often, the job is about problem-solving. When a random bug shows up, it has to be addressed immediately. "It brings some excitement to your life, really, because maybe suddenly a system stops working, and there are 10,000 users waiting for you to fix it," he said. "That's also part of the life of a developer."
One particular challenge happened at a marketing firm in Denmark, where all of a sudden, all the sites hosted were not reachable online. All of the developers teamed up and had to jump in to find a solution. "They were projects for big, big clients, and we really needed to get them back online," he said. It also turned into a "nice bonding experience. because all the developers who otherwise work individually we had to leave everything and just focus on this issue together," he said.
SEE: The best programming languages to learn--and the worst (TechRepublic Premium)
"To stay a good developer, you need to constantly learn," he said. "This applies also to university education and also after that. It changes so, so quickly, so you can't allow yourself to use the same things as you did two years ago, because by that time it will be outdated."
Online tutorials and Udemy courses also are a big help. Fekete also listens to podcasts to learn more when he's looking to learn more about parts of the job beyond coding.
He also relies on Twitter, where "there is a really vibrant community of developers, and they love to teach, so you can just follow some people, and you simply won't be able to not be aware of the advancements because they keep tweeting about it and also show you the small tricks and tips." This is essential, he said, in order to "provide the latest technologies and solutions to your client."
Fekete's favorite part about the job? The freedom. He's working in a café in Hungary now, and "could be just as well in the Bahamas or wherever," he said.
"I have my laptop with me, and that's all I need."
The above-average salary doesn't hurt, either. "I work with American clients and I live in Spain, so it provides me with such a fantastic lifestyle. What not to like?"
Developer Essentials Newsletter
From the hottest programming languages to the jobs with the highest salaries, get the developer news and tips you need to know. Weekly
Sign up todayAlso see
- Microsoft is boosting its support for the Python programming ecosystem (TechRepublic)
- Coding interviews are terrible. Can we make them better? (TechRepublic)
- Listen to TechRepublic's Dynamic Developer podcast (TechRepublic)
- How to become a developer: A cheat sheet (TechRepublic)
- Microservices: A cheat sheet (free PDF) (TechRepublic)
- Hiring Kit: .Net developer (TechRepublic Premium)
- Programming languages: Developers reveal most loved, most loathed, what pays best (ZDNet)
- Programming languages and developer career resources (TechRepublic on Flipboard)