Search Results

Search found 1663 results on 67 pages for 'career'.

Page 14/67 | < Previous Page | 10 11 12 13 14 15 16 17 18 19 20 21  | Next Page >

  • Is the increase in earning potential for a software developer enough to justify the cost of pursuing a masters degree? [closed]

    - by John Connelly
    Possible Duplicate: Is a Master's worth it? I am considering possibly enrolling in distance education at Kaplan University in order to pursue my masters. On one hand, I would prefer to have more free time so that I can continue to study for certifications and play with the technologies that interest me, work on my little side projects, etc. On the other hand, I am wondering how much difference it can make for my career if I go ahead and get a masters. I have been a .NET programmer since about 2004/2005. I'm currently working in a stable position but possibly considering a move to phoenix when my company's contract runs its course. There is not enough time between now and then for me to be complete with my masters, but I'm just trying to consider whether I should start. The main thing I am trying to determine is really whether or not the increase in earning potential is going to make the cost of pursuing my masters degree a good investment. Any thoughts?

    Read the article

  • Role change from Software Testing to Business Analyst [closed]

    - by Ankit
    After working for 4 years in software testing, I have finally got a chance to switch my career to BA profile. Well it has been my dream to get a BA profile. But, as I prepare my self to switch to a new profile and a new city. I ask myself is it really worth taking the risk. I am fairly senior in testing role and make a good amount of money. But, the charm of BA profile is too good to miss. Any comments ? Any suggestions ?

    Read the article

  • Is age a factor when looking for internships? [closed]

    - by user786362
    Possible Duplicate: Is it ever too old to learn how to become a programmer? I'm 30 years old going back to school for a 2nd degree in Computer Science. I will be transferring to my local state university this fall and would like to know if my age will be a factor when applying for internships. I have already read a few threads about age and careers: Is it too late to start your career as a programmer at the age of 30? Does it matter that you started developing at 26? While it is reassuring to know that people are getting entry-level programming jobs at 30+, what about internships? Should I even bother with bigger companies like Google, Microsoft, or Apple? I know we have laws against age-discrimination but lets not pretend we live in a perfect world where everyone follows the rules.

    Read the article

  • Algorithm development in jobs

    - by dbeacham
    I have a mathematics background but also consider career in some form of software development. In particular I'm interested in finding out what sort of industries are most likely to have more algorithm development/mathematical and logical problem solving slant rather than pure application development etc. Obviously, I'm assuming that some subset of the canonical data structures and associated algorithms (trees, lists, hash tables, sets, maps with search, insert, traversals etc.) are mostly going to be present in software development. However, where am I more likely to encounter problems of more discrete maths nature (combinatorial, graph theory, sets, strings, ...) explicitly or more likely in disguise. Any pointers much appreciated (including possible open source projects that I could use for my further search for applications and also possibly contribute to).

    Read the article

  • What is a modern software engineer's resume supposed to look like? [on hold]

    - by willOEM
    My secondary education was primarily focused on the sciences (Molecular Biology and Bioinformatics), but now I work primarily as a software developer. I feel like my resume is totally inappropriate for my current career goals. Listing laboratory skills and accomplishments is not the same as listing software development skills and accomplishments. Oddly enough, I can't seem to find any resources for writing a engineer's resume online that aren't older than 5 years. GitHub and StackExchange profiles seem like as important resume items as anything, yet I don't know how to list them on a resume, or whether they are appropriate at all. So what is a modern software engineer's resume supposed to look like?

    Read the article

  • 1 year to learn as much as possile - How would you plan this time?

    - by user1189880
    I have been messing around with web development and programming in general for a couple of years now, working in web development agencies and the like. I have now decided that I want to move to more general programming and do this permanently and as a career and have set myself a goal of 1 year to learn as much as I can before I go out and find a 'proper' job as a programmer. Do any programmers out there have any opinions on how this time should be split and what the most important things to focus on will be over the year. The languages I will be focusing my learning on are: c, php, python and go - all of which i have varying degrees of familiarity with. The ultimate goal here is to gain as good as foundation as possible and to be of a good enough level to interview successfully for a decent company.

    Read the article

  • What kind of programmer job positions are there in professional game development? [on hold]

    - by skiwi
    I have been wondering the following since recently, seeing as I want to pursue a career in game development after university: What programmer job positions are there in professional game development? Think about AAA titles, etc. What programming language are the most commonly used ones in that area? I can think of some job aspects, like game engine, network, centralized server and artificial intelligence. I am just wondering what options I have later on, and in what programming languages I should invest right now. I am quite proficient with Java, and also wondering if that is of any help.

    Read the article

  • Help deciding on an area of study for a PhD [closed]

    - by ale
    I am going to start a PhD in about 1 year. My undergraduate degree is in computer science and my master's is in artificial intelligence. I want to get ideas about what's going to be hot in say 5 years i.e. what could I spend 3-4 years studying to potentially have expertise that will be applicable to industry and the computing world ? Impossible to answer factually but some ideas and thoughts would be great. I have narrowed my ideas down to AI (yes, even more AI) and information security. AI seems to becoming popular again but security is always a going to be useful. From a career point of view, if I were to stay working in software development then this might actually be the best move but I've always wanted to do a PhD! Many thanks :).

    Read the article

  • Is programming for me? It seems too rigid and unforgiving.

    - by AM
    This question is a follow-up to: Should I continue to pursue programming based on my experience? I am currently majoring in CS in college and was thinking along similar lines as the above question. I'm fine at math and logic, but I haven't yet found programming to be enjoyable. Although I like the idea of being able to build software, too much of it seems to consist of figuring out tiny details or dealing with annoying bugs. So far I've only done small school projects and the like. Does programming become more enjoyable once you have more experience? How can someone know if a career in it is for them?

    Read the article

  • How to get some experience in a new programming language? [closed]

    - by BeCool
    I have commercial experience in one programming language but I want to make a switch to another programming language (C#/.NET). I am in full-time employment so whenever I get free time I read relevant books or use online resources available. My questions are - How do I develop experience in the new language of interest (without leaving current job)? The best way I find to learn is to develop a project - How do you / Where can you find new test projects which you can refer to in the interview (these don't have to be real projects but perhaps I can take the code with me in a usb stick as proof). Do you have any tips/advice for me regarding best way to switch career? My lanugauge of choice is C# - so c# related answers will be appreciated.

    Read the article

  • Architects into videogames

    - by Ángel
    I'm an architecture student in my last year. I've always been interested in videogames design. I use 3d Max and Photoshop on a daily basis, and I was thinking about aiming for a career in videogames, starting as a level/environment designer. How should approach it? Is it worthy to spend some time learning UDK or CryEngine? Should I try a smaller but more general software? I know some programming already. Finally, will my skills as an architect be something valuable in the indusrty? Thanks in advance.

    Read the article

  • Money investments for software developers [closed]

    - by user91590
    Let's say you (or your company) have an amount of money that you would like to invest in improving your career, and probably make more money in the long run by landing a better job or raising your productivity. There are some classical investments that anyone would suggest: spend on programming books, since they pay for themselves very quickly; buy a better chair, since you will stay on that all day; attend conferences to improve your network of contacts. I'm looking for more examples to weigh my options in the quest for improvement. Google does not help as it only shows job ads for programmers in the financial sector.

    Read the article

  • Like the work, like the pay but not comfortable with environment around. Do I change company or stay patient? [closed]

    - by essbeev
    I do like the kind of work I do in our company. I also like the compensations. But lately, something in work environment makes me uncomfortable, to such an extent that, for instance, after a week off from work - even if totally exhausted by other activities; I get healthier. What move I make so that both my career and my health get along well? How do I use this situation for betterment ? Is it advisable to change the company in such a case ?

    Read the article

  • Complete fresh start to programming

    - by user187946
    I am 30 years old and I have 7 years experience in system administration, networking. Due to economic downturn it is not so easy find jobs in this sector anymore. I am thinking to leave this career and start programming. I am interested in Java, However I have no programming experience at all. In university we have seen Java which was in 2001-2002. What do you suggest? keep on track on what experience I have or make u turn start a new path. Thanks

    Read the article

  • How easy is it to change languages/frameworks professionally? [closed]

    - by user924731
    Forgive me for asking a career related question - I know that they can be frowned upon here, but I think that this one is general enough to be useful to many people. My question is: How easy/difficult is it to get a job using language/frameowork B, when your current job uses language/framework A? e.g. If you use C#/ASP.NET in your current job, how difficult would it be to get a job using python/django, or PHP/Zend, or whatever (the specifics of the example don't matter). Relatedly, if you work in client side scripting, but perhaps work on server-side projects in your own time, how difficult would it be to switch to server-side professionally? So, to sum up, does the choice of which languages/frameworks use at work tend to box you in professionally?

    Read the article

  • What IT tasks have you found in your career to be just painful

    - by Chopper3
    We always try to be clever and script everything that we find repetitive but not everything can be automated - what have you found in your career to be just a massive pain? I'll give you mine - building Netware version 2.xx on 5.25" disks with multiple NICs - this often took HOURS of swapping disks, pacing around, swapping disks, more pacing etc. Then finally it would hopefully work - if you'd not set the IRQs/DMAs right you had to start again, wow I loved version 3 which didn't need all that. What about you?

    Read the article

  • The Data Scientist

    - by BuckWoody
    A new term - well, perhaps not that new - has come up and I’m actually very excited about it. The term is Data Scientist, and since it’s new, it’s fairly undefined. I’ll explain what I think it means, and why I’m excited about it. In general, I’ve found the term deals at its most basic with analyzing data. Of course, we all do that, and the term itself in that definition is redundant. There is no science that I know of that does not work with analyzing lots of data. But the term seems to refer to more than the common practices of looking at data visually, putting it in a spreadsheet or report, or even using simple coding to examine data sets. The term Data Scientist (as far as I can make out this early in it’s use) is someone who has a strong understanding of data sources, relevance (statistical and otherwise) and processing methods as well as front-end displays of large sets of complicated data. Some - but not all - Business Intelligence professionals have these skills. In other cases, senior developers, database architects or others fill these needs, but in my experience, many lack the strong mathematical skills needed to make these choices properly. I’ve divided the knowledge base for someone that would wear this title into three large segments. It remains to be seen if a given Data Scientist would be responsible for knowing all these areas or would specialize. There are pretty high requirements on the math side, specifically in graduate-degree level statistics, but in my experience a company will only have a few of these folks, so they are expected to know quite a bit in each of these areas. Persistence The first area is finding, cleaning and storing the data. In some cases, no cleaning is done prior to storage - it’s just identified and the cleansing is done in a later step. This area is where the professional would be able to tell if a particular data set should be stored in a Relational Database Management System (RDBMS), across a set of key/value pair storage (NoSQL) or in a file system like HDFS (part of the Hadoop landscape) or other methods. Or do you examine the stream of data without storing it in another system at all? This is an important decision - it’s a foundation choice that deals not only with a lot of expense of purchasing systems or even using Cloud Computing (PaaS, SaaS or IaaS) to source it, but also the skillsets and other resources needed to care and feed the system for a long time. The Data Scientist sets something into motion that will probably outlast his or her career at a company or organization. Often these choices are made by senior developers, database administrators or architects in a company. But sometimes each of these has a certain bias towards making a decision one way or another. The Data Scientist would examine these choices in light of the data itself, starting perhaps even before the business requirements are created. The business may not even be aware of all the strategic and tactical data sources that they have access to. Processing Once the decision is made to store the data, the next set of decisions are based around how to process the data. An RDBMS scales well to a certain level, and provides a high degree of ACID compliance as well as offering a well-known set-based language to work with this data. In other cases, scale should be spread among multiple nodes (as in the case of Hadoop landscapes or NoSQL offerings) or even across a Cloud provider like Windows Azure Table Storage. In fact, in many cases - most of the ones I’m dealing with lately - the data should be split among multiple types of processing environments. This is a newer idea. Many data professionals simply pick a methodology (RDBMS with Star Schemas, NoSQL, etc.) and put all data there, regardless of its shape, processing needs and so on. A Data Scientist is familiar not only with the various processing methods, but how they work, so that they can choose the right one for a given need. This is a huge time commitment, hence the need for a dedicated title like this one. Presentation This is where the need for a Data Scientist is most often already being filled, sometimes with more or less success. The latest Business Intelligence systems are quite good at allowing you to create amazing graphics - but it’s the data behind the graphics that are the most important component of truly effective displays. This is where the mathematics requirement of the Data Scientist title is the most unforgiving. In fact, someone without a good foundation in statistics is not a good candidate for creating reports. Even a basic level of statistics can be dangerous. Anyone who works in analyzing data will tell you that there are multiple errors possible when data just seems right - and basic statistics bears out that you’re on the right track - that are only solvable when you understanding why the statistical formula works the way it does. And there are lots of ways of presenting data. Sometimes all you need is a “yes” or “no” answer that can only come after heavy analysis work. In that case, a simple e-mail might be all the reporting you need. In others, complex relationships and multiple components require a deep understanding of the various graphical methods of presenting data. Knowing which kind of chart, color, graphic or shape conveys a particular datum best is essential knowledge for the Data Scientist. Why I’m excited I love this area of study. I like math, stats, and computing technologies, but it goes beyond that. I love what data can do - how it can help an organization. I’ve been fortunate enough in my professional career these past two decades to work with lots of folks who perform this role at companies from aerospace to medical firms, from manufacturing to retail. Interestingly, the size of the company really isn’t germane here. I worked with one very small bio-tech (cryogenics) company that worked deeply with analysis of complex interrelated data. So  watch this space. No, I’m not leaving Azure or distributed computing or Microsoft. In fact, I think I’m perfectly situated to investigate this role further. We have a huge set of tools, from RDBMS to Hadoop to allow me to explore. And I’m happy to share what I learn along the way.

    Read the article

  • Book Review - Programming Windows Azure by Siriram Krishnan

    - by BuckWoody
    As part of my professional development, I’ve created a list of books to read throughout the year, starting in June of 2011. This a review of the first one, called Programming Windows Azure by Siriram Krishnan. You can find my entire list of books I’m reading for my career here: http://blogs.msdn.com/b/buckwoody/archive/2011/06/07/head-in-the-clouds-eyes-on-the-books.aspx  Why I Chose This Book: As part of my learning style, I try to read multiple books about a single subject. I’ve found that at least 3 books are necessary to get the right amount of information to me. This is a “technical” work, meaning that it deals with technology and not business, writing or other facets of my career. I’ll have a mix of all of those as I read along. I chose this work in addition to others I’ve read since it covers everything from an introduction to more advanced topics in a single book. It also has some practical examples of actually working with the product, particularly on storage. Although it’s dated, many examples normally translate. I also saw that it had pretty good reviews. What I learned: I learned a great deal about storage, and many useful code snippets. I do think that there could have been more of a focus on the application fabric - but of course that wasn’t as mature a feature when this book was written. I learned some great architecture examples, and in one section I learned more about encryption. In that example, however, I would rather have seen the examples go the other way - the book focused on moving data from on-premise to Azure storage in an encrypted fashion. Using the Application Fabric I would rather see sensitive data left in a hybrid fashion on premise, and connect to for the Azure application. Even so, the examples were very useful. If you’re looking for a good “starter” Azure book, this is a good choice. I also recommend the last chapter as a quick read for a DBA, or Database Administrator. It’s not very long, but useful. Note that the limits described are incorrect - which is one of the dangers of reading a book about any cloud offering. The services offered are updated so quickly that the information is in constant danger of being “stale”. Even so, I found this a useful book, which I believe will help me work with Azure better. Raw Notes: I take notes as I read, calling that process “reading with a pencil”. I find that when I do that I pay attention better, and record some things that I need to know later. I’ll take these notes, categorize them into a OneNote notebook that I synchronize in my Live.com account, and that way I can search them from anywhere. I can even read them on the web, since the Live.com has a OneNote program built in. Note that these are the raw notes, so they might not make a lot of sense out of context - I include them here so you can watch my though process. Programming Windows Azure by Siriram Krishnan: Learning about how to select applications suitable for Distributed Technology. Application Fabric gets the least attention; probably because it was newer at the time. Very clear (Chapter One) Good foundation Background and history, but not too much I normally arrange my descriptions differently, starting with the use-cases and moving to physicality, but this difference helps me. Interesting that I am reading this using Safari Books Online, which uses many of these concepts. Taught me some new aspects of a Hypervisor – very low-level information about the Azure Fabric (not to be confused with the Application Fabric feature) (Chapter Two) Good detail of what is included in the SDK. Even more is available now. CS = Cloud Service (Chapter 3) Place Storage info in the configuration file, since it can be streamed in-line with a running app. Ditto for logging, and keep separated configs for staging and testing. Easy-switch in and switch out.  (Chapter 4) There are two Runtime API’s, one of external and one for internal. Realizing how powerful this paradigm really is. Some places seem light, and to drop off but perhaps that’s best. Managing API is not charged, which is nice. I don’t often think about the price, until it comes to an actual deployment (Chapter 5) Csmanage is something I want to dig into deeper. API requires package moves to Blob storage first, so it needs a URL. Csmanage equivalent can be written in Unix scripting using openssl. Upgrades are possible, and you use the upgradeDomainCount attribute in the Service-Definition.csdef file  Always use a low-privileged account to test on the dev fabric, since Windows Azure runs in partial trust. Full trust is available, but can be dangerous and must be well-thought out. (Chapter 6) Learned how to run full CMD commands in a web window – not that you would ever do that, but it was an interesting view into those links. This leads to a discussion on hosting other runtimes (such as Java or PHP) in Windows Azure. I got an expanded view on this process, although this is where the book shows its age a little. Books can be a problem for Cloud Computing for this reason – things just change too quickly. Windows Azure storage is not eventually consistent – it is instantly consistent with multi-phase commit. Plumbing for this is internal, not required to code that. (Chapter 7) REST API makes the service interoperable, hybrid, and consistent across code architectures. Nicely done. Use affinity groups to keep data and code together. Side note: e-book readers need a common “notes” feature. There’s a decent quick description of REST in this chapter. Learned about CloudDrive code – PowerShell sample that mounts Blob storage as a local provider. Works against Dev fabric by default, can be switched to Account. Good treatment in the storage chapters on the differences between using Dev storage and Azure storage. These can be mitigated. No, blobs are not of any size or number. Not a good statement (Chapter 8) Blob storage is probably Azure’s closest play to Infrastructure as a Service (Iaas). Blob change operations must be authenticated, even when public. Chapters on storage are pretty in-depth. Queue Messages are base-64 encoded (Chapter 9) The visibility timeout ensures processing of message in a disconnected system. Order is not guaranteed for a message, so if you need that set an increasing number in the queue mechanism. While Queues are accessible via REST, they are not public and are secured by default. Interesting – the header for a queue request includes an estimated count. This can be useful to create more worker roles in a dynamic system. Each Entity (row) in the Azure Table service is atomic – all or nothing. (Chapter 10) An entity can have up to 255 Properties  Use “ID” for the class to indicate the key value, or use the [DataServiceKey] Attribute.  LINQ makes working with the Azure Table Service much easier, although Interop is certainly possible. Good description on the process of selecting the Partition and Row Key.  When checking for continuation tokens for pagination, include logic that falls out of the check in case you are at the last page.  On deleting a storage object, it is instantly unavailable, however a background process is dispatched to perform the physical deletion. So if you want to re-create a storage object with the same name, add retry logic into the code. Interesting approach to deleting an index entity without having to read it first – create a local entity with the same keys and apply it to the Azure system regardless of change-state.  Although the “Indexes” description is a little vague, it’s interesting to see a Folding and Stemming discussion a-la the Porter Stemming Algorithm. (Chapter 11)  Presents a better discussion of indexes (at least inverted indexes) later in the chapter. Great treatment for DBA’s in Chapter 11. We need to work on getting secondary indexes in Table storage. There is a limited form of transactions called “Entity Group Transactions” that, although they have conditions, makes a transactional system more possible. Concurrency also becomes an issue, but is handled well if you’re using Data Services in .NET. It watches the Etag and allows you to take action appropriately. I do not recommend using Azure as a location for secure backups. In fact, I would rather have seen the examples in (Chapter 12) go the other way, showing how data could be brought back to a local store as a DR or HA strategy. Good information on cryptography and so on even so. Chapter seems out of place, and should be combined with the Blob chapter.  (Chapter 13) on SQL Azure is dated, although the base concepts are OK.  Nice example of simple ADO.NET access to a SQL Azure (or any SQL Server Really) database.  

    Read the article

  • Moving from Test Automation to Development

    - by avgvstvs
    I'm in an interesting quandary. I've been doing test automation using QTP for about 1.5 years, and am in the slow process of switching to a developer role in my same company. I also begin my Master's in CS this fall. An old friend is trying to recruit me for a Sr. Test Automation position that could potentially pay me $23k more for the exact same thing I do now. But obviously I would defer moving to development. The new company is much more technical overall (I would be moving from financial services to industrial automation, and they have MANY more software dev roles available. I know traditionally QA type jobs carry an odd "danger" tag, but test automation is really a different beast. Does anyone have any experience moving from test automation to development? Does the QA stigma exist? The extra $$ would be nice, but not at the expense of my career. I should note that my Master's will be on Systems/parallel programming, so one thought is that I'll get automatic consideraton for development upon completing my Master's. I also work 6hrs/wk doing game development with a friend.

    Read the article

  • Is C and Python enough?

    - by gruszczy
    I am very proficient in Python (including Django), which I use for most tasks. I am also quite confident with C; I am maintaining small file system in userspace written in C. Yet when I am browsing job offers I see everywhere Java/C# and sometimes C++. I have coded profesionally in C++ for half a year in a gaming company, but I don't consider myself a pro. Also I simply despise Java and C#, which I would prefer not to touch ever. But it seems to me, that I am at very unfavorable position, when it comes to career. I am browsing careers.stackoverflow.com and I don't see and pure python or C offers. I would like to find a new job abroad in about 6 months. If I find some python offer, it means doing web development (not my favorite job). Does it mean, that I have to quickly start improving my C++ skills, if I wish to find a satisfying job? What would you suggest me? EDIT Learning new technologies is not an issue. Company I am working in is an integrator. Basically every new project requires learning new technologies, sometimes custom made. During last two years I was writing SQLs by hand, using LDAP, writing GUI in Qt, working on large scale DBMS prototype, making our internal help desk system use gsm modem or writing own report system. In previous job I had to learn from basics everything what I could about games development, because I knew nothing and chose this job only because of the challene it posed. I am all about embracing new technologies. I have used Java in the past and simply didn't like it. It's dull and boring. Doesn't let me do anything cool. I have recently seen some C# in action and seems similar. I don't like it. It's like German. I don't like speaking German.

    Read the article

  • From physics to Java programmer?

    - by inovaovao
    I'm a physics phd with little actual programming experience. I've always liked programming and played around with Basic and Pascal (also VB and Delphi) as a teen, but the largest actual project I completed was an assignement for the introductory computer science class in university where I wrote a nice little program (about 1500 lines of pascal) to display functions of 2 variables in 3D. I've had also a couple other projects of a few hundred lines range, but during my phd I didn't have (or take) the time to program more (string theory is hard guys!), beside playing around with ruby. Now I've decided that I'm more interested in programming than in physics and started to learn Java (hoping to pass the certification exam next week) and OO design. Still, I have trouble deciding on what to focus next (Java EE? Web development? algorithms and C programming?) in order to maximize my employement chances. Bear in mind that I'm aiming (mostly) at the swedish job market and that I'm 30 years old. So for the questions: Do you think that I have any chances to start and make a career in IT and programming coming from physics? What would be the best strategy to maximize my value in the field? Do you have suggestions as to where my physics background might be useful?

    Read the article

  • JEE frameworks, a road map to learn? and should I learn them?

    - by vibhor
    Background Information I have been into programming since past 1 years professionally, my day to day work includes writing BIRT reports, designing and validating forms using JEE (struts/spring, hibernate). I don't have a comp Sci 4 year degree (Electronics), so I have very Limited experience in comp Sci. Question JEE frameworks (struts1/2, spring, hibernate etc) are hot nowadays, however java world have a tendency of building A4j, B4J... mayway4J kind of stuff (and I am tired of it). AFAIK, frameworks are nothing but bunch of XML config files and hundreds of classes built to cram (by developer). And sooner then later a new framework come into picture that says I am the best among all. So My Question is - 1.What will you do to learn a framework (many frameworks) considering that it can be obsolete till you'll be master in it (Learning frameworks can take significant amount of time)? 2.Considering early into your career, will you give a damn that how well someone knows framework (knowing frame work is important but still..) and why/how should I learn a framework knowing I have to (un)learn it in order to learn other one (plenty of of 4Js....)? I am just trying to get a big picture, that, if you're in place of me, what would be your learning/cramming strategy (Road map)? I am not intended to start a holy war between A versus B, (frameworks are more or less essential).

    Read the article

  • deep expertise in one technology or not so deep understanding of many technologies

    - by district
    Hello everyone. I started to feel a little bit confused recently about my career path as software developer, about what I do, what I know and do I need it. I am 21 years now and I have 3 years of experience. I've been dealing with java/C++ projects, Servlet/JSP/JSF, desktop QT, also some mobile development (Symbian, Android) I work for a quite a small company, around 20 developers with different projects. I'm also a student. The problem is that I'm not sure if I'm taking the right road here. I'm starting to work with new technology every few months. I don't have deep understanding in any of these and I'm not sure if this is what I need. I will probably not become an expert in any of these. The other path is maybe to start working for a big company which use one set of technologies and become an expert. What's your opinion on this topic ? What is more valuable ?

    Read the article

  • Preventing possible burnout in a junior dev, or perhaps I'm not doing enough?

    - by m.edmondson
    I'm a software developer with 5 years experience over 3 companies. Within the last year a junior (brand new to the industry) has started at my current employer. I believe he is an excellent developer, who always delivers and is skilled as solving complex problems. However I'm slightly concerned that he is possibly applying himself too much for the following reasons: He begins work approximately 2 hours before most (and is expected) In his free time he has developed an application that was clearly months worth of work that is specific to our employer I and the team are completely greatful for all he is doing, and is clearly an asset to our team. However I'm worried that this is not sustainable. I can almost see that he has the same enthusiasm that I had when I began coding for work, however over the years I've realised that extra curricular work not only doesn't progress your career, but eats into your all important free time. The question I'm asking is: Should I advise him to take things a bit more slowly? Or perhaps I need to learn from him and do more for my employer out of hours?

    Read the article

  • Software development is (mostly) a trade, and what to do about it

    - by Jeff
    (This is another cross-post from my personal blog. I don’t even remember when I first started to write it, but I feel like my opinion is well enough baked to share.) I've been sitting on this for a long time, particularly as my opinion has changed dramatically over the last few years. That I've encountered more crappy code than maintainable, quality code in my career as a software developer only reinforces what I'm about to say. Software development is just a trade for most, and not a huge academic endeavor. For those of you with computer science degrees readying your pitchforks and collecting your algorithm interview questions, let me explain. This is not an assault on your way of life, and if you've been around, you know I'm right about the quality problem. You also know the HR problem is very real, or we wouldn't be paying top dollar for mediocre developers and importing people from all over the world to fill the jobs we can't fill. I'm going to try and outline what I see as some of the problems, and hopefully offer my views on how to address them. The recruiting problem I think a lot of companies are doing it wrong. Over the years, I've had two kinds of interview experiences. The first, and right, kind of experience involves talking about real life achievements, followed by some variation on white boarding in pseudo-code, drafting some basic system architecture, or even sitting down at a comprooder and pecking out some basic code to tackle a real problem. I can honestly say that I've had a job offer for every interview like this, save for one, because the task was to debug something and they didn't like me asking where to look ("everyone else in the company died in a plane crash"). The other interview experience, the wrong one, involves the classic torture test designed to make the candidate feel stupid and do things they never have, and never will do in their job. First they will question you about obscure academic material you've never seen, or don't care to remember. Then they'll ask you to white board some ridiculous algorithm involving prime numbers or some kind of string manipulation no one would ever do. In fact, if you had to do something like this, you'd Google for a solution instead of waste time on a solved problem. Some will tell you that the academic gauntlet interview is useful to see how people respond to pressure, how they engage in complex logic, etc. That might be true, unless of course you have someone who brushed up on the solutions to the silly puzzles, and they're playing you. But here's the real reason why the second experience is wrong: You're evaluating for things that aren't the job. These might have been useful tactics when you had to hire people to write machine language or C++, but in a world dominated by managed code in C#, or Java, people aren't managing memory or trying to be smarter than the compilers. They're using well known design patterns and techniques to deliver software. More to the point, these puzzle gauntlets don't evaluate things that really matter. They don't get into code design, issues of loose coupling and testability, knowledge of the basics around HTTP, or anything else that relates to building supportable and maintainable software. The first situation, involving real life problems, gives you an immediate idea of how the candidate will work out. One of my favorite experiences as an interviewee was with a guy who literally brought his work from that day and asked me how to deal with his problem. I had to demonstrate how I would design a class, make sure the unit testing coverage was solid, etc. I worked at that company for two years. So stop looking for algorithm puzzle crunchers, because a guy who can crush a Fibonacci sequence might also be a guy who writes a class with 5,000 lines of untestable code. Fashion your interview process on ways to reveal a developer who can write supportable and maintainable code. I would even go so far as to let them use the Google. If they want to cut-and-paste code, pass on them, but if they're looking for context or straight class references, hire them, because they're going to be life-long learners. The contractor problem I doubt anyone has ever worked in a place where contractors weren't used. The use of contractors seems like an obvious way to control costs. You can hire someone for just as long as you need them and then let them go. You can even give them the work that no one else wants to do. In practice, most places I've worked have retained and budgeted for the contractor year-round, meaning that the $90+ per hour they're paying (of which half goes to the person) would have been better spent on a full-time person with a $100k salary and benefits. But it's not even the cost that is an issue. It's the quality of work delivered. The accountability of a contractor is totally transient. They only need to deliver for as long as you keep them around, and chances are they'll never again touch the code. There's no incentive for them to get things right, there's little incentive to understand your system or learn anything. At the risk of making an unfair generalization, craftsmanship doesn't matter to most contractors. The education problem I don't know what they teach in college CS courses. I've believed for most of my adult life that a college degree was an essential part of being successful. Of course I would hold that bias, since I did it, and have the paper to show for it in a box somewhere in the basement. My first clue that maybe this wasn't a fully qualified opinion comes from the fact that I double-majored in journalism and radio/TV, not computer science. Eventually I worked with people who skipped college entirely, many of them at Microsoft. Then I worked with people who had a masters degree who sucked at writing code, next to the high school diploma types that rock it every day. I still think there's a lot to be said for the social development of someone who has the on-campus experience, but for software developers, college might not matter. As I mentioned before, most of us are not writing compilers, and we never will. It's actually surprising to find how many people are self-taught in the art of software development, and that should reveal some interesting truths about how we learn. The first truth is that we learn largely out of necessity. There's something that we want to achieve, so we do what I call just-in-time learning to meet those goals. We acquire knowledge when we need it. So what about the gaps in our knowledge? That's where the most valuable education occurs, via our mentors. They're the people we work next to and the people who write blogs. They are critical to our professional development. They don't need to be an encyclopedia of jargon, but they understand the craft. Even at this stage of my career, I probably can't tell you what SOLID stands for, but you can bet that I practice the principles behind that acronym every day. That comes from experience, augmented by my peers. I'm hell bent on passing that experience to others. Process issues If you're a manager type and don't do much in the way of writing code these days (shame on you for not messing around at least), then your job is to isolate your tradespeople from nonsense, while bringing your business into the realm of modern software development. That doesn't mean you slap up a white board with sticky notes and start calling yourself agile, it means getting all of your stakeholders to understand that frequent delivery of quality software is the best way to deal with change and evolving expectations. It also means that you have to play technical overlord to make sure the education and quality issues are dealt with. That's why I make the crack about sticky notes, because without the right technique being practiced among your code monkeys, you're just a guy with sticky notes. You're asking your business to accept frequent and iterative delivery, now make sure that the folks writing the code can handle the same thing. This means unit testing, the right instrumentation, integration tests, automated builds and deployments... all of the stuff that makes it easy to see when change breaks stuff. The prognosis I strongly believe that education is the most important part of what we do. I'm encouraged by things like The Starter League, and it's the kind of thing I'd love to see more of. I would go as far as to say I'd love to start something like this internally at an existing company. Most of all though, I can't emphasize enough how important it is that we mentor each other and share our knowledge. If you have people on your staff who don't want to learn, fire them. Seriously, get rid of them. A few months working with someone really good, who understands the craftsmanship required to build supportable and maintainable code, will change that person forever and increase their value immeasurably.

    Read the article

< Previous Page | 10 11 12 13 14 15 16 17 18 19 20 21  | Next Page >