In my 6 years writing software professionally and countless others non-professionally I've come across many of the same scenarios many a time. And so I will write down what those are, just for those new devs that spend months learning about linked list and then never see one, ever. So here are the most frequent tasks that I have run across daily in both professional and personal work. They're simple processes and they aren't the funnest, but usually they are all a part of a bigger project that you may be working on.
Parsing XML has become a continuous task both for private and professional work. People need data, you need data, data is everywhere and we need it to travel. In the past, you probably would of made up your own standard, and then your client would need to know what you did in order to process the data. Lucky for us XML came around and for the most part took that pain away. I've had to create XML feeds for clients that purchased subsets of data from companies I've worked for. I've worked on websites where much of the data is stored in XML files (instead of a database, ahem). And lately, as things go more web 2.0 and ajaxy, I find myself sending more and more complex data to the front end asynchronously formatted as XML and JSON. And probably more importantly, API feeds. I've yet to see any feed implemented that didn't have an option to return a dataset in XML.
Where It Comes In Handy
- XHTML: If you're working on a website that's suppose to follow the XHTML strict standard, which should hopefully be always, then you must be familiar with it.
- Configuration Files: Many configuration files for websites and applications will be formatted in XML, and while it's convenient nowadays to just rely on intellisense to tell us what to type next, it's also nice having an idea of what we're doing in the process.
- API Feeds: Every website needs data, and that data more often than not comes in XML. At some point you'll have to implement code to read and parse the data. Sometimes a badly formatted dataset can cause a whole slew of problems for a process.
Because we won't always be so lucky as to have the data in a software readable format. Sometimes you have to dig in the old fashion way and count and substring up to an indexof. Sometimes it's just the quickest approach. I've had managers tell me they need a report an hour ago, and all they have is some unformatted excel sheet with data all over the place that may or may not make sense. My job at that point is to check out the data, make notes as to what is useful or readable and what is not and go forward from there. You might be tasked with counting how many times a certain pattern appears in a long series of strings. You could find yourself with thousands of old documents that need certain data extracted from them. Whichever task you'll be doing, rest assured knowing the best way to extract data will make it go by that much faster.
Holds all the answers. Learning the different nuances that exist between T-Sql and Sql is important. I've worked on projects where three to four different types of RDBMS's are running in the same project and setting up linked servers and the right drivers and rewriting queries to fit the right language can become difficult. And obviously using 3-4 different systems for the same task isn't the correct approach. But in the real world you're going to have decade old projects with billions of records that need to co-exist and for it to be done under a certain time frame. It happens unfortunately. More than just learning the basis Sql operations, the real beauty lies in learning how to combine those operations to get what you want and still have those queries run in reasonable times. One well placed subquery can make a query go from a 20 minute run into a 20 second one. Many times bugs on websites just turn out to be a bad datasets and can be fixed with a simple update statement.
A focus on performance should also be had. Now while most software developers won't be their own DBA's, believe me, it won't feel that way. Nobody knows how the data is suppose to work better than the person who helps create that data.
Rounded borders used to be a giant hassle back in the day. You had to create 4 different images, one for each corner and position them absolutely which meant 4 more images to download to have that subtle effect. Now you can specify images for your borders all within CSS. What a grand time to be alive.
I am by trade a C# / ASP.NET developer, and notice that nothing on this list has to do with any particular server side programming language. I couldn't of gotten the jobs that I've gotten without knowing C#/ASP.NET, but I couldn't of done those jobs without learning everything on this page.
Walter Guevara is a software engineer, startup founder and currently teaches programming for a coding bootcamp. He is currently building things that don't yet exist.