Cool project. It's nice to see someone put together something awesome while so early in their education/career and have it work out for them. Shows you've got potential.
If I could give you any advice, I'd say think about going to academia. Working in the software industry is all about this kind of stress, and it really only gets worse from here. It's why we get paid lots of money to sit in a chair all day eating free snacks.
If this project has been stressful, the industry is going to chew you up and spit you out. Projects follow the same trajectory: you work on a project in a bubble for a long period of time (maybe a year or two). Then, there's a usage spike the first day, the first week. Maybe it goes up (if you're lucky), but it probably goes down. You have to fight to get usage.
And then things get harder. Bug reports. QA nitpicks about a million things you didn't notice. Product Developer's decide to change something major and you re-write 20% of your code base. Some of your junior team mates can't handle stress, so their output drops. The senior folks on the team get agitated and are suddenly unaccessible to help you with anything because they have their own shit to do.
Oh, and btw now that it's already in the field with customers bitching about it, so everything needs to be done yesterday. You think about leaving sometimes, but you can't afford to be out of a job for a month, and thinking about studying for an interview yet again while working sounds even more stressful (since you haven't really used big-O notation or graph algorithms in your last 2.5 years as a web developer).
Not every job is going to be stressful, but the really good ones will. You'll work with people smarter than you doing things a lot of people haven't done before.
I'm a little surprised at the comments asking if another grid is needed since "theres other open source projects out there like the one I use at work (insert crappy grid here)".
There really aren't a whole lot of open source grids that compete with some of the commercial solutions like extJS or kendoUI. These suck because you can't use the data grid in piecemeal fashion, you have to adopt an entire widget library.
I've yet to see one that:
- Is lightweight and standalone.
- Is easy to modify the look and feel
- Has good performance with tons of rows
- Has a super easy api
- Integrates easily with client side mvc frameworks.
I agree with what you said. I worked with .net since the 1.0 days and after years of staunch support, I got a job last year working with python/javascript on a unix stack and kissed microsoft technologies goodbye.
You're absolutely right about Microsoft being behind the curve. There's a pattern of denial when it comes to new technologies, and a total ineptitude at spotting new trends and adapting to them. I watched with envy for years as all the rails kids played with their new toys until Microsoft got its shit together and came up with an MVC solution.
The whole world is using flash? Lets come up with a knock-off 5 years too late. Interactivity is a big deal? Let's try to convince them that webforms is MVC until its too late. Who needs javascript anyways? Distrubuted software you say? Let's not jump on the REST bandwagon, lets make WSDL defined web services and make a shitty API on top! Why have an ORM solution when putting all of your business logic in SQL is SO EASY with microsoft? See, I can drag and drop a database connection from Visual Studio!
I love C# as much as the next person. It's a great language. SQL Server is a pretty good relational database. But if you choose to devote all of your energy to Microsoft development and don't learn anything else, you have nobody to blame expect for yourself when you find your skill-set behind the curve.
.Net developers would never agree about the big-data part, because to be honest they haven't invested time into understanding what data science is. There are so many IT shops developing on the Microsoft stack that make less than say 50 million a year that have tons of data (billions of records they say!). Maybe they make CRM software, or school software, or an inventory system for a small grocery store. They have tons of test scores, purchase records, waste numbers, demographic info, yet if you ask them to develop something that gives you insight into what factors influence student performance, or to visualize perchasing trends, or to predict sales numbers so that the company doesn't over purchase perishables, you'll get a blank stare. The idea that data can be transformed into useful information, and that this isn't simply a matter of CRUD hasn't occurred to them. They probably don't even replicate their db for their half ass attempt at reporting, so they wouldn't begin to understand what something like hadoop even does.
You simply CANNOT explain to a .net zealot what big data is. They just don't get it. "It's stored in the database, and its a few terabytes...how big does it need to get? We aren't Google afterall!"
If a recruiter were to read this article and do something like this to me, I would be totally pissed.
If I were to find out that a recruiter took the time to find extra references by rummaging around my social networks and calling people I didn't mention, I would feel some serious serious mistrust. This is the kind of thing that would actually make me reject an offer from a company.
If you have found that this technique actually works for you, then what you are actually discovering in reality is that you probably:
1) Have an inadequate technical interview process.
2) Have inadequate tech recruiters.
If a recruiter were to read this article and do something like this to me, I would be totally pissed.
If I were to find out that a recruiter took the time to find extra references by rummaging around my social networks and calling people I didn't mention, I would feel some serious serious mistrust. This is the kind of thing that would actually make me reject an offer from a company.
If you have found that this technique actually works for you, then what you are actually discovering in reality is that you probably:
1) Have an inadequate technical interview process.
2) Have inadequate tech recruiters.
If I could give you any advice, I'd say think about going to academia. Working in the software industry is all about this kind of stress, and it really only gets worse from here. It's why we get paid lots of money to sit in a chair all day eating free snacks.
If this project has been stressful, the industry is going to chew you up and spit you out. Projects follow the same trajectory: you work on a project in a bubble for a long period of time (maybe a year or two). Then, there's a usage spike the first day, the first week. Maybe it goes up (if you're lucky), but it probably goes down. You have to fight to get usage.
And then things get harder. Bug reports. QA nitpicks about a million things you didn't notice. Product Developer's decide to change something major and you re-write 20% of your code base. Some of your junior team mates can't handle stress, so their output drops. The senior folks on the team get agitated and are suddenly unaccessible to help you with anything because they have their own shit to do.
Oh, and btw now that it's already in the field with customers bitching about it, so everything needs to be done yesterday. You think about leaving sometimes, but you can't afford to be out of a job for a month, and thinking about studying for an interview yet again while working sounds even more stressful (since you haven't really used big-O notation or graph algorithms in your last 2.5 years as a web developer).
Not every job is going to be stressful, but the really good ones will. You'll work with people smarter than you doing things a lot of people haven't done before.