May 31

A career as a developer in any sector is pretty challenging. The profession can appear even more daunting when you are a junior developer. The lack of formal training about real-world software development scenarios during college days leaves the developers to learn on their own. Hence, they make many novice mistakes that stick for a long time. Without proper guidance, the initial habits can slow down the junior developer’s career progression.

Everyone makes several of these beginner’s mistakes during the initial phases of their career. If you are passionate about making it big in your development sector, here is a list of the top ten common mistakes you need to be aware of as a junior developer.

Focusing on Code Instead of the Big Picture

It’s easy to get bogged down in the details when you’re starting out. But it’s important to remember that code is only a small part of the development process. Focusing on the big picture will help you understand the overall goal of your project and help you make better decisions. To come up with good solutions, you need to spend time thinking. You have to remember that the author of React did not come up with the idea for the framework in a day. You have to focus on your target and follow up on whatever you need to get to that target.

Not Knowing Their Self Worth

When developers are fresh out of their institutions or when they are out in the market looking for a job, they most likely have no idea about their worth. Depending on individuals, they either overestimate their capability or underestimate it. In either case, not knowing is not helpful to get the right start to their career.

Developers who overestimate their capabilities tend to have high expectations from their first job. They feel they are doing the company a favor. This mindset reflects in the interviews and, later, in their work.

Again, developers who underestimate their abilities tend to take the very first offer they get. They do not try to find out if they are paid as per the market standard. They also prefer not to ask what kind of work they will be offered or whether the work culture is flexible and a good fit for them.

It is not always easy to negotiate during your first job search. Circumstances can compel you to start earning as early as possible. If that is the case, surely you can latch on to the first software job you get. Once you start making money, you can further your career in your own time and money. You can also find out if a position is suitable for you by doing a bit of research on the internet. Learn about the company culture from the reviews provided by employees on various sites.

Not Reading Documentation

Junior developers rarely read documentation, or they only read it superficially. They often skip it and start working on a subject or solving their problem. But the fact is that documentation is an important source of information. And you need to read it in-depth if you want to be a successful developer.

Documentation can help you learn the syntax and usage of a language or library, as well as how to use a tool or library properly. It can also help you understand the API for a particular software system. So, be sure to read the documentation.

Not Asking Questions

A common mistake junior developers often make is they do not ask questions proactively. Some developers are shy in asking questions. Others might be hesitant because they think their query might be a silly on.

Whichever might be the reason, they need to overcome the hurdle to be successful in their career. They should ask questions every time they do not understand. People will be more than happy to explain when they are on the topic.

Sometimes, the question will not have a straightforward answer. People might give their opinion based on their knowledge. If you are not satisfied, you can ask someone else to confirm your understanding. The idea is to clear out any doubt as quickly and as confidently as possible.

Lacking of Practice

Junior developers often underestimate the importance of practice. It’s not enough to just learn the theory — you also need to practice what you have learned.

Practice makes a man perfect, and the more you practice, the better you will become at your work. Try to find opportunities to practice your skills, whether it’s through tutorials, exercises, or projects. No one is born as a great developer. They become one by working hard and practicing‌.

They should practice according to their field of work. If you are a software developer, work hard on your problem-solving skills, programming languages, and accuracy and attention to details. These sometimes may seem very easy for you, but if you want to develop these skills, then you have to practice them. Everything takes practice!

Conclusion

This list summarizes experiences shared by other developers over the year and my experience as well. As a unique individual, your experiences might vary from others. If you remain vigilant and stay away from these mistakes, you can achieve a great start as a developer. Hence, understand the mistakes and take action based on your situation. I am sure, armed with the above knowledge and perseverance, you can achieve the professional and personal goals you set for yourself.

Tags:

May 30

Python is a very popular programming language today and often does not need an introduction. It is widely used in various business sectors, such as programming, web development, machine learning, and data science. Given its widespread use, it’s not surprising that Python has surpassed Java as the top programming language. In this article, you will discover the top ten reasons why you should learn Python.

What is the Python?

Python is a high-level, object-oriented programming language with built-in data structures and dynamic semantics. It supports multiple programming paradigms, such as structures, object-oriented, and functional programming, which was created by Guido van Rossum. It is an interpreted, general-purpose programming language. Its design philosophy emphasizes code readability with the use of significant indentation. Python is dynamically typed and garbage-collected. It supports different modules and packages, which allows program modularity and code reuse.

Python was initially started as a successor for the ABC programming language. According to the early Python documentation (1991), the goal of Python was to offer a better programming language for scripting by filling the gap between C and traditional Shell scripting languages. The issue is that you can’t access C-based operating system APIs natively in Bash. On the other hand, writing Shell scripts in C is indeed more time-consuming than Bash. Python became one of the most popular languages because of the simple syntax, full-featured standard library, rich open-source library ecosystem, and advanced frameworks. New features like type hints and impressive open-source libraries/frameworks make Python suitable for enterprise apps.

Better Practical Alternative

A lot of tech companies do a series of interviews to find top engineering candidates. These interviews usually include technical, HR, and management, etc. In technical interviews, interviewers often ask candidates to write pseudocodes for various algorithmic challenges. Pseudocodes are good, but they come with a small problem. Pseudocodes typically don’t have a standard syntax, so candidates often tend to borrow some syntax from their favorite languages. As a result, candidates write various pseudocodes for one technical problem.

What if we have a standard pseudocode syntax? How about pseudocode syntax, which actually works as a programming language? Writing the Python code is undoubtedly more productive than writing traditional pseudocodes. Almost all on-site development interviews typically test candidates’ analytical skills — not how many fancy syntaxes they know in a specific programming language, so using Python in technical interviews saves everyone’s time.

Usability & Flexibility

Programmers initially used Python on personal computers for various general-purpose scripting requirements like automation. Later, programmers started writing GUI apps and web apps with Python. Now, Python programmers can use the Kivy. Again, not only is Python easy to learn but also, it’s flexible. Over 125,000 third-party Python libraries exist that enable you to use Python for machine learning, web processing, and even biology. Also, its data-focused libraries like pandas, NumPy, and matplotlib make it very capable of processing, manipulating, and visualizing data — which is why it’s favored in data analysis. It’s so accommodating, it’s often called the “Swiss Army Knife” of computer languages.

Career & Earning Potential

Going hand-in-hand with lightning-speed growth, Python programming is in high demand for jobs. Based on the number of job postings on one of the largest job search platforms, LinkedIn.com, Python ranks #2 in the most in-demand programming languages of 2020.

As Python is the second-highest paid computer language, you can expect an average salary of USD 110,026 per year. Nothing to cry about! If you can land a job with Selby Jennings, you’ll earn the most. The average salary there is USD 245,862. Amazing!

Python Security

The Python Software Foundation and the Python developer community take security vulnerabilities ‌seriously. A Python Security Response Team has been formed that does triage on all reported vulnerabilities and recommends appropriate countermeasures. To reach the response team, send an email to security at python dot org. Only the response team members will see your email, and it will be treated confidentially.

The PSRT mailing list is tightly controlled, so you can have confidence that your security issue will only be read by a highly trusted cabal of Python developers. If for some reason you wish to further encrypt your message to this mailing list (for example, if your mail system does not use TLS), you can use our shared OpenPGP key, which is also available on the public key servers.

Incredibly supportive community

While programming is often misinterpreted as a solo-sport, one of the greatest tools a programmer will ever have is the support of their community. Thanks to online forums, local meet-ups, and the open source community, programmers continue to learn from and build on the success of their predecessors. GitHub is where developers store project code and collaborate with other developers. With over 1.5M repositories on GitHub and over 90,000 users committing or creating issues in these repositories, Python has the second largest GitHub community.

In addition to online communities, Python User Groups are places where developers can meet others working with Python to share resources and solutions and cheesy Python jokes.

Conclusion

Now that you know the reasons to learn Python Programming, and how it can give you a career boost, the next step is simple. You just have to learn the code and start utilizing it. Python has become the language of choice for AI researchers, who have produced numerous packages for it. Reusing, recycling and improving other programmers’ code is fundamental to being a successful programmer, which is why Python’s robust programming communities help make it a solid programming language to learn.

Tags: , ,

Apr 30

Two years after Epic Games revealed Unreal Engine 5 with a gorgeous tech demo, the next-gen game engine is officially available, Epic Games announced on Tuesday. The latest edition of the benchmark game development engine touts a new “fully dynamic global illumination” tool, plus a geometry system that allows creators to build games with “massive amounts of geometric detail.” After being available in Early Access since May 2021 and Preview since February 2022, Epic Games has now released Unreal Engine 5 which will no doubt go on to power some of the biggest upcoming releases.

Epic announced Unreal Engine 5’s launch with a Twitch and YouTube live stream showing high-performance visuals and real-time rendering. Unreal Engine 5 will also use a new World Partition system that, Epic says, “changes how levels are managed and streamed,” by dividing up the game world into a grid and streaming only its necessary cells.

Unreal Engine 5 is Epic’s latest in the line of game engines available to game developers big and small. While the release of a new game engine isn’t typically news that excites folks until video games start getting made with them, Epic first revealed Unreal Engine 5 with a blockbuster tech demo Called Lumen in the Land of Nanite, the tech demo was made to specifically demonstrate two of the marquis features of Unreal Engine 5. Lumen is a dynamic illumination tool where the light adapts to the world naturally and easily.

“With this release, we aim to empower both large and small teams to really push the boundaries of what’s possible, visually and interactively. UE5 will enable you to realize next-generation real-time 3D content and experiences with greater freedom, fidelity, and flexibility than ever before.” — Epic Games.

Epic also said that developers would be able to continue using “workflows supported in UE 4.27” but get access to the redesigned Unreal Editor, better performance, improved path tracing, and the list goes on.

A “preview” version of Unreal Engine 5 has been available for a while now, but on Tuesday it officially took Unreal Engine 4’s place as the current Unreal version: Unreal Engine 5 is out now. We can expect new Unreal-based games to use the latest engine, as well as many in-progress games, such as Stalker 2, the next Tomb Raider (also announced that day), and games from developers such as Remedy, Obsidian, and Ninja Theory. The video embedded above is a new UE5 tech demo compilation from Gears of War studio The Coalition.

Two new starter samples have also been made for developers: Lyra Starter Game, City Sample

Lyra Starter Game

Lyra Starter Game is a sample gameplay project built alongside Unreal Engine 5 development to serve as an excellent starting point for creating new games, as well as a hands-on learning resource. We plan to continue to upgrade this living project with future releases to demonstrate our latest best practices.

City Sample

The City Sample is a free downloadable sample project that reveals how the city scene from The Matrix Awakens: An Unreal Engine 5 Experience was built. The project—which consists of a complete city with buildings, vehicles, and crowds of MetaHuman characters—demonstrates how we used new and improved systems in Unreal Engine 5 to create the experience.

You will also find plenty of Linux and Vulkan improvements for Unreal Engine 5 including: Nanite and Lumen (with software ray tracing only) on Linux, the Unreal Build Tool was also upgraded to support Clang’s sanitizers for Linux (and Android), Vulkan and Linux support was also added to their “GameplayMediaEncoder”, compliant 64-bit image atomics in Vulkan that fixes all validation issues with 64-bit atomics and allows the use of RADV driver (AMD + Linux) for Nanite and Lumen, multiple crashes were solved for Linux. There are some features specific to open-world games, too, which may be useful for CD Projekt Red’s new Witcher game; the studio announced last month that it’s switching to Unreal Engine 5. One of those features is World Partition, which handles the on-the-fly loading and unloading of open worlds as players move through them. Adoption of UE5 will mean different things for different studios, but the big themes are workflow streamlining and high-fidelity geometry and lighting. The 2020 Unreal Engine 5 reveals video leads with its new “micro polygon geometry system,” Nanite, and its “global illumination solution,” Lumen. With Nanite and Lumen, Epic says that developers can import film-quality 3D assets with “massive amounts of geometric detail” and set up dynamic lights without worrying about certain complex technical steps, especially those to do with optimization. The engine handles the ‘making it run on our PCs’ part, or at least more of it.

UE5 also includes new modeling and animation tools, “a fundamentally new way of making audio,” and other features meant to simplify the work of game development and keep as much of it as possible in the Unreal Engine development environment. In fact, using Epic’s Quixel Megascans (super detailed environment models) and MetaHumans (realistic, customizable human models), which are free to use in Unreal Engine projects, you can make a playable game without ever minimizing the UE5 dev kit.

Another interesting fact about Unreal Engine 5 is, like the previous version, Unreal Engine 5 is free to download and use; Epic doesn’t collect royalties on indie games until they’ve earned over $1 million in revenue. It is now available on the Epic Games launcher. If you already had the UE5 preview version installed, it’s about a 5 GB update.

Tags: ,

Oct 04

Great empires often fall from within. 

The death knell for Visual Basic is premature, but it’s true that VB has deviated from its original vision as an “Application Construction Kit” for the masses and has lost significant market share as a result.  

Tim Anderson summed it up best:

It sounds like perfection.  Microsoft had perhaps the largest number of developers in the world hooked on a language which in turn was hooked to Windows.  Yet Microsoft took this asset of incalculable value and apparently tossed it aside.  Back in 2002, Microsoft announced that the language was to be replaced by something new, different and incompatible.  That caused rumblings that continue today.  Developers expressed emotions ranging from frustration to anger.  They felt betrayed.

Continue reading »

Tags: , , , , , , , , , , , , , , ,

Aug 02

Update: We have launched a new website and forums dedicated to people with cubital tunnel syndrome: www.cubital-tunnel.com

No programmers were harmed during development of this article.

(Not true… my cubital hurts like mad today!)

A programming career is supposed to offer advantages such as longevity and limited physical risk. Unlike an athlete or blue-collar worker whose livelihood depends on physical ability and can be cut short by injury or aging, most programmers should expect to work right up until retirement, as long as they can raise donut to mouth. But a nasty secret in the software industry is how repetitive stress injuries including carpal tunnel and cubital tunnel syndrome can make programming a literal pain and threaten your career.

Continue reading »

Tags: , , , , , , , , ,

Jun 02

If you are a .NET developer, how would you feel if your original C# or VB source code was published on the Web for the world to see?  That’s exactly what happens if you release your .NET software without obfuscation.

Continue reading »

Tags: , , , , , , , , , ,

May 30

Debate over the most popular programming language can become an emotional, almost religious battle.  And sometimes there’s no debate at all, such as when a developer is assigned to repair legacy software.  “It was written in COBOL?” is a popular refrain.

A programming language is just one tool in a developer’s expansive collection of specialty software and hardware.  So does it really matter which programming language a developer uses, as long as he or she is meeting customer requirements on time and within budget?

Yes, yes it does.  Ford or Chevy.  Stihl or Husky.  Coke or Pepsi.  Let’s face it, we all get passionate about our tools.

Continue reading »

Tags: , , , , , , , , , , , , ,

May 29

The promise of end-user programming has been a fleeting one. 

First there was Hypercard for the Macintosh.  Hypercard was powerful enough to produce commercial applications but simple enough for a child to use.  Unfortunately, Hypercard proved too difficult for Apple to market properly, and besides, most developers don’t care about the Mac anyway.

Microsoft followed in 1991 with Visual Basic, which retained the simplicity of the BASIC programming language while upgrading it for use on the new graphical Windows platform.  VB was such a smash success with both novice and professional programmers that at one time, over 60% of software developers reported using Visual Basic for some of their projects.  But along the way, Visual Basic matured into a real (read: complex) object-oriented programming language, leaving behind its simple roots and unfortunately many of its fans.  As a result, VB use has plummeted 35% in just the past year.

There are also new efforts by IBM and smaller companies such as DabbleDB and Zoho to turn novices into programmers.  But none have the excitement or momentum of Microsoft’s new programming tool for the masses: Popfly.

Continue reading »

Tags: , , , , , ,

May 24

Microsoft offers a generous program to help new independent software vendors (ISVs) develop and launch their products faster and cheaper. 

The Microsoft “Empower for ISVs” program offers software, support, and additional resources designed to help ISVs reduce development costs, test their software on multiple Windows platforms, and improve time-to-market.  Empower is a one-year membership for $375, with an opportunity to renew for a second year, and it’s available only once per company.

Continue reading »

Tags: , , , , ,

May 16

Developers for the Microsoft .NET platform are blessed to have three high-quality .NET magazines available to them:  CoDe Component Developer Magazine, MSDN Magazine, and Visual Studio Magazine.

Why would a tech savvy software developer want to read a paper magazine when so much information is available online?  Well, some of us “old timers” still appreciate the fresh smell and slick feel of a high-gloss monthly.  Also, magazine articles are often produced by professional writers who explain subjects in greater clarity and detail than one may find on the Web. And there are times when a developer may not be connected, such as when riding the train, sitting in a meeting, or eating lunch. 

Continue reading »

Tags: , , , ,